Śledzenie problemów z wyszukiwaniem adresów
Adres znaleziony w niewłaściwym mieście
W niektórych przypadkach wyszukiwanie adresu w OsmAnd może zwrócić wyniki dla innego miasta niż oczekiwano. Problemy te wynikają ze sposobu definiowania i przetwarzania granic miast w OpenStreetMap (OSM). Jeśli użytkownik wyszukuje nazwę ulicy lub ulicę z numerem domu bez podawania miasta, algorytm wyszukiwania pełnotekstowego może zwrócić dopasowanie z innego miasta.
Powiązane problemy
Przypadki nieprawidłowego przypisania miast zostały zgłoszone w następujących problemach na GitHubie: 10679, 10677, 10699, 10921.
Jak OsmAnd identyfikuje granice miast
OsmAnd określa granice miasta, używając jego relacji administracyjnej w OpenStreetMap. Aby granica została uznana za prawidłową, musi spełniać następujące kryteria:
-
Relacja graniczna musi zawierać tagi:
- boundary = administrative lub postal_code
- place = [city, town, village, hamlet, etc.]
-
Relacja graniczna musi zawierać element relacji:
- label
- admin_centre lub admin_center
-
Nazwa relacji granicznej musi dokładnie odpowiadać nazwie węzła miejsca.
-
Jeśli te warunki nie są spełnione, relacja graniczna nie jest rozpoznawana jako granica miasta.
-
Spośród nakładających się granic, OsmAnd wybiera największą granicę.
-
Sposoby relacji definiują granicę. OsmAnd obsługuje zarówno wewnętrzne, jak i zewnętrzne sposoby.
Dokładne dopasowanie nazw
Dla dokładnego przetwarzania adresów, nazwy ulic muszą być dokładnie dopasowane, włączając w to:
- Różnice w znakach diakrytycznych (np. Rue André Chenier vs. Rue André Chénier).
- Różnice w przedrostkach i skrótach.
Jeśli wystąpi niezgodność, może pojawić się jeden z następujących problemów:
- Dom jest przypisany do niewłaściwej ulicy.
- Ta sama ulica pojawia się wielokrotnie w różnych granicach miast.
Przykład znajduje się w problemie na GitHubie 10036.
Możliwe przyczyny nieprawidłowego przypisania miast
Problemy w OpenStreetMap
-
Uszkodzone lub brakujące granice miast.
- Jeśli granice miast są niekompletne, nieprawidłowe lub brakujące, przypisania adresów mogą być niewiarygodne.
- Rozwiązanie: Postępuj zgodnie z przewodnikiem naprawy granic OSM.
- Przykład: 10699.
-
Granice miast nie nakładają się prawidłowo.
- Jeśli ulica należy do dwóch miast, ale jest nieprawidłowo zmapowana, OsmAnd może nie rozpoznać nakładania się.
- Rozwiązanie: Dostosuj granice miast w OpenStreetMap, aby upewnić się, że prawidłowo obejmują wspólne ulice.
-
Brakujące wymagane tagi w relacji granicznej.
Problemy w OsmAnd
Adresy przypisane do sąsiednich miast.
- Miasta, miasteczka, wioski lub przedmieścia w pobliżu mogą nieprawidłowo dziedziczyć adresy z powodu nakładania się granic lub ich braku.
- Jest to powszechne, gdy miasta są podzielone na obszary administracyjne, ale brakuje im jasno zdefiniowanych relacji OSM.
- Zobacz powiązane raporty: 10559, 10679, 10730.
Metody weryfikacji
Aby zweryfikować i rozwiązać problemy z granicami miast, porównaj wyniki z różnych narzędzi mapowych.
Korzystanie z OpenStreetMap
Przykład: Wyszukiwany adres: Wolności 223, Zabrze
- Otwórz OpenStreetMap (OSM).
- Wyszukaj Zabrze i wybierz wynik powiązany z granicą administracyjną.
- Sprawdź granicę miasta, aby potwierdzić, czy adres jest prawidłowo przypisany.
Korzystanie z Nominatim
Przykład: Wyszukiwany adres: Wolności 223, Zabrze
- Wyszukaj ulicę i numer domu bez podawania miasta.
- Jeśli wynik wyszukiwania umieszcza adres w innym mieście, zanotuj sugerowaną nazwę miasta.
- Wprowadź znalezioną nazwę miasta w Nominatim.
- Sprawdź wartość Rankingu Adresu:
- Przykład: Wolności, Maciejów
- Jeśli Maciejów jest wymieniony jako przedmieście/osada (ranking 20), jest to mniejsza jednostka administracyjna innego miasta.
Ważne: Zachowaj ostrożność przy wyborze wyników wyszukiwania, ponieważ miasta o podobnych nazwach mogą istnieć w różnych regionach lub krajach.
Wyszukiwanie adresów w USA i dane TIGER
OsmAnd wykorzystuje dane OpenStreetMap do wyszukiwania adresów, z dodatkowymi źródłami danych, takimi jak TIGER (Topologically Integrated Geographic Encoding and Referencing System) z U.S. Census Bureau. Ten zbiór danych jest oparty na zakresach i nie zawiera precyzyjnych numerów domów. Niektóre adresy mogą być brakujące lub niedokładne.
Rozwiązywanie problemów z adresami w USA:
-
Wprowadzony adres jest dzielony na komponenty:
[Numer Domu] [Nazwa Ulicy]
,[Miasto]
,[Stan]
,[Kod Pocztowy]
-
System najpierw sprawdza OSM pod kątem dokładnego dopasowania numerów domów i ulic.
-
Jeśli nie znaleziono dopasowania w OSM, system przeszukuje dane TIGER, które obejmują:
- Nazwy ulic i klasyfikacje.
- Interpolowane zakresy numerów domów.
- Granice administracyjne.
-
Jeśli brakuje numeru domu, OsmAnd szacuje jego lokalizację na podstawie pobliskich danych.
-
Zwracanie wyników:
- Jeśli adres istnieje w OSM, wyświetlane jest dokładne dopasowanie.
- Jeśli dostępne są tylko dane TIGER, podawany jest przybliżony wynik.
- Jeśli żadne źródło nie zawiera adresu, wyszukiwanie kończy się niepowodzeniem.
Rodzaje danych adresowych w TIGER
Typ danych TIGER | Zastosowanie w OsmAnd |
---|---|
Nazwy ulic | Używane do wyszukiwania opartego na nazwach. |
Zakresy numerów domów | Zapewnia przybliżone lokalizacje adresów. |
Kody pocztowe | Pomaga powiązać adresy z prawidłowymi obszarami pocztowymi. |
Granice administracyjne | Określa lokalizacje miast i stanów. |
Kiedy adres jest znaleziony vs. nie znaleziony
Scenariusz wyszukiwania | Wynik w OsmAnd |
---|---|
Adres istnieje w OSM z numerem domu i ulicą | ✅ Dokładne dopasowanie |
Adres istnieje w TIGER, ale brakuje numerów domów | ⚠️ Przybliżone dopasowanie za pomocą interpolacji |
Adres istnieje w TIGER, ale zawiera nieprawidłowe dane | ⚠️ Częściowe dopasowanie z błędami |
Adres brakuje zarówno w OSM, jak i w TIGER | ❌ Brak wyniku |
Ograniczenia danych TIGER w OsmAnd
Kilka czynników wpływa na dokładność wyszukiwania adresów w systemie opartym na TIGER:
-
Brakujące numery domów. Wiele adresów w TIGER opiera się na interpolacji, co prowadzi do przybliżonych lokalizacji.
-
Przestarzałe nazwy ulic. Nazwy dróg w TIGER mogą nie odzwierciedlać obecnych konwencji nazewnictwa w OSM.
-
Niezgodności kodów pocztowych. Granice w TIGER mogą być nieprawidłowe, co powoduje błędne przypisania kodów pocztowych.