diff options
| author | user <user@node5.net> | 2024-04-06 22:23:06 +0200 |
|---|---|---|
| committer | user <user@node5.net> | 2024-04-06 22:23:06 +0200 |
| commit | fa360829bfe3f04f3e6d9af196dc9fd480864d4b (patch) | |
| tree | df04f3a39133d9edb0a46d591d23354849154c67 /data_extractor | |
initial commit - displays voronoi diagram
Diffstat (limited to 'data_extractor')
| -rw-r--r-- | data_extractor/MakeFile | 2 | ||||
| -rw-r--r-- | data_extractor/data_extractor.lua | 36 |
2 files changed, 38 insertions, 0 deletions
diff --git a/data_extractor/MakeFile b/data_extractor/MakeFile new file mode 100644 index 0000000..e9f64c7 --- /dev/null +++ b/data_extractor/MakeFile @@ -0,0 +1,2 @@ +process_data: + osm2pgsql -d shop -O flex -S data_extractor.lua ~/Downloads/denmark-latest.osm.pbf 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 + |
