Ich möchte einen Geokodierungs-Webdienst für die Genealogie in Java schreiben. Da es sich um Genealogie handelt, muss ich nicht auf die Straße gehen. Ich muss nur in die Grafschaft gehen.
Bei Genealogie-Daten sind falsch geschriebene Namen sehr häufig. Die Leute verwenden auch viele nicht-Standard-Abkürzungen. Zum Beispiel für Baltimore County könnte so aussehen:
- Baltimore
- Baltimore County
- Baltimore Co
- Baltimore Cty
quelle
Ein Geokodierungsdienst benötigt geografische Geometriedaten, einen zugehörigen Gazetteer (zur Bearbeitung von Namen und Namensalternativen) und eine Benutzeroberfläche (zur Vermittlung der Suche). Für einen Reverse-Geocoder müssen Sie einen Topologie-Validator hinzufügen. Für Java bietet sich die Open Source JTS Topology Suite an: http://www.vividsolutions.com/jts/jtshome.htm
Grafschaftsgeometrien für die Vereinigten Staaten können bei der Volkszählung gefunden werden: http://www.census.gov/geo/www/cob/co2000.html
Um mit dem Gazetteer zu beginnen, verfügt das US-amerikanische Board on Geographic Names über eine Datenbank: http://geonames.usgs.gov/
Das Erstellen einer soliden Gazetteer-Datenbank und von Webalgorithmen, die ungefähre Suchtreffer tolerieren, sind der schwierige Teil.
quelle
für Java Geocoder versuchen Sie http://jgeocoder.sourceforge.net/
Ein wenig veraltet (2008), aber dennoch nützlich ist ein Wiki http://docs.codehaus.org/display/JGEOCODER/JGeocoder+-+Free+Java+Geocoder
quelle
Google hat eine nette API für die Geokodierung , wenn Sie deren Nutzungsbedingungen einhalten können. Eine grundlegende Demo finden Sie hier .
Die Verwendung ihres Dienstes unterliegt gewissen Einschränkungen, aber das Ergebnis ist für die meisten Benutzer intuitiv, schnell, genau und vertraut. Sie können sich auf die Entwicklung des Genealogie-Teils Ihres Dienstes konzentrieren.
quelle