Nie miałem okazji przetestować amerykańskich geocoderów Nominatim i Geocoder. Rozumiem jednak, że Geocoder i Nominatim nie mogą być uruchamiane bezpośrednio w bazie danych, co jest dla mnie dużą wadą, ponieważ utrudnia korzystanie z nich w przypadku wyzwalaczy lub aktualizacji wsadowych bezpośrednio w bazie danych.
Geokoder PostGIS, będący czystym zestawem funkcji plpgsql PostGIS / postgresql, działa całkowicie w bazie danych. Spodziewałbym się, że wyniki geokodera US i PostGIS Geocodera będą równe, a na podstawie tego, co przetestowałem przy użyciu materiałów internetowych, są. Google jest trochę lepszy, ponieważ korzystają z nazw miejsc.
Myślę, że Nominatum, ponieważ korzysta z danych OSM, korzysta pośrednio z danych tygrysa, ponieważ OSM importuje do USA wiele z nich pochodzi z TIGER z poprawkami wniesionymi przez użytkowników. Nie jestem pewien, jaki jest obecnie rocznik (rok) Tiger OSM. W grze online z interfejsami internetowymi wykorzystuje również nazwy miejsc i ma ciekawą odmianę, ponieważ pozwala określić poziom powiększenia geokodowania, co pozwala na szybsze geokodowanie poprzez ustawienie wymaganej precyzji powiększenia.
Pełne ujawnienie - dużo pracowałem nad Geocoderem PostGIS i napisałem dla niego instrukcję online. Powiem wam, że błąd, nad którym pracuję, polega na tym, że myślę, że położenie interpolowanego przez niego punktu znajduje się po niewłaściwej stronie ulicy. Pracuję nad tym, aby to naprawić. Jeśli nie przejmujesz się, która strona ulicy (a przynajmniej czasami), może to nie stanowić problemu.
Prawdopodobnie warto podczas testowania z wersjami online porównującymi niektóre wyniki adresów: np. Nominatim możesz przetestować tutaj: http://open.mapquestapi.com/nominatim/v1/search.php
W moich przypadkach użycia stwierdziłem, że rozmyte sprawdzenie nominatum nie jest tak dobre, jak to, co ma Geocoder PostGIS. Na przykład mój próżny adres (adres pocztowy) to 1 Devonshire Place, Boston MA. PostGIS zwraca odpowiedź, która jest bliska, o ile pamiętam, Google zwraca odpowiedź, ale nie mogę uzyskać od Nominatim odpowiedzi. Szczerze mówiąc, nawet akta bostońskie nie mają pojęcia, gdzie to jest, i figuruje w ewidencji paczek jako Washington Street. PostGIS może go znaleźć, ponieważ wykonuje różne poziomy sprawdzania i skrzyżowania skrzyżowań itp. Przetestowałem inne przypadki, w których celowo wpisałem nieprawidłowy kod pocztowy lub coś innego, a PostGIS powraca z dokładnym zestawem opcji. Google też.
Technicznie możesz łączyć bazy danych Tiger i OSM w jeden gigantyczny serwer i budować je w Nominatum OSM. Tygrys można łatwo importować i stanowi on uzupełnienie serwera OSM.
Ktokolwiek, jakość danych, które odzyskasz, nie będzie na dachu. OSM nie ma dokładności dla adresów ulicznych w USA. Czasami widziałem to nawet 90 mil od pierwotnego celu.
Baza danych Tiger również nie jest dokładna z powodu przypisanego do niej algorytmu interpolacji w celu przewidywania lokalizacji numerów ulic. Zasadniczo zrównoważy rzeczywisty cel z 300 stóp na kilka mil.
Myślę, że musisz oszacować czas i zasoby hostingowe, jeśli budujesz własny geokoder w porównaniu z wykorzystaniem komercyjnego. Dzięki komercyjnemu dostaniesz lokalizacje na dachu i nie będziesz się o nic martwić. Ceny za 500 tys. Będą wynosić od 600 do 800 USD u różnych dostawców.
źródło