diff options
Diffstat (limited to 'data_extractor/data_extractor.lua')
| -rw-r--r-- | data_extractor/data_extractor.lua | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/data_extractor/data_extractor.lua b/data_extractor/data_extractor.lua new file mode 100644 index 0000000..8a95e6c --- /dev/null +++ b/data_extractor/data_extractor.lua @@ -0,0 +1,36 @@ +local shop = osm2pgsql.define_table({ + name = 'shop', + ids = { type = 'any', type_column = 'osm_type', id_column = 'osm_id' }, + columns = { + { column = 'name' }, + { column = 'class', not_null = true }, + { column = 'subclass' }, + { column = 'geom', type = 'point', not_null = true }, +}}) + +function process_poi(object, geom) + local a = { + name = object.tags.name, + geom = geom + } + + if object.tags.shop then + a.class = 'shop' + a.subclass = object.tags.shop + else + return + end + + shop:insert(a) +end + +function osm2pgsql.process_node(object) + process_poi(object, object:as_point()) +end + +function osm2pgsql.process_way(object) + if object.is_closed and object.tags.building then + process_poi(object, object:as_polygon():centroid()) + end +end + |
