From fa360829bfe3f04f3e6d9af196dc9fd480864d4b Mon Sep 17 00:00:00 2001 From: user Date: Sat, 6 Apr 2024 22:23:06 +0200 Subject: initial commit - displays voronoi diagram --- data_extractor/MakeFile | 2 ++ data_extractor/data_extractor.lua | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 data_extractor/MakeFile create mode 100644 data_extractor/data_extractor.lua (limited to 'data_extractor') 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 + -- cgit v1.2.3