Files
adres-analyse/sql/create-poi-views.sql
2026-06-21 14:55:44 +02:00

58 lines
1.3 KiB
SQL

CREATE EXTENSION IF NOT EXISTS postgis;
CREATE EXTENSION IF NOT EXISTS hstore;
CREATE OR REPLACE VIEW poi_supermarkten AS
SELECT
osm_id,
COALESCE(NULLIF(name, ''), NULLIF(brand, ''), 'Supermarkt') AS name,
'supermarkt'::text AS category,
shop,
amenity,
brand,
operator,
way AS geom
FROM planet_osm_point
WHERE shop = 'supermarket'
UNION ALL
SELECT
osm_id,
COALESCE(NULLIF(name, ''), NULLIF(brand, ''), 'Supermarkt') AS name,
'supermarkt'::text AS category,
shop,
amenity,
brand,
operator,
ST_PointOnSurface(way) AS geom
FROM planet_osm_polygon
WHERE shop = 'supermarket';
CREATE OR REPLACE VIEW poi_scholen AS
SELECT
osm_id,
COALESCE(NULLIF(name, ''), 'School') AS name,
'school'::text AS category,
shop,
amenity,
brand,
operator,
way AS geom
FROM planet_osm_point
WHERE amenity = 'school'
UNION ALL
SELECT
osm_id,
COALESCE(NULLIF(name, ''), 'School') AS name,
'school'::text AS category,
shop,
amenity,
brand,
operator,
ST_PointOnSurface(way) AS geom
FROM planet_osm_polygon
WHERE amenity = 'school';
CREATE INDEX IF NOT EXISTS planet_osm_point_way_gix ON planet_osm_point USING GIST (way);
CREATE INDEX IF NOT EXISTS planet_osm_polygon_way_gix ON planet_osm_polygon USING GIST (way);
ANALYZE planet_osm_point;
ANALYZE planet_osm_polygon;