Gostaria de escrever um serviço da web de geocodificação para genealogia em Java. Porque é para genealogia, não preciso descer até o nível da rua. Eu só preciso ir até o município.
Analisando dados de genealogia, nomes com erros ortográficos são muito comuns. As pessoas também usam muitas abreviações fora do padrão. Por exemplo, para o condado de Baltimore, pode parecer com:
- Baltimore
- Baltimore County
- Baltimore Co
- Baltimore Cty
fonte
Um serviço de geocodificação precisa de dados geográficos geográficos, um gazetteer associado (para lidar com alternativas de nomes e nomes) e uma interface do usuário (para mediar a pesquisa). Para um geocoder reverso, você precisará adicionar um validador de topologia. Para Java, o JTS Topology Suite de código aberto seria a escolha natural: http://www.vividsolutions.com/jts/jtshome.htm
As geometrias de condados dos Estados Unidos podem ser encontradas no Censo: http://www.census.gov/geo/www/cob/co2000.html
Para começar no gazetteer, o US Board on Geographic Names possui um banco de dados: http://geonames.usgs.gov/
Criar um banco de dados sólido de gazetteers e algoritmos de tecelagem que toleram correspondências aproximadas de pesquisa são a parte difícil.
fonte
para Java Geocoder, tente http://jgeocoder.sourceforge.net/
um pouco datado (2008), mas ainda pode ser útil, tem um wiki http://docs.codehaus.org/display/JGEOCODER/JGeocoder+-+Free+Java+Geocoder
fonte
O Google tem uma ótima API para geocodificação , se você pode seguir os termos de serviço. A demonstração básica pode ser encontrada aqui .
A utilização do serviço está sujeita a algumas limitações, mas o resultado é intuitivo, rápido, preciso e familiar para a maioria dos usuários. Isso permitirá que você se concentre no desenvolvimento da parte genealógica do seu serviço.
fonte