break;
case DATA_SOURCE_FIXED:
msg(L_INFO, "Adding fixed objects");
+ if (!ds->file)
+ ds->file = "fixed";
fixed_add();
break;
case DATA_SOURCE_SHAPE:
die("Invalid data source format");
}
+ osm_stats();
if (debug_dump_source)
{
puts("=== Source data ===");
struct osm_object *o = mp_alloc_zero(osm_this->pool, size);
clist_add_tail(&osm_this->obj_list[type], &o->n);
+ osm_this->obj_cnt[type]++;
o->type = type;
o->id = id;
clist_init(&o->tags);
osm_relation_dump_all();
osm_multipolygon_dump_all();
}
+
+void osm_stats(void)
+{
+ msg(L_INFO, "Loaded %u nodes, %u ways, %u relations",
+ osm_this->obj_cnt[OSM_TYPE_NODE],
+ osm_this->obj_cnt[OSM_TYPE_WAY],
+ osm_this->obj_cnt[OSM_TYPE_RELATION]);
+}
struct mempool *pool;
clist obj_list[OSM_TYPE_MAX];
struct osm_id_hash_table *id_hash[OSM_TYPE_MAX];
+ uint obj_cnt[OSM_TYPE_MAX];
};
extern struct osm *osm_this;
struct osm *osm_init(void);
void osm_dump(void);
+void osm_stats(void);
osm_id_t osm_parse_id(const char *str);
struct osm_object *osm_obj_find_by_id(enum osm_object_type type, osm_id_t id);