Me gustaría escribir un servicio web de geocodificación para genealogía en Java. Debido a que es para la genealogía, no necesito bajar al nivel de la calle. Solo necesito ir al condado.
En cuanto a los datos de genealogía, los nombres mal escritos son muy comunes. Las personas también usan muchas abreviaturas no estándar. Por ejemplo, para el condado de Baltimore podría verse así:
- Baltimore
- Condado de Baltimore
- Baltimore Co
- Baltimore Cty
fuente
Un servicio de geocodificación necesita datos de geometría geográfica, un diccionario geográfico asociado (para manejar las alternativas de nombres y nombres) y una interfaz de usuario (para mediar en la búsqueda). Para un geocodificador inverso, deberá agregar un validador de topología. Para Java, el JTS Topology Suite de código abierto sería la opción natural: http://www.vividsolutions.com/jts/jtshome.htm
Las geometrías del condado para los Estados Unidos se pueden encontrar en el Censo: http://www.census.gov/geo/www/cob/co2000.html
Para comenzar con el diccionario geográfico, la Junta de Nombres Geográficos de EE. UU. Tiene una base de datos: http://geonames.usgs.gov/
La parte difícil es crear una base de datos de diccionario geográfico sólida y algoritmos de tejido que toleren coincidencias de búsqueda aproximadas.
fuente
para Java Geocoder intente http://jgeocoder.sourceforge.net/
un poco anticuado (2008) pero aún podría ser útil tiene un wiki http://docs.codehaus.org/display/JGEOCODER/JGeocoder+-+Free+Java+Geocoder
fuente
Google tiene una buena API para geocodificar , si puede seguir sus términos de servicio. La demostración básica se puede encontrar aquí .
El uso de su servicio está sujeto a algunas limitaciones, pero el resultado es intuitivo, rápido, preciso y familiar para la mayoría de los usuarios. Le permitirá concentrarse en desarrollar la parte de genealogía de su servicio.
fuente