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:
- Baltimore
- Hrabstwu Baltimore
- Baltimore Co
- Baltimore Cty
źródło
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.
źródło
dla Java Geocoder spróbuj http://jgeocoder.sourceforge.net/
trochę przestarzały (2008), ale nadal może być użyteczny ma wiki http://docs.codehaus.org/display/JGEOCODER/JGeocoder+-+Free+Java+Geocoder
źródło
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.
źródło