kopia lustrzana https://github.com/openmaptiles/openmaptiles
141 wiersze
5.4 KiB
PL/PgSQL
141 wiersze
5.4 KiB
PL/PgSQL
ALTER TABLE osm_park_polygon ADD COLUMN IF NOT EXISTS geometry_point geometry;
|
|
ALTER TABLE osm_park_polygon_gen1 ADD COLUMN IF NOT EXISTS geometry_point geometry;
|
|
ALTER TABLE osm_park_polygon_gen2 ADD COLUMN IF NOT EXISTS geometry_point geometry;
|
|
ALTER TABLE osm_park_polygon_gen3 ADD COLUMN IF NOT EXISTS geometry_point geometry;
|
|
ALTER TABLE osm_park_polygon_gen4 ADD COLUMN IF NOT EXISTS geometry_point geometry;
|
|
ALTER TABLE osm_park_polygon_gen5 ADD COLUMN IF NOT EXISTS geometry_point geometry;
|
|
ALTER TABLE osm_park_polygon_gen6 ADD COLUMN IF NOT EXISTS geometry_point geometry;
|
|
ALTER TABLE osm_park_polygon_gen7 ADD COLUMN IF NOT EXISTS geometry_point geometry;
|
|
ALTER TABLE osm_park_polygon_gen8 ADD COLUMN IF NOT EXISTS geometry_point geometry;
|
|
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon;
|
|
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen1;
|
|
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen2;
|
|
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen3;
|
|
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen4;
|
|
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen5;
|
|
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen6;
|
|
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen7;
|
|
DROP TRIGGER IF EXISTS update_row ON osm_park_polygon_gen8;
|
|
|
|
-- etldoc: osm_park_polygon -> osm_park_polygon
|
|
-- etldoc: osm_park_polygon_gen1 -> osm_park_polygon_gen1
|
|
-- etldoc: osm_park_polygon_gen2 -> osm_park_polygon_gen2
|
|
-- etldoc: osm_park_polygon_gen3 -> osm_park_polygon_gen3
|
|
-- etldoc: osm_park_polygon_gen4 -> osm_park_polygon_gen4
|
|
-- etldoc: osm_park_polygon_gen5 -> osm_park_polygon_gen5
|
|
-- etldoc: osm_park_polygon_gen6 -> osm_park_polygon_gen6
|
|
-- etldoc: osm_park_polygon_gen7 -> osm_park_polygon_gen7
|
|
-- etldoc: osm_park_polygon_gen8 -> osm_park_polygon_gen8
|
|
CREATE OR REPLACE FUNCTION update_osm_park_polygon() RETURNS VOID AS $$
|
|
BEGIN
|
|
UPDATE osm_park_polygon
|
|
SET tags = update_tags(tags, geometry),
|
|
geometry_point = st_centroid(geometry);
|
|
|
|
UPDATE osm_park_polygon_gen1
|
|
SET tags = update_tags(tags, geometry),
|
|
geometry_point = st_centroid(geometry);
|
|
|
|
UPDATE osm_park_polygon_gen2
|
|
SET tags = update_tags(tags, geometry),
|
|
geometry_point = st_centroid(geometry);
|
|
|
|
UPDATE osm_park_polygon_gen3
|
|
SET tags = update_tags(tags, geometry),
|
|
geometry_point = st_centroid(geometry);
|
|
|
|
UPDATE osm_park_polygon_gen4
|
|
SET tags = update_tags(tags, geometry),
|
|
geometry_point = st_centroid(geometry);
|
|
|
|
UPDATE osm_park_polygon_gen5
|
|
SET tags = update_tags(tags, geometry),
|
|
geometry_point = st_centroid(geometry);
|
|
|
|
UPDATE osm_park_polygon_gen6
|
|
SET tags = update_tags(tags, geometry),
|
|
geometry_point = st_centroid(geometry);
|
|
|
|
UPDATE osm_park_polygon_gen7
|
|
SET tags = update_tags(tags, geometry),
|
|
geometry_point = st_centroid(geometry);
|
|
|
|
UPDATE osm_park_polygon_gen8
|
|
SET tags = update_tags(tags, geometry),
|
|
geometry_point = st_centroid(geometry);
|
|
|
|
END;
|
|
$$ LANGUAGE plpgsql;
|
|
|
|
SELECT update_osm_park_polygon();
|
|
CREATE INDEX IF NOT EXISTS osm_park_polygon_point_geom_idx ON osm_park_polygon USING gist(geometry_point);
|
|
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen1_point_geom_idx ON osm_park_polygon_gen1 USING gist(geometry_point);
|
|
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen2_point_geom_idx ON osm_park_polygon_gen2 USING gist(geometry_point);
|
|
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen3_point_geom_idx ON osm_park_polygon_gen3 USING gist(geometry_point);
|
|
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen4_point_geom_idx ON osm_park_polygon_gen4 USING gist(geometry_point);
|
|
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen5_point_geom_idx ON osm_park_polygon_gen5 USING gist(geometry_point);
|
|
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen6_point_geom_idx ON osm_park_polygon_gen6 USING gist(geometry_point);
|
|
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen7_point_geom_idx ON osm_park_polygon_gen7 USING gist(geometry_point);
|
|
CREATE INDEX IF NOT EXISTS osm_park_polygon_gen8_point_geom_idx ON osm_park_polygon_gen8 USING gist(geometry_point);
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION update_osm_park_polygon_row()
|
|
RETURNS TRIGGER
|
|
AS
|
|
$BODY$
|
|
BEGIN
|
|
NEW.tags = update_tags(NEW.tags, NEW.geometry);
|
|
NEW.geometry_point = st_centroid(NEW.geometry);
|
|
RETURN NEW;
|
|
END;
|
|
$BODY$
|
|
LANGUAGE plpgsql;
|
|
|
|
CREATE TRIGGER update_row
|
|
BEFORE INSERT OR UPDATE ON osm_park_polygon
|
|
FOR EACH ROW
|
|
EXECUTE PROCEDURE update_osm_park_polygon_row();
|
|
|
|
CREATE TRIGGER update_row
|
|
BEFORE INSERT OR UPDATE ON osm_park_polygon_gen1
|
|
FOR EACH ROW
|
|
EXECUTE PROCEDURE update_osm_park_polygon_row();
|
|
|
|
CREATE TRIGGER update_row
|
|
BEFORE INSERT OR UPDATE ON osm_park_polygon_gen2
|
|
FOR EACH ROW
|
|
EXECUTE PROCEDURE update_osm_park_polygon_row();
|
|
|
|
CREATE TRIGGER update_row
|
|
BEFORE INSERT OR UPDATE ON osm_park_polygon_gen3
|
|
FOR EACH ROW
|
|
EXECUTE PROCEDURE update_osm_park_polygon_row();
|
|
|
|
CREATE TRIGGER update_row
|
|
BEFORE INSERT OR UPDATE ON osm_park_polygon_gen4
|
|
FOR EACH ROW
|
|
EXECUTE PROCEDURE update_osm_park_polygon_row();
|
|
|
|
CREATE TRIGGER update_row
|
|
BEFORE INSERT OR UPDATE ON osm_park_polygon_gen5
|
|
FOR EACH ROW
|
|
EXECUTE PROCEDURE update_osm_park_polygon_row();
|
|
|
|
CREATE TRIGGER update_row
|
|
BEFORE INSERT OR UPDATE ON osm_park_polygon_gen6
|
|
FOR EACH ROW
|
|
EXECUTE PROCEDURE update_osm_park_polygon_row();
|
|
|
|
CREATE TRIGGER update_row
|
|
BEFORE INSERT OR UPDATE ON osm_park_polygon_gen7
|
|
FOR EACH ROW
|
|
EXECUTE PROCEDURE update_osm_park_polygon_row();
|
|
|
|
CREATE TRIGGER update_row
|
|
BEFORE INSERT OR UPDATE ON osm_park_polygon_gen8
|
|
FOR EACH ROW
|
|
EXECUTE PROCEDURE update_osm_park_polygon_row();
|
|
|
|
|
|
|