Tworzysz serwis internetowy do geokodowania / gazetera?

14

Chciałbym napisać usługę geokodowania dla genealogii w Javie. Ponieważ chodzi o genealogię, nie muszę schodzić na poziom ulicy. Muszę tylko zejść do hrabstwa.

Patrząc na dane genealogiczne, błędnie napisane nazwy są bardzo częste. Ludzie używają również wielu niestandardowych skrótów. Na przykład hrabstwo Baltimore może wyglądać następująco:

  1. Baltimore
  2. Hrabstwu Baltimore
  3. Baltimore Co
  4. Baltimore Cty
Jay Askren
źródło

Odpowiedzi:

10

Nie sądzę, aby to pytanie było ściśle geograficzne, ponieważ interesują Cię tylko nazwy, więc możesz zadać je w przypadku przepełnienia stosu . Możesz odpowiedzieć na swoje pytanie dwiema informacjami: stanem i poprawioną nazwą powiatu. Aby wykonać poprawki, prawdopodobnie będziesz chciał użyć odległości Levenshteina ( przykład i implementacja Java ), aby dopasować rozmyte dane do poprawionych wartości.

scw
źródło
+1 To chyba prawda. Levenshtein wygląda na dobre miejsce do rozpoczęcia i wygląda na to, że Postgres go obsługuje. Dzięki.
Jay Askren,
Myślę, że połączenie odległości Levenshteina z danymi z Geonames ( geonames.org ) może dla mnie działać. Dzięki.
Jay Askren,
5

Usługa geokodowania potrzebuje danych geometrii geograficznej, powiązanego dziennikarz (do obsługi nazewnictwa i alternatywnych nazw) oraz interfejsu użytkownika (do pośredniczenia w wyszukiwaniu). W przypadku geokodera odwrotnego musisz dodać walidator topologii. W przypadku Javy naturalnym wyborem będzie pakiet JTS Topology Suite typu open source: http://www.vividsolutions.com/jts/jtshome.htm

Geometrii hrabstwa dla Stanów Zjednoczonych można znaleźć w spisie ludności: http://www.census.gov/geo/www/cob/co2000.html

Aby rozpocząć korzystanie z gazetera, amerykańska Rada ds. Nazw Geograficznych ma bazę danych: http://geonames.usgs.gov/

Trudno jest stworzyć solidną bazę danych gazeterów i algorytmy tkackie, które tolerują przybliżone dopasowania wyszukiwania.

glennon
źródło
Algorytmy są tym, czego szukam.
Jay Askren,
Zapytania o semantyczne algorytmy podobieństwa mogą mieć więcej respondentów w głównej witrynie przepełnienia stosu.
glennon
1

Google ma fajny interfejs API do geokodowania , jeśli możesz przestrzegać ich warunków świadczenia usług. Podstawowe demo można znaleźć tutaj .

Korzystanie z ich usług podlega pewnym ograniczeniom, ale wynik jest intuicyjny, szybki, dokładny i znany większości użytkowników. Pozwoli ci to skoncentrować się na rozwoju genealogicznej części twojej usługi.

Adam Matan
źródło
Naprawdę chciałbym hostować wszystko w domu i nie zależeć od zewnętrznego interfejsu API.
Jay Askren,
Więc szukasz bazy danych Geocoding na licencji Open Source?
Adam Matan,