Геокодова адреса один раз на картах google, збереження в базі даних, звідти читайте результат геокодування


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 Добре дякую. Чи можна зберегти до таблиці fusion google і якось пов’язати це з wordpress?
Роб

Вам потрібні дані розсилки ZIP + 4? Якщо так, то відповідь змінюється. Отже, чи збираєтесь ви надсилати що-небудь за адресою або просто використовувати геодані для місцезнаходження та положення?
Джефрі

1
Затримайтеся ... Я впевнений, що це все ще порушення TOS з API Yahoo.
Метт

Відповіді:


5

Відповідно до Умов використання YahooMaps , вам заборонено зберігати дані, які ви збираєте за допомогою API. (конкретно viii) "ВИ НЕ МОЖЕТЕ:"

(vi) користуйтеся Yahoo! API API з інформацією про місцезнаходження, що не перевищує 6 годин, і отримана від GPS-пристрою або будь-якого іншого пристрою зондування місця розташування;

(vii) використовувати Yahoo! API API з інформацією про місцеположення, отриманою від GPS-пристрою або будь-якого іншого пристрою зондування місця, де така інформація не була завантажена у вашу програму чи послугу безпосередньо кінцевим користувачем;

(viii) зберігати або дозволяти кінцевим користувачам зберігати зображення карти, дані карти або геокодовану інформацію про місцезнаходження з Yahoo! API API для будь-якого подальшого використання;

(ix) використовувати автономний геокодер для будь-якого використання, крім показу Yahoo! Карти або відображення точок на Yahoo! Карти;

(x) публікувати або показувати або дозволяти іншим користувачам публікувати чи показувати будь-яку геокодовану інформацію про місцезнаходження за допомогою будь-якого Yahoo! API 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 Амфітеатр Pkwy Mountain View, Каліфорнія 94043-1351

Існує ряд комерційних API, які проводять перевірку адреси. SmartyStreets просто буває тим, що я паркую машину щоранку. (Cdyne, StrikeIron, QAS - це декілька інших, які пропонують подібну послугу.) Ці комерційні послуги пропонують вам використовувати їх дані, які не пов'язані із надмірно обмежувальним TOS. В основному ви можете використовувати отриманий набір даних майже для будь-якого, що не має конкуренції безпосередньо.

Ви впевнені, що дані геокодування змінюються не дуже часто, і це, безумовно, можна кешувати локально або у вашій базі даних, щоб мінімізувати кількість запитів на сервер. Гарне мислення.


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

@Mapperz Свіжість та джерело вхідних даних адрес не були головною проблемою в TOS. Я цитував їх лише для того, щоб додати контекст до найважливішого пункту, який є: "ВИ НЕ МОЖЕТЕ" (viii) зберігати або дозволяти кінцевим користувачам зберігати зображення карти, дані карти або геокодовану інформацію про місцезнаходження з Yahoo! API API для будь-якого майбутнього використання. Не має значення, наскільки свіжі чи несвіжі дані.
Джеффрі

@Jeffrey У мене немає іншого вибору, як користуватися послугами Google протягом усього часу, це специфічна вимога від клієнта. Це виключає використання Yahoo або чогось іншого.
Роб

@ Teamworksdesign.com Чудово, що ви позбавляєте багато озиратися, і тепер ви можете копатися до коду. Удача!
Джефрі

5

Після багатьох копань Google фактично показує, як зберігати результати геокодування в базі даних. Оскільки в Google є власне підручник щодо того, як це зробити, я припускаю, що це не порушує чітких, як грязьових умов обслуговування, про які так багато згадали.


4

Використання робочої версії FME для "масового" геокодування з Yahoo PlaceFinder API

Обмеження 50 000 запитів на 24 години:

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

Ключовим компонентом є HTTPFetcher

Цей скріншот є високомодифікованою версією вільно доступного робочого простору "Створення веб-служб" http://fmepedia.safe.com/articles/FAQ/Building-Web-services-workspace

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

Введення декількох адрес (csv є найшвидшим)

Якість кожного геокодованого матчу записується (вище 87 - це добре)

Додано висоту від іншої служби (геоназви gtop30 dem)

Перевірка та фільтрація поганих адрес, на які слід звернути увагу.

(Спробуймо потрапити в магазин FME після перегляду домовленостей / умов).


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

Це виглядає як чудовий робочий процес, але майте на увазі, що зберігання результатів, безумовно, буде порушенням TOS.
Джефрі

лише якщо ви зберігаєте його довше 6 годин ... або використовуєте його разом із Yahoo Maps для відображення місць
Mapperz

Використання PlaceFinder не вимагає використання Yahoo! Карти або Yahoo! API Mapss.Eddie Babcock 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 ... дуже критичне відмінність, ви можете кешувати, але вони не хочуть, щоб ви використовували lat / long (наприклад) на чужій утиліті для картографування, будь то інший веб-сайт або "домашня мова" (хоча це буде чесно, я не впевнений, як хтось може відстежувати, де використовуються дані lat / long.

всі ліміти та інші обмеження, як зазначено в їхніх документах та інших керівних документах

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.