2012-04-01 11 views
6

Google Geocoding API ma poważne ograniczenia (2500 żądań dziennie) i zawsze otrzymujemy błąd limitu. Ich business license kosztuje 10 000 USD i jest dla nas za drogie.
Usługa powinna działać w różnych językach i różnych krajach.
Usługa powinna weryfikować adres i zwracać lat/lng. Adresy mogą być ciągami o różnych formatach.
Czy istnieje sposób na geokodowanie wsadowe (get lat/lon według adresu i na odwrót)?

Jesteśmy gotowi zapłacić za taką usługę i preferujemy RESTful API.

+0

inna usługa http://batchgeo.com/ –

+0

można wyjaśnić trochę? Szukasz adresów w USA? Czy próbujesz sprawdzić, czy adres istnieje, a następnie geokodować? A może po prostu chcesz dowiedzieć się, gdzie byłby adres "JEŚLI miałby wyjść (przybliżenie adresu)?". – Jeffrey

+0

@Jeffrey Mam trochę zaktualizowany. Co jeszcze Cię interesuje? –

Odpowiedz

1

Nie, nie ma, a jeśli przyjrzeć się ich licencjom, jest to wyraźnie zaprojektowane, aby uniemożliwić korzystanie z ich usług w ten sposób. Zasadniczo, są przeznaczone wyłącznie do wykorzystania, jeśli

  1. użytkownik końcowy inicjuje każde żądanie do API i
  2. usługa jest bezpłatna.

Zabraniają także zapisywania/buforowania wyników ich usług w bazie danych. Google ułatwia prototypowanie przy użyciu swoich narzędzi, ale gdy zaczniesz zwiększać skalę, zapłacisz (nie różni się to od M $ w tym zakresie).

4

Pracowałem w SmartyStreets, a to, co opisujesz, jest ich domeną podstawową.

Możesz być zainteresowany LiveAddress, który przekształca adresy na lat/lon i can process thousands of requests per second. Jest geo-rozproszony w 3 centrach danych i ma punkt końcowy RESTful. Możesz zrobić up to 100 addresses per request. Istnieje również wersja przetwarzania listy, jeśli masz plik Excel lub CSV lub coś podobnego.

Najwyższy price tag kosztuje 10 000 USD, ale daje nieograniczoną liczbę wyszukiwań przez rok.

Przykładowy kod to https://github.com/smartystreets/LiveAddressSamples.

Umowa licencyjna nie zawiera takich ograniczeń, aby ograniczyć wykorzystanie. Dbaseman ma rację: otrzymujesz błędy limitu, ponieważ jest to naruszenie TOS (chyba że otrzymasz od nich licencję firmową, ale nawet wtedy adresy są "najlepsze" - nie są standaryzowane i weryfikowane, jak w przypadku usługi certyfikowanej przez CASS To o czym należy pamiętać).

+0

Czy muszę wyraźnie określić kraj, miasto, adres jako parametry żądania? Czy SmartyStreets może analizować różne formaty i języki, na przykład Google? Na przykład "Львів, вул. Вірменська, 35 ' –

+1

Obecnie obsługujemy tylko adresy USA (w jakimkolwiek języku są). Aby zostać przetworzone, żądanie musi zawierać ** adres uliczny ** i ** miasto/województwo/zjazd ** (* dowolna kombinacja tych 3 *). Jeśli nie możesz ich podzielić, * jest * sposobem na przetwarzanie adresów bez oddzielania różnych części. [Algorytm do tego jest opisany tutaj] (http://smartystreets.com/answers/questions/318/can-i-verify-a-freeform-adress-with-your-service). Należy pamiętać, że chociaż Google jest bardziej elastyczny, jego cel jest bardzo różny: przybliżenie adresów, a nie ich weryfikacja. – Matt

+1

AKTUALIZACJA: Jest to nieco opóźnione, ale nie trzeba już ręcznie oddzielać części adresu pojedynczej linii. LiveAddress robi to za Ciebie. – Matt

5

Czy przejrzałeś Nominatim? Możesz przetasować swoje własne dane ponad OpenStreetMaps lub wysłać zapytania do OpenStreetMaps lub MapQuest. Możliwe wady obejmują licencję CC (wymaga atrybucji, może to być problem lub nie) oraz problem z weryfikacją (dane są prawie w całości gromadzone, więc występują nieścisłości). Wadami są mniej restrykcyjne zasady użytkowania, częste aktualizacje, ogólnoświatowy zasięg i oczywiście nie można pokonać ceny.

0

następujących opcji swoich Państwo

  1. GeoNames
  2. Gisgraphy
  3. GeoCoder

ja bezpośrednio przekazywane z Google o Google Maps licencyjnych problem. Niestety nie zdają sobie sprawy, że z powodu kosztów utracono duży udział w rynku.

Powiązane problemy