diff options
| author | user <user@node5.net> | 2024-12-28 14:30:48 +0100 |
|---|---|---|
| committer | user <user@node5.net> | 2024-12-28 14:30:48 +0100 |
| commit | 24ec8b02c15c140a710440139821bfb7521adfc2 (patch) | |
| tree | b90b1d8b0c36abe43c33535ac0c97c3e85226f59 /data_extractor/data_extractor.lua | |
| parent | c3ad40be4d162b4d2809224fc954e9dd5c33e509 (diff) | |
Data processor - Get multiple countries
Diffstat (limited to 'data_extractor/data_extractor.lua')
| -rw-r--r-- | data_extractor/data_extractor.lua | 76 |
1 files changed, 43 insertions, 33 deletions
diff --git a/data_extractor/data_extractor.lua b/data_extractor/data_extractor.lua index 5f5cc9e..a51a1f1 100644 --- a/data_extractor/data_extractor.lua +++ b/data_extractor/data_extractor.lua @@ -2,43 +2,53 @@ -- Data: https://download.geofabrik.de/europe/denmark-latest.osm.pbf local poi = osm2pgsql.define_table({ - name = 'poi', - ids = { type = 'any', type_column = 'osm_type', id_column = 'osm_id' }, - columns = { - { column = 'name' }, - { column = 'class', not_null = true }, - { column = 'subclass' }, - { column = 'brand' }, - { column = 'geom', type = 'point', not_null = true }, -}}) - -function process_poi(object, geom) - local a = { - name = object.tags.name, - geom = geom - } + name = 'poi', + ids = { type = 'any', type_column = 'osm_type', id_column = 'osm_id' }, + columns = { + { column = 'name' }, + { column = 'country' }, + { column = 'region' }, + { column = 'class', not_null = true }, + { column = 'subclass' }, + { column = 'brand' }, + { 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 - a.brand = object.tags.brand + a.class = 'shop' + a.subclass = object.tags.shop + a.brand = object.tags.brand + elseif object.tags.highway then + a.class = 'highway' + a.subclass = object.tags.highway + elseif object.tags.public_transport == "station" or object.tags.railway == "station" then + a.class = 'railway' + a.subclass = 'station' + --elseif object.tags.brand == "McDonald's" then + -- a.class = 'amenity' + -- a.subclass = "McDonald's" elseif object.tags.amenity then - a.class = 'amenity' - a.subclass = object.tags.amenity - else - return - end + a.class = 'amenity' + a.subclass = object.tags.amenity + else + return + end - poi:insert(a) -end + poi:insert(a) + end -function osm2pgsql.process_node(object) - process_poi(object, object:as_point()) -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 + function osm2pgsql.process_way(object) + if object.is_closed and object.tags.building then + process_poi(object, object:as_polygon():centroid()) + end + end |
