Show more places on z7 and limit by localrank #295

pull/311/head
Lukas Martinelli 2016-04-26 21:02:34 +02:00
rodzic 0654c5c58b
commit 807c7a986d
2 zmienionych plików z 52 dodań i 53 usunięć

Wyświetl plik

@ -626,56 +626,57 @@ Layer:
port: 5432
srid: ''
table: |-
(
SELECT osm_ids2mbid(osm_id, true) as osm_id, topoint(geometry) AS geometry,
name,
coalesce(NULLIF(name_en, ''), name) AS name_en,
coalesce(NULLIF(name_es, ''), name) AS name_es,
coalesce(NULLIF(name_fr, ''), name) AS name_fr,
coalesce(NULLIF(name_de, ''), name) AS name_de,
coalesce(NULLIF(name_ru, ''), name) AS name_ru,
coalesce(NULLIF(name_zh, ''), name) AS name_zh,
type,
capital,
NULL AS ldir,
normalize_scalerank(scalerank) AS scalerank,
rank() OVER (PARTITION BY LabelGrid(geometry, 200 * !pixel_width!)
ORDER BY scalerank ASC NULLS LAST,
population DESC NULLS LAST
) AS localrank
FROM (
SELECT * FROM place_label_z3
WHERE z(!scale_denominator!) = 3
UNION ALL
SELECT * FROM place_label_z4
WHERE z(!scale_denominator!) = 4
UNION ALL
SELECT * FROM place_label_z5
WHERE z(!scale_denominator!) = 5
UNION ALL
SELECT * FROM place_label_z6toz7
WHERE z(!scale_denominator!) BETWEEN 6 AND 7
UNION ALL
SELECT * FROM place_label_z8
WHERE z(!scale_denominator!) = 8
UNION ALL
SELECT * FROM place_label_z9
WHERE z(!scale_denominator!) = 9
UNION ALL
SELECT * FROM place_label_z10
WHERE z(!scale_denominator!) = 10
UNION ALL
SELECT * FROM place_label_z11toz12
WHERE z(!scale_denominator!) BETWEEN 11 AND 12
UNION ALL
SELECT * FROM place_label_z13
WHERE z(!scale_denominator!) = 13
UNION ALL
SELECT * FROM place_label_z14
WHERE z(!scale_denominator!) = 14
) AS place_label
WHERE geometry && !bbox!
ORDER BY population DESC NULLS LAST
( SELECT * FROM (
SELECT osm_ids2mbid(osm_id, true) as osm_id, topoint(geometry) AS geometry,
name,
coalesce(NULLIF(name_en, ''), name) AS name_en,
coalesce(NULLIF(name_es, ''), name) AS name_es,
coalesce(NULLIF(name_fr, ''), name) AS name_fr,
coalesce(NULLIF(name_de, ''), name) AS name_de,
coalesce(NULLIF(name_ru, ''), name) AS name_ru,
coalesce(NULLIF(name_zh, ''), name) AS name_zh,
type,
capital,
NULL AS ldir,
normalize_scalerank(scalerank) AS scalerank,
rank() OVER (PARTITION BY LabelGrid(geometry, 200 * !pixel_width!)
ORDER BY scalerank ASC NULLS LAST,
population DESC NULLS LAST
) AS localrank
FROM (
SELECT * FROM place_label_z3
WHERE z(!scale_denominator!) = 3
UNION ALL
SELECT * FROM place_label_z4
WHERE z(!scale_denominator!) = 4
UNION ALL
SELECT * FROM place_label_z5
WHERE z(!scale_denominator!) = 5
UNION ALL
SELECT * FROM place_label_z6toz7
WHERE z(!scale_denominator!) BETWEEN 6 AND 7
UNION ALL
SELECT * FROM place_label_z8
WHERE z(!scale_denominator!) = 8
UNION ALL
SELECT * FROM place_label_z9
WHERE z(!scale_denominator!) = 9
UNION ALL
SELECT * FROM place_label_z10
WHERE z(!scale_denominator!) = 10
UNION ALL
SELECT * FROM place_label_z11toz12
WHERE z(!scale_denominator!) BETWEEN 11 AND 12
UNION ALL
SELECT * FROM place_label_z13
WHERE z(!scale_denominator!) = 13
UNION ALL
SELECT * FROM place_label_z14
WHERE z(!scale_denominator!) = 14
) AS place_label
WHERE geometry && !bbox!
ORDER BY population DESC NULLS LAST
) AS t WHERE z(!scale_denominator!) > 7 OR localrank < 40
) AS data
type: postgis
user: osm

Wyświetl plik

@ -18,15 +18,13 @@ CREATE OR REPLACE VIEW place_label_z5 AS (
SELECT * FROM osm_place_point
WHERE name <> ''
AND scalerank IS NOT NULL
AND scalerank BETWEEN 0 AND 7
AND scalerank BETWEEN 0 AND 10
AND type = 'city'
);
CREATE OR REPLACE VIEW place_label_z6toz7 AS (
SELECT * FROM osm_place_point
WHERE name <> ''
AND scalerank IS NOT NULL
AND scalerank BETWEEN 0 AND 10
AND type IN ('city', 'town')
);