Геокодировать адрес один раз в Google Maps, сохранить в базе данных, прочитать результат геокодирования оттуда на


13

Можно ли геокодировать адрес, сохранить результат в базе данных, а затем прочитать этот результат?

Я использую карту Google, которая геокодирует сотни адресов, которые явно достигают предела геокодирования. После геокодирования адрес вряд ли снова изменится, поэтому имеет смысл сохранить результат геокодирования в базе данных.

Я использую Wordpress в качестве платформы, поэтому, если возможно, я бы хотел сохранить геокодированный результат в виде поля в базе данных, относящейся к конкретной компании.

КЛИЕНТ СПЕЦИАЛЬНО ЗАПРОСИЛ, ЧТОБЫ ИСПОЛЬЗОВАТЬ GOOGLE НА ОСНОВЕ ПРОЕКТА, ПОЭТОМУ ПРАВИЛЬНО ОТКАЗЫВАЯСЯ ОТ YAHOO ИЛИ НИЧЕГО.

ОБНОВЛЕНИЕ: все говорят о том, что я спрашиваю, идет вразрез с их TOS, но разве их собственный пример не делает то же самое - developers.google.com/maps/articles/phpsqlgeocode ?


6
Пожалуйста, ознакомьтесь с положениями и условиями 10.0.3 (a, b, c) developers.google.com/maps/terms. Вы не должны использовать Контент для создания независимой базы данных «мест» или другой информации о местных списках.
Mapperz

3
У Yahoo PlaceFinder developer.yahoo.com/geo/placefinder есть лучшие Условия использования - у API Placefinder нет упомянутого ограничения относительно хранения возвращенных данных местоположения.
Mapperz

@Mapperz Хорошо, спасибо. Можно ли сохранить таблицу Google Fusion и как-то связать это с WordPress?
Роб

Вам нужны почтовые данные ZIP + 4? Если так, то это меняет ответ. Итак, вы собираетесь отправлять что-либо по адресу или просто использовать геоданные для определения местоположения и местоположения?
Джеффри

1
Подожди ... Я почти уверен, что это все еще является нарушением TOS и API Yahoo.
Мэтт

Ответы:


5

В соответствии с Условиями обслуживания 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. Вы можете в основном использовать полученный набор данных для чего-либо, кроме прямой конкуренции.

Вы правы в том, что данные геокодирования меняются не очень часто и, безусловно, могут быть кэшированы локально или в вашей базе данных, чтобы минимизировать количество запросов к серверу. Хорошая мысль.


Данные обновляются каждые 6 часов, и предполагается, что они будут использоваться с Yahoo Maps - ключевая часть >> использовать Yahoo! API-интерфейсы карт с информацией о местоположении, срок действия которой менее 6 часов и полученной с устройства GPS или любого другого устройства определения местоположения;
Mapperz

@Mapperz Свежесть и источник ввода адресных данных не были главной проблемой в TOS. Я процитировал их просто для того, чтобы добавить контекст к наиболее важному пункту: «ВЫ НЕ ДОЛЖНЫ» (viii) хранить или разрешать конечным пользователям сохранять изображения карты, данные карты или информацию о геокодированном местоположении из Yahoo! API Карт для любого будущего использования. Неважно, насколько свежи или несвежи данные.
Джеффри

@ Джеффри У меня нет другого выбора, кроме как использовать сервисы Google повсюду, это особое требование от клиента. Это исключает использование Yahoo или чего-либо еще.
Роб

@ Teamworksdesign.com Отлично, это избавляет от множества осмотров, и теперь вы можете копаться в коде. Удача!
Джеффри

5

После многих копаний Google фактически показывает, как сохранить результаты Geocode в базе данных. Поскольку существует реальное руководство от Google о том, как это сделать, я предполагаю, что это не нарушает ясные и грязные условия обслуживания, о которых упоминали многие.


4

Использование FME Workbench для выполнения «объемного» геокодирования из Yahoo PlaceFinder API

Лимит в 50 000 запросов в сутки:

введите описание изображения здесь

Ключевым компонентом является HTTPFetcher

Этот снимок экрана представляет собой сильно измененную версию свободно доступного «рабочего пространства для создания веб-служб» http://fmepedia.safe.com/articles/FAQ/Building-Web-services-workspace

Модификации:

Многоадресный ввод (csv самый быстрый)

Записывается качество каждого геокодированного матча (выше 87 - хорошо)

Добавлена ​​высота от другого сервиса (geonames gtop30 dem)

Проверка и фильтрация плохих адресов для просмотра.

(Постараюсь попасть в магазин FME после просмотра соглашения / условий).


Мне было бы очень интересно увидеть ваше рабочее пространство, так как это также относится к нескольким целям моей программы ...
DEWright

Это похоже на отличный рабочий процесс, но имейте в виду, что сохранение результатов, безусловно, является нарушением TOS.
Джеффри

только если вы храните его более 6 часов ... или используете его вместе с Yahoo Maps для отображения местоположений
Mapperz

Использование PlaceFinder не требует использования Yahoo! Карты или Yahoo! Карты API. Эдди Бэбкок, Yahoo! Geo Technologies developer.yahoo.com/forum/PlaceFinder-General-Discussion/…
Mapperz

@Mapperz Что ж, в TOS сказано: «ВЫ НЕ НУЖНО:« {в верхнем регистре также} »храните или разрешите конечным пользователям сохранять изображения карты, данные карты или геокодированную информацию о местоположении из API Yahoo! Maps для любого будущего использования». Это выглядит довольно ясно, что если намерение состоит в том, чтобы «хранить» данные, это нарушает TOS. Но это, безусловно, оставлено для интерпретации. Все это говорит: если бы я создавал коммерческое приложение, я хотел бы убедиться, что моя интерпретация была такой же, как и интерпретация поставщиков данных, так как они (в данном случае Yahoo) удерживают окончательный переключатель уничтожения.
Джеффри

4

Короткий ответ на ваш первоначальный вопрос - да, если вы используете картографический сервис Google , вы можете сохранять результаты. Это ясно прописано (после нескольких перечитаний) в их ToS и их API геокодирования.

Вы должны знать, что, как и многие другие популярные службы геокодирования, они также требуют, чтобы вы

  1. Используйте только полученные и кэшированные данные Google с их утилитами картирования
  2. Если это внутренняя, а не внешняя общедоступная бесплатная утилита, вы должны зарегистрироваться в качестве коммерческого клиента, чтобы использовать ее на законных основаниях.

Обратите внимание, # 1 ... очень важное различие, вы можете кешировать, но они не хотят, чтобы вы использовали лат / лонг (например) в чьей-либо утилите картирования, будь то другой веб-сайт или "доморощенный" (хотя это будет Честно говоря, я не уверен, как кто-то может отследить, где используются данные широты и долготы.

все ограничения и другие ограничения, как указано в их ToS и других руководящих документах.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.