[geoplanet] adding place name fixes for ZA, MY, AT, CN, NZ, PH, and LT
This commit is contained in:
@@ -497,7 +497,7 @@
|
|||||||
where country_code = "CZ"
|
where country_code = "CZ"
|
||||||
and place_type = "County";
|
and place_type = "County";
|
||||||
|
|
||||||
-- LocalAdmins used here don't appear to have a
|
-- LocalAdmins used here don't appear to have a corresponding type in OSM
|
||||||
update places
|
update places
|
||||||
set parent_id = (select p_sub.parent_id from places p_sub where p_sub.id = places.parent_id)
|
set parent_id = (select p_sub.parent_id from places p_sub where p_sub.id = places.parent_id)
|
||||||
where id in (
|
where id in (
|
||||||
@@ -540,4 +540,255 @@
|
|||||||
where country_code = "HU"
|
where country_code = "HU"
|
||||||
and place_type = "County";
|
and place_type = "County";
|
||||||
|
|
||||||
|
-- Algeria - OK
|
||||||
|
|
||||||
|
-- South Africa
|
||||||
|
-- these are municipalities/cities
|
||||||
|
update places
|
||||||
|
set place_type = "Town"
|
||||||
|
where country_code = "ZA"
|
||||||
|
and place_type = "LocalAdmin";
|
||||||
|
|
||||||
|
-- Malaysia
|
||||||
|
-- LocalAdmins used here don't appear to have a type in OSM
|
||||||
|
update places
|
||||||
|
set parent_id = (select p_sub.parent_id from places p_sub where p_sub.id = places.parent_id)
|
||||||
|
where id in (
|
||||||
|
select p1.id
|
||||||
|
from places p1
|
||||||
|
join places p2
|
||||||
|
on p1.parent_id = p2.id
|
||||||
|
where p1.country_code = "MY"
|
||||||
|
and p1.place_type = "Town"
|
||||||
|
and p2.place_type = "LocalAdmin"
|
||||||
|
);
|
||||||
|
|
||||||
|
update places
|
||||||
|
set place_type = "Town"
|
||||||
|
where id = 1140856; -- Bayan Lepas
|
||||||
|
|
||||||
|
update places
|
||||||
|
set parent_id = 1141153, -- George Town
|
||||||
|
place_type = "Suburb"
|
||||||
|
where parent_id = 56013581
|
||||||
|
and id != 1141153 -- except George Town itself
|
||||||
|
and place_type = "Town";
|
||||||
|
|
||||||
|
update postal_codes
|
||||||
|
set parent_id = 1149014 -- Kampong Sungai Gelugor
|
||||||
|
where parent_id = 1149059; -- Kampong Sungai Keluang
|
||||||
|
|
||||||
|
update postal_codes
|
||||||
|
set parent_id = 1155026 -- Petaling Jaya
|
||||||
|
where parent_id = 56013632; -- Petaling (county)
|
||||||
|
|
||||||
|
update postal_codes
|
||||||
|
set parent_id = (
|
||||||
|
select p2.id
|
||||||
|
from places p1
|
||||||
|
join places p2
|
||||||
|
on p1.id = p2.parent_id
|
||||||
|
where p1.id = postal_codes.parent_id
|
||||||
|
and p1.place_type = "County"
|
||||||
|
and p2.place_type = "Town"
|
||||||
|
and p1.name = p2.name
|
||||||
|
limit 1
|
||||||
|
)
|
||||||
|
where parent_id in (
|
||||||
|
select distinct p1.id
|
||||||
|
from places p1
|
||||||
|
join places p2
|
||||||
|
on p1.id = p2.parent_id
|
||||||
|
where p1.country_code = "MY"
|
||||||
|
and p1.place_type = "County"
|
||||||
|
and p2.place_type = "Town"
|
||||||
|
and p1.name = p2.name
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Austria
|
||||||
|
-- Set Vienna's parent to the state
|
||||||
|
update places
|
||||||
|
set parent_id = 2344716
|
||||||
|
where id = 551801;
|
||||||
|
|
||||||
|
-- Use the prefix Bezirk for Austrian counties
|
||||||
|
update places
|
||||||
|
set name = printf("Bezirk %s", name)
|
||||||
|
where country_code = "AT"
|
||||||
|
and place_type = "County";
|
||||||
|
|
||||||
|
|
||||||
|
-- Postal codes assigned to a LocalAdmin with a coterminous city should use the city
|
||||||
|
update postal_codes
|
||||||
|
set parent_id = (
|
||||||
|
select p2.id
|
||||||
|
from places p1
|
||||||
|
join places p2
|
||||||
|
on p1.id = p2.parent_id
|
||||||
|
where p1.id = postal_codes.parent_id
|
||||||
|
and p1.place_type = "LocalAdmin"
|
||||||
|
and p2.place_type = "Town"
|
||||||
|
and p1.name = p2.name
|
||||||
|
limit 1
|
||||||
|
)
|
||||||
|
where parent_id in (
|
||||||
|
select distinct p1.id
|
||||||
|
from places p1
|
||||||
|
join places p2
|
||||||
|
on p1.id = p2.parent_id
|
||||||
|
where p1.country_code = "AT"
|
||||||
|
and p1.place_type = "LocalAdmin"
|
||||||
|
and p2.place_type = "Town"
|
||||||
|
and p1.name = p2.name
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Towns parented by a LocalAdmin should be parented by the grandparent County
|
||||||
|
update places
|
||||||
|
set parent_id = (select p_sub.parent_id from places p_sub where p_sub.id = places.parent_id)
|
||||||
|
where id in (
|
||||||
|
select p1.id
|
||||||
|
from places p1
|
||||||
|
join places p2
|
||||||
|
on p1.parent_id = p2.id
|
||||||
|
where p1.country_code = "AT"
|
||||||
|
and p1.place_type = "Town"
|
||||||
|
and p2.place_type = "LocalAdmin"
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Convert all other LocalAdmins to cities
|
||||||
|
update places
|
||||||
|
set place_type = "Town"
|
||||||
|
where country_code = "AT"
|
||||||
|
and place_type = "LocalAdmin";
|
||||||
|
|
||||||
|
-- Except the few districts/boroughs of Vienna listed in GeoPlanet
|
||||||
|
update places
|
||||||
|
set place_type = "LocalAdmin"
|
||||||
|
where id in (542098, 551778);
|
||||||
|
|
||||||
|
-- China
|
||||||
|
-- special cities that have state status
|
||||||
|
update places
|
||||||
|
set name = replace(name, "直辖市", "市"),
|
||||||
|
place_type = "Town"
|
||||||
|
where id in (
|
||||||
|
12578011, -- Beijing
|
||||||
|
12578012, -- Shanghai
|
||||||
|
12578017, -- Tianjin
|
||||||
|
20070171 -- Chongqing
|
||||||
|
);
|
||||||
|
|
||||||
|
-- City districts should be directly parented by their city
|
||||||
|
update places
|
||||||
|
set parent_id = (select p_sub.parent_id from places p_sub where p_sub.id = places.parent_id)
|
||||||
|
where id in (
|
||||||
|
select p1.id
|
||||||
|
from places p1
|
||||||
|
join places p2
|
||||||
|
on p1.parent_id = p2.id
|
||||||
|
where p1.country_code = "CN"
|
||||||
|
and p1.place_type = "LocalAdmin"
|
||||||
|
and p2.place_type = "County"
|
||||||
|
and p2.parent_id in (
|
||||||
|
12578011, -- Beijing
|
||||||
|
12578012, -- Shanghai
|
||||||
|
12578017, -- Tianjin
|
||||||
|
20070171 -- Chongqing
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- City districts should be directly parented by their city
|
||||||
|
update places
|
||||||
|
set parent_id = (select grandparent.parent_id from places parent join places grandparent on parent.parent_id = grandparent.id where parent.id = places.parent_id)
|
||||||
|
where id in (
|
||||||
|
select p1.id
|
||||||
|
from places p1
|
||||||
|
join places p2
|
||||||
|
on p1.parent_id = p2.id
|
||||||
|
join places p3
|
||||||
|
on p2.parent_id = p3.id
|
||||||
|
where p1.country_code = "CN"
|
||||||
|
and p1.place_type = "LocalAdmin"
|
||||||
|
and p3.parent_id in (
|
||||||
|
12578011, -- Beijing
|
||||||
|
12578012, -- Shanghai
|
||||||
|
12578017, -- Tianjin
|
||||||
|
20070171 -- Chongqing
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- GeoPlanet has 4 digit postcodes. They're correct but Chine uses 6 digits and pads with zeros
|
||||||
|
update postal_codes
|
||||||
|
set name = printf("%s00", name)
|
||||||
|
where country_code = "CN"
|
||||||
|
and length(name) = 4;
|
||||||
|
|
||||||
|
-- LocalAdmin ending with shi (市) should be city
|
||||||
|
update places
|
||||||
|
set place_type = "Town"
|
||||||
|
where country_code = "CN"
|
||||||
|
and name like "%市"
|
||||||
|
and place_type in ("County", "LocalAdmin");
|
||||||
|
|
||||||
|
-- Prefecture-level cities are labeled counties
|
||||||
|
update places
|
||||||
|
set place_type = "Town"
|
||||||
|
where country_code = "CN"
|
||||||
|
and place_type = "County"
|
||||||
|
and replace(name, " ", "") not like "%自治州";
|
||||||
|
|
||||||
|
|
||||||
|
-- Counties are labeled LocalAdmin
|
||||||
|
update places
|
||||||
|
set place_type = "County"
|
||||||
|
where country_code = "CN"
|
||||||
|
and place_type = "LocalAdmin"
|
||||||
|
and name like "%县";
|
||||||
|
|
||||||
|
|
||||||
|
-- New Zealand
|
||||||
|
-- Hokianga Harbour is listed as a bay in OSM and these "suburbs" are villages around the bay
|
||||||
|
update places
|
||||||
|
set place_type = "Town"
|
||||||
|
where place_type = "Suburb"
|
||||||
|
and parent_id = 28645523;
|
||||||
|
|
||||||
|
-- Silverdale listed as town in OSM
|
||||||
|
update places
|
||||||
|
set place_type = "Town"
|
||||||
|
where id = 2350555;
|
||||||
|
|
||||||
|
-- Wellington is both a city and a region
|
||||||
|
update places
|
||||||
|
set name = "Wellington Region"
|
||||||
|
where id = 15021762;
|
||||||
|
|
||||||
|
-- Philippines
|
||||||
|
-- States in GeoPlanet are admin_level=3 (country_region) in libpostal
|
||||||
|
update places
|
||||||
|
set place_type = "CountryRegion"
|
||||||
|
where country_code = "PH"
|
||||||
|
and place_type = "State";
|
||||||
|
|
||||||
|
-- Counties in GeoPlanet are admin_level=4 (state) in libpostal
|
||||||
|
update places
|
||||||
|
set place_type = "State"
|
||||||
|
where country_code = "PH"
|
||||||
|
and place_type = "County";
|
||||||
|
|
||||||
|
-- Pakistan - OK
|
||||||
|
|
||||||
|
-- Lebanon - OK
|
||||||
|
|
||||||
|
-- Lithuania
|
||||||
|
-- LocalAdmins are admin_level=6 (state_district)
|
||||||
|
update places
|
||||||
|
set place_type = "County"
|
||||||
|
where country_code = "LT"
|
||||||
|
and place_type = "LocalAdmin";
|
||||||
|
|
||||||
|
-- Suburbs are admin_level=10 (city_district)
|
||||||
|
update places
|
||||||
|
set place_type = "LocalAdmin"
|
||||||
|
where country_code = "LT"
|
||||||
|
and place_type = "Suburb";
|
||||||
|
|||||||
Reference in New Issue
Block a user