From ecd5418064a488dbc19b521f20f6f7a39be645d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Thu, 7 Aug 2025 21:47:37 -0700 Subject: [PATCH 1/7] Added common historical border types --- config/locales/en.yml | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/config/locales/en.yml b/config/locales/en.yml index 1f396b12b9..0182daffe9 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1545,30 +1545,69 @@ en: border_types: arrondissement: "Arrondissement Boundary" borough: "Borough Boundary" + caliphate: "Caliphal Boundary" + canton: "Cantonal Boundary" cercle: "Cercle Boundary" + chiefdom: "Chiefdom Boundary" city: "City Boundary" + city-state: "City-State Boundary" + colony: "Colonial Boundary" comarca: "Comarca Boundary" + commonwealth: "Commonwealth Boundary" + commune: "Communal Boundary" + condominium: "Condominium Boundary" + confederation: "Confederational Boundary" county: "County Boundary" departement: "Departmental Boundary" department: "Departmental Boundary" district: "District Boundary" distrito: "District Boundary" + dominion: "Dominion Boundary" + emirate: "Empirate Boundary" + empire: "Imperial Boundary" + eyalet: "Eyalet Boundary" + federation: "Federation Boundary" freguesia: "Freguesia Boundary" + ghetto: "Ghetto Boundary" + governorate: "Governorate Boundary" + kingdom: "Kingdom Boundary" local_authority: "Local Authority Boundary" + major_division: "Major Division Boundary" + markaz: "Markaz Boundary" municipality: "Municipal Boundary" municipi: "Municipal Boundary" município: "Municipal Boundary" nation: "International Boundary" national: "International Boundary" neighbourhood: "Neighborhood Boundary" + oblast: "Oblast Boundary" + occupation: "Occupational Boundary" parish: "Parish Boundary" + possession: "Possession Boundary" + prefecture: "Prefectural Boundary" + principate: "Principate Boundary" + protectorate: "Protectorate Boundary" province: "Provincial Boundary" + rancho: "Rancho Boundary" + realm: "Realm Boundary" região: "Regional Boundary" region: "Regional Boundary" + reichsgau: "Reichsgau Boundary" + republic: "Republican Boundary" + sanjak: "Sanjak Boundary" + sector: "Sectoral Boundary" + shire: "Shire Boundary" state: "State Boundary" + subdistrict: "Subdistrict Boundary" + territory: "Territorial Boundary" town: "Town Boundary" township: "Township Boundary" + viceroyalty: "Viceroyalty Boundary" village: "Village Boundary" + viyalet: "Viyalet Boundary" + voivodeship: "Voivodeship Boundary" + ward: "Ward Boundary" + zone: "Zonal Boundary" searches: show: title: From dae72a89c99d0109dbb0a747e92fc4a9855fac0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Thu, 7 Aug 2025 22:19:44 -0700 Subject: [PATCH 2/7] Distinguish ecclesiastical, statistical boundary types --- app/assets/javascripts/index/query.js | 11 +++++++++-- .../searches/nominatim_queries_controller.rb | 9 ++++++++- config/locales/en.yml | 4 ++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/index/query.js b/app/assets/javascripts/index/query.js index acdccbd954..69d076cc18 100644 --- a/app/assets/javascripts/index/query.js +++ b/app/assets/javascripts/index/query.js @@ -68,8 +68,15 @@ OSM.Query = function (map) { function featurePrefix(feature) { const tags = feature.tags; let prefix = ""; - - if (tags.boundary === "administrative" && (tags.border_type || tags.admin_level)) { + // Keep in sync with qualified_boundary_types in Searches.NominatimQueriesController.create. + const qualifiedBoundaryTypes = [ + "administrative", + "census", + "religious_administration", + "statistical" + ]; + + if (qualifiedBoundaryTypes.includes(tags.boundary) && (tags.border_type || tags.admin_level)) { prefix = OSM.i18n.t("geocoder.search_osm_nominatim.border_types." + tags.border_type, { defaultValue: OSM.i18n.t("geocoder.search_osm_nominatim.admin_levels.level" + tags.admin_level, { defaultValue: OSM.i18n.t("geocoder.search_osm_nominatim.prefix.boundary.administrative") diff --git a/app/controllers/searches/nominatim_queries_controller.rb b/app/controllers/searches/nominatim_queries_controller.rb index f5d27ad820..c8abb1b691 100644 --- a/app/controllers/searches/nominatim_queries_controller.rb +++ b/app/controllers/searches/nominatim_queries_controller.rb @@ -30,7 +30,14 @@ def create else t "geocoder.search_osm_nominatim.prefix.#{klass}.#{type}", :default => type.tr("_", " ").capitalize end - if klass == "boundary" && type == "administrative" + # Keep in sync with qualifiedBoundaryTypes in OSM.Query.featurePrefix. + qualified_boundary_types = %w[ + administrative + census + religious_administrative + statistical + ] + if klass == "boundary" && qualified_boundary_types.include?(type) rank = (place.attributes["address_rank"].to_i + 1) / 2 prefix_name = t "geocoder.search_osm_nominatim.admin_levels.level#{rank}", :default => prefix_name border_type = nil diff --git a/config/locales/en.yml b/config/locales/en.yml index 0182daffe9..6182261b03 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1543,10 +1543,12 @@ en: level10: "Administrative Boundary (Level 10)" level11: "Administrative Boundary (Level 11)" border_types: + archdiocese: "Archdiocesan Boundary" arrondissement: "Arrondissement Boundary" borough: "Borough Boundary" caliphate: "Caliphal Boundary" canton: "Cantonal Boundary" + census_area: "Census Area Boundary" cercle: "Cercle Boundary" chiefdom: "Chiefdom Boundary" city: "City Boundary" @@ -1560,6 +1562,7 @@ en: county: "County Boundary" departement: "Departmental Boundary" department: "Departmental Boundary" + diocese: "Diocesan Boundary" district: "District Boundary" distrito: "District Boundary" dominion: "Dominion Boundary" @@ -1583,6 +1586,7 @@ en: oblast: "Oblast Boundary" occupation: "Occupational Boundary" parish: "Parish Boundary" + planning_region: "Planning Region Boundary" possession: "Possession Boundary" prefecture: "Prefectural Boundary" principate: "Principate Boundary" From 5a45542a75f3f698f4fe267cfecded36cf67dd90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Sat, 9 Aug 2025 04:17:45 -0700 Subject: [PATCH 3/7] More historical border types --- config/locales/en.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/locales/en.yml b/config/locales/en.yml index 6182261b03..0430f63b7c 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1548,6 +1548,7 @@ en: borough: "Borough Boundary" caliphate: "Caliphal Boundary" canton: "Cantonal Boundary" + captaincy_general: "Captaincy General Boundary" census_area: "Census Area Boundary" cercle: "Cercle Boundary" chiefdom: "Chiefdom Boundary" @@ -1573,6 +1574,7 @@ en: freguesia: "Freguesia Boundary" ghetto: "Ghetto Boundary" governorate: "Governorate Boundary" + intendancy: "Intendancy Boundary" kingdom: "Kingdom Boundary" local_authority: "Local Authority Boundary" major_division: "Major Division Boundary" @@ -1585,6 +1587,9 @@ en: neighbourhood: "Neighborhood Boundary" oblast: "Oblast Boundary" occupation: "Occupational Boundary" + overseas_collectivity: "Overseas Collectivity" + overseas_department: "Overseas Department" + overseas_territory: "Overseas Territory" parish: "Parish Boundary" planning_region: "Planning Region Boundary" possession: "Possession Boundary" @@ -1603,6 +1608,7 @@ en: shire: "Shire Boundary" state: "State Boundary" subdistrict: "Subdistrict Boundary" + sultanate: "Sultanate Boundary" territory: "Territorial Boundary" town: "Town Boundary" township: "Township Boundary" From 7bfe5cffbae458d0c8eb2c70e36a151ffe8f3de9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Sat, 9 Aug 2025 12:20:37 -0700 Subject: [PATCH 4/7] Audiencia boundary --- config/locales/en.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/en.yml b/config/locales/en.yml index 0430f63b7c..47fc58ff2c 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1545,6 +1545,7 @@ en: border_types: archdiocese: "Archdiocesan Boundary" arrondissement: "Arrondissement Boundary" + audiencia: "Audiencia Boundary" borough: "Borough Boundary" caliphate: "Caliphal Boundary" canton: "Cantonal Boundary" From 8dbc37371d422ee3403e38261a4dc480b717a9dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Sun, 24 Aug 2025 00:26:47 -0700 Subject: [PATCH 5/7] More ecclesiastical boundary types --- config/locales/en.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/en.yml b/config/locales/en.yml index 47fc58ff2c..2c1d0b89a3 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1595,6 +1595,7 @@ en: planning_region: "Planning Region Boundary" possession: "Possession Boundary" prefecture: "Prefectural Boundary" + prefecture_apostolic: "Prefecture Apostolic Boundary" principate: "Principate Boundary" protectorate: "Protectorate Boundary" province: "Provincial Boundary" @@ -1611,8 +1612,10 @@ en: subdistrict: "Subdistrict Boundary" sultanate: "Sultanate Boundary" territory: "Territorial Boundary" + territorial_prelature: "Territorial Prelature Boundary" town: "Town Boundary" township: "Township Boundary" + vicariate_apostolic: "Vicariate Apostolic Boundary" viceroyalty: "Viceroyalty Boundary" village: "Village Boundary" viyalet: "Viyalet Boundary" From 4dcd5e0464e59325e7c8834c6d7ce6ddcd459ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Sun, 24 Aug 2025 00:28:43 -0700 Subject: [PATCH 6/7] Federal district --- config/locales/en.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/en.yml b/config/locales/en.yml index 2c1d0b89a3..bb5c82b4c7 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1571,6 +1571,7 @@ en: emirate: "Empirate Boundary" empire: "Imperial Boundary" eyalet: "Eyalet Boundary" + federal_district: "Federal District Boundary" federation: "Federation Boundary" freguesia: "Freguesia Boundary" ghetto: "Ghetto Boundary" From b8ab75ff125cecb6c216a47d9fb0a72e5bd60b17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Minh=20Nguy=E1=BB=85n?= Date: Mon, 22 Sep 2025 23:07:42 -0700 Subject: [PATCH 7/7] Hundred, rode for Scandinavia --- config/locales/en.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/en.yml b/config/locales/en.yml index bb5c82b4c7..9822abd9a3 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1576,6 +1576,7 @@ en: freguesia: "Freguesia Boundary" ghetto: "Ghetto Boundary" governorate: "Governorate Boundary" + hundred: "Hundred Boundary" intendancy: "Intendancy Boundary" kingdom: "Kingdom Boundary" local_authority: "Local Authority Boundary" @@ -1606,6 +1607,7 @@ en: region: "Regional Boundary" reichsgau: "Reichsgau Boundary" republic: "Republican Boundary" + rode: "Rode Boundary" sanjak: "Sanjak Boundary" sector: "Sectoral Boundary" shire: "Shire Boundary"