Set rank of countries with limited recognition to 6
This commit is contained in:
@@ -49,6 +49,15 @@ tables:
|
|||||||
- *name_en
|
- *name_en
|
||||||
- *name_de
|
- *name_de
|
||||||
- *rank
|
- *rank
|
||||||
|
- name: country_code_iso3166_1_alpha_2
|
||||||
|
key: country_code_iso3166_1_alpha_2
|
||||||
|
type: string
|
||||||
|
- name: iso3166_1_alpha_2
|
||||||
|
key: ISO3166-1:alpha2
|
||||||
|
type: string
|
||||||
|
- name: iso3166_1
|
||||||
|
key: ISO3166-1
|
||||||
|
type: string
|
||||||
- name: tags
|
- name: tags
|
||||||
type: hstore_tags
|
type: hstore_tags
|
||||||
filters:
|
filters:
|
||||||
|
|||||||
@@ -10,18 +10,25 @@ CREATE OR REPLACE FUNCTION update_osm_country_point() RETURNS VOID AS $$
|
|||||||
BEGIN
|
BEGIN
|
||||||
|
|
||||||
UPDATE osm_country_point AS osm
|
UPDATE osm_country_point AS osm
|
||||||
SET "rank" = 7;
|
SET
|
||||||
|
"rank" = 7,
|
||||||
|
iso3166_1_alpha_2 = COALESCE(
|
||||||
|
NULLIF(osm.country_code_iso3166_1_alpha_2, ''),
|
||||||
|
NULLIF(osm.iso3166_1_alpha_2, ''),
|
||||||
|
NULLIF(osm.iso3166_1, '')
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
WITH important_country_point AS (
|
WITH important_country_point AS (
|
||||||
SELECT osm.geometry, osm.osm_id, osm.name, COALESCE(NULLIF(osm.name_en, ''), ne.name) AS name_en, ne.scalerank, ne.labelrank
|
SELECT osm.geometry, osm.osm_id, osm.name, COALESCE(NULLIF(osm.name_en, ''), ne.name) AS name_en, ne.scalerank, ne.labelrank
|
||||||
FROM ne_10m_admin_0_countries AS ne, osm_country_point AS osm
|
FROM ne_10m_admin_0_countries AS ne, osm_country_point AS osm
|
||||||
WHERE
|
WHERE
|
||||||
-- We only match whether the point is within the Natural Earth polygon
|
-- We match only countries with ISO codes to eliminate disputed countries
|
||||||
-- because name matching is to difficult since OSM does not contain good
|
-- that lies inside polygon of sovereign country
|
||||||
-- enough coverage of ISO codesy
|
iso3166_1_alpha_2 IS NOT NULL
|
||||||
ST_Within(osm.geometry, ne.geometry)
|
AND ST_Within(osm.geometry, ne.geometry)
|
||||||
-- We leave out tiny countries
|
-- We leave out tiny countries
|
||||||
AND ne.scalerank <= 1
|
AND ne.scalerank <= 1
|
||||||
)
|
)
|
||||||
UPDATE osm_country_point AS osm
|
UPDATE osm_country_point AS osm
|
||||||
-- Normalize both scalerank and labelrank into a ranking system from 1 to 6
|
-- Normalize both scalerank and labelrank into a ranking system from 1 to 6
|
||||||
@@ -48,7 +55,8 @@ BEGIN
|
|||||||
FROM osm_country_point osm,
|
FROM osm_country_point osm,
|
||||||
ne_10m_admin_0_countries AS ne
|
ne_10m_admin_0_countries AS ne
|
||||||
WHERE
|
WHERE
|
||||||
NOT (osm."rank" BETWEEN 1 AND 6)
|
iso3166_1_alpha_2 IS NOT NULL
|
||||||
|
AND NOT (osm."rank" BETWEEN 1 AND 6)
|
||||||
)
|
)
|
||||||
UPDATE osm_country_point AS osm
|
UPDATE osm_country_point AS osm
|
||||||
-- Normalize both scalerank and labelrank into a ranking system from 1 to 6
|
-- Normalize both scalerank and labelrank into a ranking system from 1 to 6
|
||||||
|
|||||||
Reference in New Issue
Block a user