Ничего особенного добавить, но у меня был большой практический опыт в ГИС и геокодировании с предыдущей работы. Вот что я помню:
Если в вашем приложении есть необходимость "время от времени", я бы определенно рекомендовал API геокодирования Google или Yahoo, но внимательно прочитайте условия их лицензирования.
Я знаю, что API Карт Google в целом легко лицензировать даже для коммерческих веб-страниц, но его нельзя использовать в условиях платного доступа. Другими словами, вы можете использовать его для рекламы или предоставления услуг, которые приносят доход от рекламы, но вы не можете взимать плату с пользователей за доступ к вашему сайту или даже за то, что они используют систему паролей.
Несмотря на эти ограничения, оба они являются отличным выбором, поскольку они часто обновляют свои уличные базы данных. Большинство бесплатных серверных инструментов и библиотек используют данные о дорогах Census и TIGER, которые обновляются нечасто, поэтому у вас меньше шансов успешно геокодировать адреса в быстро растущих областях или новых подразделениях.
Большинство сервисов также ограничивают количество запросов геокодирования, которые вы можете делать в день, поэтому нормально искать адреса, скажем, новых клиентов, которые добавляются в вашу базу данных, но если вы запускаете пакетное задание, которое передает тысячи адресов из вашей базы данных в геокодер, вы отключитесь.
Я не думаю, что об этом уже упоминалось, но ESRI имеет веб-сервисы ArcWeb , которые включают геокодирование, хотя они и не очень дешевы. В прошлый раз, когда я их использовал, это стоило около 1,5 центов за поиск, но для начала вам пришлось заплатить определенную сумму. Опять же, основным преимуществом является то, что используемые ими дорожные данные своевременно обновляются, и вы можете использовать эти данные в коммерческих ситуациях, которые Google не позволяет. Сервис ArcWeb также будет обслуживать спутниковые и аэрофотоснимки высокого разрешения а-ля Карты Google, опять же по цене за запрос.
Если вы хотите развернуть свои собственные или получить доступ к гораздо более точным данным, вы можете приобрести подписку на данные ГИС у таких компаний, как TeleAtlas , но это не дешево. Вы можете купить только данные штата или округа, если ваши потребности чрезвычайно локальны. Существует несколько уровней данных - только функции ГИС, ГИС плюс подробные улицы, все это плюс данные геокодирования, все это плюс ограничения потока / направления / скорости трафика для маршрутизации. Конечно, цена повышается с ростом уровня.
Наконец, статья в Википедии о Геокодирование содержит хорошую информацию об алгоритмах и методах. Даже если вы не делаете это в своем собственном коде, полезно знать, какие ошибки и точность вы можете ожидать от различных типов источников данных.