Как найти координаты по списку адресов

 

ela98

Пользователь

Сообщений: 20
Регистрация: 26.05.2019

Добрый день. Поделитесь, пожалуйста, макросом для получения по заданному списку адресов их гео-координат (широта и долгота).

 

Sanja

Пользователь

Сообщений: 14849
Регистрация: 10.01.2013

Пожалуйста

Согласие есть продукт при полном непротивлении сторон.

 

ela98

Пользователь

Сообщений: 20
Регистрация: 26.05.2019

Есть другой метод, вызывающий больше доверия?

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#4

18.06.2019 16:48:03

Доброе время суток

Цитата
ela98 написал:
Есть другой метод, вызывающий больше доверия?

Возможно есть — протестируйте на контрольных данных (таблица с известными адресами и geo-координатами, которые, например, вы лично прошли с GPS приёмником)  найденные макросы и выберите тот, который вызовет у вас большее доверие.

Изменено: Андрей VG18.06.2019 16:50:51
(что-то грамотен уж больно стал :( )

 

ela98, Ещё вариант

off
насколько точно определяет не тестировал, искал для того чтобы сначала спарсить данные из яндекса, а потом подсунуть на публичную кадастровую карту…….оказалось тотально не сходятся кординаты кадастровой карты на сайте РР и яндекса, по яндекс данным когда их потом вручную вбиваешь на сайте яндекса всё совпадает…. а если ввести на кадастровой карте то по яндексу кординаты могут быть одного региона….а показывает чуть ли не другой конец страны…

Изменено: Wild.Godlike18.06.2019 16:57:31

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#6

18.06.2019 17:20:17

Цитата
Wild.Godlike написал:
то по яндексу кординаты могут быть одного региона….а показывает чуть ли не другой конец страны…

Так может не ставить в запросе к Яндекс results=1? Тогда возможно в других вариантах выдачи найдётся что-то и поближе другого конца страны. :)

 

ela98

Пользователь

Сообщений: 20
Регистрация: 26.05.2019

Wild.Godlike

, спасибо! Попробую протестировать.

 

Андрей VG, Пробовал. но всё равно большое кол-во ошибок.(не прям поголовно из 1200 проверенных в ручную 118 ошибок было, жаль файлики не сохранились)
Например
Яндекс карты
64.00367 67.491425
КОМИ Воркута Авиационная 55
А подсунув их в РР получаю
Красноярск))))

Так что смотря для чего нужен парсер)))) И учитывая как работает РР……предположу на процентов 70 что это их косяк.

Изменено: Wild.Godlike18.06.2019 17:32:08

 

Андрей VG

Пользователь

Сообщений: 11878
Регистрация: 22.12.2012

Excel 2016, 365

#9

18.06.2019 18:32:20

Цитата
Wild.Godlike написал:
А подсунув их в РР получаюКрасноярск

Всё может быть. Таланты разные базу формируют :)  Спасибо за предупреждение и информацию.

 

dx1234

Пользователь

Сообщений: 4
Регистрация: 05.02.2020

#10

05.02.2020 12:09:02

Добрый день. Скиньте пожалуйста рабочую версию файла а то не работает но ОЧЕНЬ нужно

Цитата
Wild.Godlike написал:
Прикрепленные файлы
парсер кординат.xlsm  (30.24 КБ)
 

Vladimir Chebykin

Пользователь

Сообщений: 1261
Регистрация: 15.01.2015

#11

05.02.2020 12:20:56

Цитата
dx1234 написал:
Скиньте пожалуйста рабочую версию файла а то не работает но ОЧЕНЬ нужно

Дело не в файле, а в Яндексе. Полгода назад еще Яндекс позволял бесплатно (вроде 2500 адресов в сутки с одного IP-адреса) выгружать данные. Насколько я знаю, то теперь эта лавочка прикрыта и Яндекс принуждает устанавливать их геокодер. Подробностей не знаю

 

dx1234

Пользователь

Сообщений: 4
Регистрация: 05.02.2020

Как тогда можно реализовать то-же самое на данный момент времени?

 

doober

Пользователь

Сообщений: 2223
Регистрация: 09.04.2013

Получаете у яндекса бесплатный ключ для апи геокодера и дело в шляпе.

 

dx1234

Пользователь

Сообщений: 4
Регистрация: 05.02.2020

Ключ получил. Куда его правильно вставить
С этого сайта

https://tech.yandex.ru/maps/geocoder/doc/desc/concepts/input_params-docpage/

нажал на кабинет разработчика и получил ключ JavaScript API и HTTP Геокодер

 

doober

Пользователь

Сообщений: 2223
Регистрация: 09.04.2013

 

dx1234

Пользователь

Сообщений: 4
Регистрация: 05.02.2020

Спасибо помогло.
Нужно было в коде добавить ключ и в итоге заработало
iURL = «

https://geocode-maps.yandex.ru/1.x/?apikey=<КЛЮЧ АПИ ЯНДЕКСА>&geocode=&quot

; & iAdress & «&format=xml&lang=ru_RU&results=1»

 

vick Gura

Пользователь

Сообщений: 1
Регистрация: 18.02.2022

Всем привет. А кто то может сделать такое для Гугл таблиц? готов оплатить услугу.  Почему то файл скачанный тут, выдает ошибку.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#18

18.02.2022 10:22:59

Цитата
vick Gura написал: сделать такое для Гугл таблиц? готов оплатить услугу.

Создайте заказ в разделе Работа

Поиск координат по адресам в Google Maps

Программа позволяет загрузить координаты для списка адресов в таблице Excel

Исходными данными выступает столбец с адресами объектов (город, улица, номер дома)

Программа выполняет запрос к сервису geocode через Google API,
и получает информацию об объекте в формате XML

(полный адрес с индексом, правильное название района, города и улицы, координаты объекта — широту и долготу),
и выводит результаты (в данном случае — только координаты: LON и LAT) в таблицу Excel (в столбцы справа)

Для уменьшения вероятности бана со сторону Google (из-за большого количества запросов),
можно задать паузу (интервал) между запросами (от 0 до 60 секунд)

К ячейкам с адресами объектов добавляются гиперссылки, позволяющие открыть найденную в Google информацию по объекту.

UPD:

Есть также решение для ЯндексКарт, — если нужно, пишите на почту, прикрепив к письму файл с адресами, и указав, куда надо вставлять координаты

UPD: макрос этот более не продаётся, — теперь нужен API ключ для получения этих данных
(требуется переделка макроса)


Краткое описание

Новая версия макроса для Excel (VBA) для быстрого и удобного получения гео-координат/адресов из Yandex и Google. В качестве исходных данных на листе указывается список адресов (для получения координат) или список координат (для обратного геокодирования). Результаты запроса будут выведены в соседние ячейки.

Подробное описание

Некоторое время назад на сайте был опубликован макрос для получения координат из Yandex.
Несмотря на небольшой размер своего кода, макрос в удобном режиме позволяет по заданному списку адресов получать их geo-координаты (широту и долготу).

В текущей статье публикуем новый (доработанный) макрос для работы с координатами и адресами.

Изменения в новом макросе:

  1. Макрос может работать с API Яндекса и Гугла.
    Для работы с сервисом Яндекса используйте лист «yandex», для работы с Гуглом — лист «google». Предыдущая версия работала только с Яндекс.
  2. Из кода макроса исключен параметр KEY.
    Это значит, что теперь не нужно получать ключ разработчика для корректной работы макроса. Теперь всё работает без KEY. Разумеется, общие ограничения сервисов по прежнему имеют место — это около 25 000 запросов в сутки с одного IP. При необходимости узнать более подробно о действующих ограничениях, следуйте по ссылкам: лимиты для яндекса, лимиты для гугл.
  3. Добавлена возможность обратного геокодирования (определение адреса по долготе и широте).
    Для работы с обратным геокодированием необходимо соблюдать несколько важных нюансов, касающихся формата записи строки с координатами:
         — для Yandex координаты необходимо указывать в формате (через запятую, без пробелов): долгота,широта
         — для Google координаты необходимо указывать в формате (через запятую, без пробелов): широта,долгота
    В приложенном файле с макросом на соответствующих листах есть примеры как для Yandex, так и для Google.
  4. Добавлена статистика по количеству обработанных строк.
    Статистика начинает отображаться после запуска макроса. Наблюдать статистику можно в строке статус бара Excel.
  5. Типы переменных для работы с XML переименованы в Object.
    В предыдущей версии макроса типы были строго заданы как MSXML2.DOMDocument и MSXML2.IXMLDOMNodeList. Как следствие, возникали ошибки в процессе работы, если на ПК пользователя не было соответствующих библиотек «Microsoft XML».

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

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

Важно!


Для работы с макросом предварительно необходимо получить API-ключ для Yandex/Google. Видео с инструкцией, как подключить нужный API Yandex, можно посмотреть по ссылке.
Соответствующее значения API-ключа указывается на листе «Настройки».
В целом, для Yandex принципиально ничего не изменилось, а вот у Google с августа 2018 г. действуют новые условия получения API (необходимо регистрировать аккаунт Google Cloud Platform и привязывать к нему свою б/карту; после данных настроек суточный бесплатный лимит по-прежнему работает).

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



может так?
http://nominatim.openstreetmap.org/?format=json&q=…

{
place_id: "67176841",
licence: "Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright",
osm_type: "way",
osm_id: "47433257",
boundingbox: [
"55.7816307",
"55.7824031",
"37.5862366",
"37.5864554"
],
lat: "55.7816985",
lon: "37.5862554",
display_name: "улица Бутырский Вал, Сущёво, Tverskoy District, Центральный административный округ, Москва, Центральный федеральный округ, 125047, Российская Федерация",
class: "highway",
type: "tertiary",
importance: 0.2
},

wiki.openstreetmap.org/wiki/Nominatim#Example

Геокодирование адресов, легко и быстро

Геокодирование — это процесс превращения информации об адресе, городе, регионе или почтовом индексе в переносимые на карту координаты. Чтобы использовать практически любой онлайн-инструмент для картографирования, например, Google Карты, вам понадобятся данные о координатах (широте и долготе) для каждого из ваших местоположений, поэтому эта информация должна пройти процесс геокодирования.

Пакетное геокодирование с использованием нашего сервиса выглядит максимально просто — вам всего-то и нужно, что копировать и вставлять список местоположений. BatchGeo применяет в работе API Google Maps Geocoding, который обладает доступом к наиболее качественным данным. Другие сервисы требуют, чтобы вы писали код или выполняли геокодирование вручную, вводя каждый адрес отдельно, но наш сервис сам делает всё, что нужно и за несколько простых шагов. Создаваемыми на основе ваших данных картами можно делиться в закрытом режиме, публиковать их для общего доступа и даже вставлять на страницы вашего веб-сайта.

Как работает адресное геокодирование?

Существуют различные типы геокодирования с разным уровнем точности. Прежде чем мы познакомимся с более точным методом, который применяется в BatchGeo, давайте рассмотрим популярные способы, которые используют многие другие сервисы геокодирования.

Геокодирование по объектам (интерполяционное)

Как следует из название этого способа, данный тип геокодирования интерполирует местонахождение адреса исходя из проверенных объектов, например, перекрёстков для улиц с координатной привязкой. Допустим, вы хотите превратить адрес ул. Зоологическая, 160 в вашем родном городе в географические координаты.

  1. Сначала осуществляется поиск по названию улицы, направлению и типу улицы согласно базе данных. Система отличает улицу от других Зооологических улиц по названию города или почтовому индексу, если он известен.
  2. Определив улицу, геокодер использует номер улицы, чтобы определить ближайший квартал.
  3. Далее в дело вступает интерполяция, которая является наименее точным этапом в процессе геокодерования. В квартале порядка 100 потенциальных адресов, но домов всего около 12. Геокодер сделает допущение, что номер 160 находится чуть дальше середины квартала.
  4. Ещё одно допущение, которое должен сделать геокодер, это угадать, как далеко от центра улицы находится здание. Как правило эти данные задаются при настройке геокодера, и как правило это расстояние составляет ок. 15 метров. Невозможно точно угадать, как далеко от улицы отстоит здание или где у него вход, но в большинстве случаев догадки геокодер более-менее верны.
  5. И наконец геокодер должен выбрать, по какой стороне улицы расположен адрес. В большинстве городов чётные и нечётные дома находятся на противоположных сторонах улицы, но так бывает не всегда, поэтому геокодер должен хорошо знать правила данного региона, чтобы выдать точный результат.

Как видите, интерполяция происходит в несколько этапов, во время которых геокодеру приходится делать определённые догадки. Догадки, основанные на информации, могут давать довольно неплохие результаты, но могут быть и такие, которые будут очень далеки от реальности. Именно по этой причине, стоит прибегать к более точным методам геокодирования.

Геокодирование по областям

В сравнении с другими методами, геокодирование по областям — метод намного проще, но для его применения требуется намного более подробная информация. Вместо интерполирования точки на основе других близлежащих объектов, геокодирование по областям требует наличия информации о границах каждой области. Другими словами, геокодер знает, где расположен каждый участок (область).

Чтобы определить расположение дома по ул. Зоологическая, 160 при помощи геокодирования по областям, геокодер будет искать данный адрес в базе данных областей. Конечно, адрес всё равно необходимо будет отделить от других улиц с таким же названием, но геокодеру не придётся интерполировать местонахождение объекта на основе данных на уровне блока. Геокодирование по областям использует данные на уровне области.

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

Как работает геокодирование BatchGeo?

Наш геокодер использует наиболее точные данные для геокодирования, те же самые, что используют Google Карты. API Google Maps Geocoding применяет геокодирование по областям, обеспечивая более точные результаты. Путём быстрого обмена данными с сервисом компании Google, наша система быстро превращает ваши Excel-таблицы и другие списки адресов в интересные, простые в использовании и невероятно точные карты.

Понравилась статья? Поделить с друзьями:
  • Как составить план рассказа плутишка кот
  • Как найти расстояние сечения от центра шара
  • Как найти мой сайт в контакте
  • Как найти оборот за месяц
  • Как найти сроки строительства