Jakość geokodu: Nominatim vs. Geocoder PostGIS vs. Geocoder :: US 2.0

14

Czasami muszę geokodować >> 500 000 adresów ulic w USA (bez cech i skrzyżowań). Chciałbym skonfigurować usługę geokodowania lokalnie do obsługi tych masowych geokodów.

W przeszłości używałem Geocodera :: US 2.0 opartego na Tiger . Wstępne testy porównawcze dają rozsądną dokładność w odniesieniu do adresów geokodowanych przez Google, szczególnie gdy nie polegam na parserze Ruby i przekazuję elementy adresu do geokodera jawnie.

Przeczytałem również sporo informacji na temat geokodera PostGIS . Ponieważ moje dane są już w PostGIS, brzmi to atrakcyjnie, ale nie skonfigurowałem tego lokalnie, aby je wypróbować.

Ponadto ktoś polecił mi spróbowanie Nominatim lokalnie. Niewiele o tym wiem, poza tym, że nie jest oparty na Tygrysie (o ile wiem) i zastanawiam się, czy uzyskam bardziej wiarygodne wyniki.

Moje pytanie do każdego z doświadczeniem w zakresie powyższych rozwiązań: Jaka jest dokładność tych trzech rozwiązań? W szczególności, który zapewnia najbardziej niezawodnie niezawodne geokody dla adresów ulic w USA? Nie przejmuję się zbytnio szybkością ani konfiguracją złożoności.

danpelota
źródło

Odpowiedzi:

14

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ż.

LR1234567
źródło
Dodatkowy komentarz: Prawdopodobnie warto podczas testów z wersjami online porównującymi niektóre wyniki adresów: np. Nominatim
LR1234567
Dzięki za odpowiedzi! Przeprowadzę testy porównawcze w ciągu około tygodnia, ale do tej pory byłem pod wrażeniem kodera PostGIS Tiger.
danpelota,
Z wyjątkiem sporadycznych przerw dla początkujących, oczywiście: postgis.refractions.net/pipermail/postgis-users/2011-March/…
danpelota
tigergeocoder.com korzystający z danych TIGER 2013, gotowy do uruchomienia własnego wystąpienia serwera w chmurze Amazon EC2 i geokodowaniu 1 000 000+ dziennie. PostGIS, jak wspomniałeś, załadował również Zillow Neighborhoods i zwraca kody FIPS dla części adresu. Interfejs API REST podobny do Google, ale z własnym serwerem, nie jest wymagany przydział.
Biba
Nominatim działa szybko i jest bardziej dokładny w 2019 r., Przed nowymi danymi o tygrysach. Nie szacuje obszarów, a odgadywanie adresów jest po prostu lepsze.
Andrew Scott Evans,
-1

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.

ivan
źródło
2
Co Twoja odpowiedź ma wspólnego z Twoją firmą? Wygląda na to, że dołączasz podpis z linkiem do swojej witryny pod pozorem niepotrzebnego zrzeczenia się odpowiedzialności, dlatego go edytuję. W żadnym wypadku nie umieszczaj linku w żadnym zrzeczeniu się odpowiedzialności.
PolyGeo