Я хотел бы написать веб-сервис геокодирования для генеалогии в Java. Поскольку это для генеалогии, мне не нужно спускаться до уровня улицы. Мне нужно только спуститься в округ.
Глядя на данные генеалогии, имена с ошибками очень распространены. Люди также используют много нестандартных сокращений. Например, для округа Балтимор может выглядеть так:
- Балтимор
- Округ Балтимор
- Балтимор Ко
- Балтимор Cty
источник
Служба геокодирования нуждается в данных о географической геометрии, соответствующем справочнике (для обработки имен и альтернатив имен) и пользовательском интерфейсе (для обеспечения поиска). Для обратного геокодера вам нужно добавить валидатор топологии. Для Java естественным выбором будет JTS Topology Suite с открытым исходным кодом: http://www.vividsolutions.com/jts/jtshome.htm
Геометрию округа для Соединенных Штатов можно найти в переписи: http://www.census.gov/geo/www/cob/co2000.html
Чтобы начать работу с бюллетенем, у Совета по географическим названиям США есть база данных: http://geonames.usgs.gov/
Создание надежной базы данных Gazetteer и алгоритмы ткачества, которые допускают приблизительные результаты поиска, являются трудной частью.
источник
для Java Geocoder попробуйте http://jgeocoder.sourceforge.net/
немного устаревший (2008), но все еще может быть полезным, имеет вики http://docs.codehaus.org/display/JGEOCODER/JGeocoder+-+Free+Java+Geocoder
источник
У Google есть хороший API для геокодирования , если вы можете следовать их условиям обслуживания. Основное демо можно найти здесь .
Использование их услуг имеет некоторые ограничения, но результат является интуитивно понятным, быстрым, точным и знакомым большинству пользователей. Это позволит вам сосредоточиться на разработке генеалогической части вашего сервиса.
источник