Можно ли геокодировать адрес, сохранить результат в базе данных, а затем прочитать этот результат?
Я использую карту Google, которая геокодирует сотни адресов, которые явно достигают предела геокодирования. После геокодирования адрес вряд ли снова изменится, поэтому имеет смысл сохранить результат геокодирования в базе данных.
Я использую Wordpress в качестве платформы, поэтому, если возможно, я бы хотел сохранить геокодированный результат в виде поля в базе данных, относящейся к конкретной компании.
КЛИЕНТ СПЕЦИАЛЬНО ЗАПРОСИЛ, ЧТОБЫ ИСПОЛЬЗОВАТЬ GOOGLE НА ОСНОВЕ ПРОЕКТА, ПОЭТОМУ ПРАВИЛЬНО ОТКАЗЫВАЯСЯ ОТ YAHOO ИЛИ НИЧЕГО.
ОБНОВЛЕНИЕ: все говорят о том, что я спрашиваю, идет вразрез с их TOS, но разве их собственный пример не делает то же самое - developers.google.com/maps/articles/phpsqlgeocode ?
источник
Ответы:
В соответствии с Условиями обслуживания YahooMaps , вам не разрешается хранить данные, которые вы собираете с помощью API. (в частности, viii) «НЕ НУЖНО»
Это согласуется с тем, что я видел в 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. Вы можете в основном использовать полученный набор данных для чего-либо, кроме прямой конкуренции.
Вы правы в том, что данные геокодирования меняются не очень часто и, безусловно, могут быть кэшированы локально или в вашей базе данных, чтобы минимизировать количество запросов к серверу. Хорошая мысль.
источник
После многих копаний Google фактически показывает, как сохранить результаты Geocode в базе данных. Поскольку существует реальное руководство от Google о том, как это сделать, я предполагаю, что это не нарушает ясные и грязные условия обслуживания, о которых упоминали многие.
источник
Использование FME Workbench для выполнения «объемного» геокодирования из Yahoo PlaceFinder API
Лимит в 50 000 запросов в сутки:
Ключевым компонентом является HTTPFetcher
Этот снимок экрана представляет собой сильно измененную версию свободно доступного «рабочего пространства для создания веб-служб» http://fmepedia.safe.com/articles/FAQ/Building-Web-services-workspace
Модификации:
Многоадресный ввод (csv самый быстрый)
Записывается качество каждого геокодированного матча (выше 87 - хорошо)
Добавлена высота от другого сервиса (geonames gtop30 dem)
Проверка и фильтрация плохих адресов для просмотра.
(Постараюсь попасть в магазин FME после просмотра соглашения / условий).
источник
Короткий ответ на ваш первоначальный вопрос - да, если вы используете картографический сервис Google , вы можете сохранять результаты. Это ясно прописано (после нескольких перечитаний) в их ToS и их API геокодирования.
Вы должны знать, что, как и многие другие популярные службы геокодирования, они также требуют, чтобы вы
Обратите внимание, # 1 ... очень важное различие, вы можете кешировать, но они не хотят, чтобы вы использовали лат / лонг (например) в чьей-либо утилите картирования, будь то другой веб-сайт или "доморощенный" (хотя это будет Честно говоря, я не уверен, как кто-то может отследить, где используются данные широты и долготы.
все ограничения и другие ограничения, как указано в их ToS и других руководящих документах.
источник