kopia lustrzana https://github.com/openmaptiles/openmaptiles
Merge branch 'master' of https://github.com/DervoDev/openmaptiles
commit
31bf3df71a
2
Makefile
2
Makefile
|
@ -596,7 +596,7 @@ psql-list-tables: init-dirs
|
||||||
.PHONY: vacuum-db
|
.PHONY: vacuum-db
|
||||||
vacuum-db: init-dirs
|
vacuum-db: init-dirs
|
||||||
@echo "Start - postgresql: VACUUM ANALYZE VERBOSE;"
|
@echo "Start - postgresql: VACUUM ANALYZE VERBOSE;"
|
||||||
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools psql.sh -v ON_ERROR_STOP=1 -P pager=off -c 'VACUUM ANALYZE VERBOSE;'
|
$(DOCKER_COMPOSE) run $(DC_OPTS) openmaptiles-tools psql.sh -v ON_ERROR_STOP=1 -P pager=off -c 'VACUUM (ANALYZE, VERBOSE);'
|
||||||
|
|
||||||
.PHONY: analyze-db
|
.PHONY: analyze-db
|
||||||
analyze-db: init-dirs
|
analyze-db: init-dirs
|
||||||
|
|
|
@ -29,8 +29,6 @@ DROP TRIGGER IF EXISTS update_row ON osm_boundary_polygon_gen_z8;
|
||||||
DROP TRIGGER IF EXISTS update_row ON osm_boundary_polygon_gen_z7;
|
DROP TRIGGER IF EXISTS update_row ON osm_boundary_polygon_gen_z7;
|
||||||
DROP TRIGGER IF EXISTS update_row ON osm_boundary_polygon_gen_z6;
|
DROP TRIGGER IF EXISTS update_row ON osm_boundary_polygon_gen_z6;
|
||||||
DROP TRIGGER IF EXISTS update_row ON osm_boundary_polygon_gen_z5;
|
DROP TRIGGER IF EXISTS update_row ON osm_boundary_polygon_gen_z5;
|
||||||
DROP TRIGGER IF EXISTS trigger_flag ON osm_boundary_polygon;
|
|
||||||
DROP TRIGGER IF EXISTS trigger_refresh ON boundary_polygon.updates;
|
|
||||||
|
|
||||||
-- etldoc: osm_boundary_polygon -> osm_boundary_polygon
|
-- etldoc: osm_boundary_polygon -> osm_boundary_polygon
|
||||||
-- etldoc: osm_boundary_polygon_gen_z13 -> osm_boundary_polygon_gen_z13
|
-- etldoc: osm_boundary_polygon_gen_z13 -> osm_boundary_polygon_gen_z13
|
||||||
|
@ -100,42 +98,6 @@ CREATE INDEX IF NOT EXISTS osm_boundary_polygon_gen_z7_point_geom_idx ON osm_bou
|
||||||
CREATE INDEX IF NOT EXISTS osm_boundary_polygon_gen_z6_point_geom_idx ON osm_boundary_polygon_gen_z6 USING gist (geometry_point);
|
CREATE INDEX IF NOT EXISTS osm_boundary_polygon_gen_z6_point_geom_idx ON osm_boundary_polygon_gen_z6 USING gist (geometry_point);
|
||||||
CREATE INDEX IF NOT EXISTS osm_boundary_polygon_gen_z5_point_geom_idx ON osm_boundary_polygon_gen_z5 USING gist (geometry_point);
|
CREATE INDEX IF NOT EXISTS osm_boundary_polygon_gen_z5_point_geom_idx ON osm_boundary_polygon_gen_z5 USING gist (geometry_point);
|
||||||
|
|
||||||
CREATE SCHEMA IF NOT EXISTS boundary_polygon;
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS boundary_polygon.updates
|
|
||||||
(
|
|
||||||
id serial PRIMARY KEY,
|
|
||||||
t text,
|
|
||||||
UNIQUE (t)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION boundary_polygon.flag() RETURNS trigger AS
|
|
||||||
$$
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO boundary_polygon.updates(t) VALUES ('y') ON CONFLICT(t) DO NOTHING;
|
|
||||||
RETURN NULL;
|
|
||||||
END;
|
|
||||||
$$ LANGUAGE plpgsql;
|
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION boundary_polygon.refresh() RETURNS trigger AS
|
|
||||||
$$
|
|
||||||
DECLARE
|
|
||||||
t TIMESTAMP WITH TIME ZONE := clock_timestamp();
|
|
||||||
BEGIN
|
|
||||||
RAISE LOG 'Refresh boundary_polygon';
|
|
||||||
|
|
||||||
-- Analyze tracking and source tables before performing update
|
|
||||||
ANALYZE osm_boundary_polygon_gen_z5;
|
|
||||||
REFRESH MATERIALIZED VIEW osm_boundary_polygon_gen_z5;
|
|
||||||
|
|
||||||
-- noinspection SqlWithoutWhere
|
|
||||||
DELETE FROM boundary_polygon.updates;
|
|
||||||
|
|
||||||
RAISE LOG 'Refresh boundary_polygon done in %', age(clock_timestamp(), t);
|
|
||||||
RETURN NULL;
|
|
||||||
END;
|
|
||||||
$$ LANGUAGE plpgsql;
|
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION update_osm_boundary_polygon_row()
|
CREATE OR REPLACE FUNCTION update_osm_boundary_polygon_row()
|
||||||
RETURNS trigger
|
RETURNS trigger
|
||||||
AS
|
AS
|
||||||
|
@ -206,16 +168,3 @@ CREATE TRIGGER update_row
|
||||||
ON osm_boundary_polygon_gen_z5
|
ON osm_boundary_polygon_gen_z5
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
EXECUTE PROCEDURE update_osm_boundary_polygon_row();
|
EXECUTE PROCEDURE update_osm_boundary_polygon_row();
|
||||||
|
|
||||||
CREATE TRIGGER trigger_flag
|
|
||||||
AFTER INSERT OR UPDATE OR DELETE
|
|
||||||
ON osm_boundary_polygon
|
|
||||||
FOR EACH STATEMENT
|
|
||||||
EXECUTE PROCEDURE boundary_polygon.flag();
|
|
||||||
|
|
||||||
CREATE CONSTRAINT TRIGGER trigger_refresh
|
|
||||||
AFTER INSERT
|
|
||||||
ON boundary_polygon.updates
|
|
||||||
INITIALLY DEFERRED
|
|
||||||
FOR EACH ROW
|
|
||||||
EXECUTE PROCEDURE boundary_polygon.refresh();
|
|
||||||
|
|
|
@ -55,9 +55,9 @@ SELECT
|
||||||
FROM (
|
FROM (
|
||||||
SELECT osm_id,
|
SELECT osm_id,
|
||||||
geometry,
|
geometry,
|
||||||
name,
|
NULLIF(name, '') as name,
|
||||||
COALESCE(NULLIF(name_en, ''), name) AS name_en,
|
COALESCE(NULLIF(name_en, ''), NULLIF(name, '')) AS name_en,
|
||||||
COALESCE(NULLIF(name_de, ''), name, name_en) AS name_de,
|
COALESCE(NULLIF(name_de, ''), NULLIF(name, ''), NULLIF(name_en, '')) AS name_de,
|
||||||
tags,
|
tags,
|
||||||
substring(ele FROM E'^(-?\\d+)(\\D|$)')::int AS ele,
|
substring(ele FROM E'^(-?\\d+)(\\D|$)')::int AS ele,
|
||||||
round(substring(ele FROM E'^(-?\\d+)(\\D|$)')::int * 3.2808399)::int AS ele_ft,
|
round(substring(ele FROM E'^(-?\\d+)(\\D|$)')::int * 3.2808399)::int AS ele_ft,
|
||||||
|
@ -65,15 +65,17 @@ FROM (
|
||||||
row_number() OVER (
|
row_number() OVER (
|
||||||
PARTITION BY LabelGrid(geometry, 100 * pixel_width)
|
PARTITION BY LabelGrid(geometry, 100 * pixel_width)
|
||||||
ORDER BY (
|
ORDER BY (
|
||||||
substring(ele FROM E'^(-?\\d+)(\\D|$)')::int +
|
(CASE WHEN ele <> '' THEN substring(ele FROM E'^(-?\\d+)(\\D|$)')::int ELSE 0 END) +
|
||||||
(CASE WHEN wikipedia <> '' THEN 10000 ELSE 0 END) +
|
(CASE WHEN wikipedia <> '' THEN 10000 ELSE 0 END) +
|
||||||
(CASE WHEN name <> '' THEN 10000 ELSE 0 END)
|
(CASE WHEN name <> '' THEN 10000 ELSE 0 END)
|
||||||
) DESC
|
) DESC
|
||||||
)::int AS "rank"
|
)::int AS "rank"
|
||||||
FROM peak_point
|
FROM peak_point
|
||||||
WHERE geometry && bbox
|
WHERE geometry && bbox
|
||||||
AND ele IS NOT NULL
|
AND (
|
||||||
AND ele ~ E'^-?\\d{1,4}(\\D|$)'
|
(ele <> '' AND ele ~ E'^-?\\d{1,4}(\\D|$)')
|
||||||
|
OR name <> ''
|
||||||
|
)
|
||||||
) AS ranked_peaks
|
) AS ranked_peaks
|
||||||
WHERE zoom_level >= 7
|
WHERE zoom_level >= 7
|
||||||
AND (rank <= 5 OR zoom_level >= 14)
|
AND (rank <= 5 OR zoom_level >= 14)
|
||||||
|
|
|
@ -98,6 +98,7 @@ tileset:
|
||||||
- ta # Tamil
|
- ta # Tamil
|
||||||
- te # Telugu
|
- te # Telugu
|
||||||
- th # Thai
|
- th # Thai
|
||||||
|
- tok # Toki Pona
|
||||||
- tr # Turkish, Latin
|
- tr # Turkish, Latin
|
||||||
- uk # Ukrainian
|
- uk # Ukrainian
|
||||||
- ur # Urdu
|
- ur # Urdu
|
||||||
|
|
Ładowanie…
Reference in New Issue