В соответствии с Условиями обслуживания YahooMaps , вам не разрешается хранить данные, которые вы собираете с помощью API. (в частности, viii) «НЕ НУЖНО»
(vi) использовать Yahoo! API-интерфейсы карт с информацией о местоположении, срок действия которой менее 6 часов и полученной с устройства GPS или любого другого устройства определения местоположения;
(vii) использовать Yahoo! API-интерфейсы карт с информацией о местоположении, полученной с устройства GPS или любого другого устройства определения местоположения, когда такая информация не была загружена конечным пользователем непосредственно в ваше приложение или службу;
(viii) хранить или разрешать конечным пользователям хранить изображения карты, данные карты или геокодированную информацию о местоположении из Yahoo! API Карт для любого будущего использования;
(ix) использовать автономный геокодер для любых целей, кроме отображения Yahoo! Карты или отображение точек на Yahoo! Карты;
(x) публиковать или отображать или разрешать другим пользователям публиковать или отображать любую геокодированную информацию о местоположении с использованием любой Yahoo! API Карт;
Это согласуется с тем, что я видел в TOS от Google, Bing, MapQuest и Yahoo. Причина этого заключается в том, что они получают прямую выгоду от возможности представлять результаты конечному пользователю. Если их логотип и «карты от Google» не отображаются, они не получают никакого «уличного кредита» или воздействия. Таким образом, их стимул для предоставления услуг исчез. Они позволяют вам очень легко пользоваться услугой (чрезвычайно легко), но они также устанавливают разумные ограничения. Пока вы используете их данные, чтобы заработать на них деньги (даже если они просто получают информацию), вы находитесь в рамках условий их TOS. Если вы попытаетесь обойти эти условия, вы рискуете быть отрезанным в любое время. Не радует история, если ваш сервис основан на их обслуживании.
Я никогда не использовал инструментальные средства FME, он выглядит действительно мощным (и в то же время более сложным, чем необходимо), но все равно будет зависеть от TOS поставщиков данных. Сравните рабочий процесс FME с этим простым HTTP-запросом к API LiveAddress от SmartyStreets:
https://api.qualifiedaddress.com/street-address/?street=1600+Ampytheatr+Pkway+Mountain+Vew+ca&auth-token=23350695
Он берет следующий адрес и стандартизирует его (включая очевидное исправление орфографии), проверяет, что он является доставляемым, а затем геокодирует его и разбивает адрес на различные компоненты, выводя его в виде потока JSON. (если вы не читаете JSON, вы можете подключить вывод к формататору JSON для гораздо более удобочитаемых результатов. (Не стесняйтесь использовать свои собственные данные в строке URL, а также для целей тестирования)
1600 Ampytheatr Pkway Mountain Vew, Калифорния
становится
1600 Амфитеатр Пкви Маунтин Вью, Калифорния 94043-1351
Существует целый ряд коммерческих API-интерфейсов, которые выполняют проверку адреса, и SmartyStreets - это тот, который я каждое утро паркую свою машину. (Cdyne, StrikeIron, QAS - некоторые другие, которые предлагают аналогичную услугу.) Эти коммерческие услуги предлагают вам использовать их данные, которые не связаны чрезмерно ограничительным TOS. Вы можете в основном использовать полученный набор данных для чего-либо, кроме прямой конкуренции.
Вы правы в том, что данные геокодирования меняются не очень часто и, безусловно, могут быть кэшированы локально или в вашей базе данных, чтобы минимизировать количество запросов к серверу. Хорошая мысль.