Получение координат с помощью сервиса Яндекса
В современном мире существует множество сервисов, которые работают с геоданными.
Прямое геокодирование решает проблему определения координат по адресу. Это может быть полезно во многих ситуациях, например:
- Навигация — определение местоположения пользователя для построения маршрута.
- Локализация контента — адаптация информации под географическое положение пользователя.
- Анализ данных — изучение распределения определённых явлений или событий в пространстве.
API Геокодер Яндекса — это инструмент, который позволяет получать информацию о географическом положении объектов на карте. С его помощью можно осуществлять преобразование адресов в координаты (геокодирование) и наоборот, а также получать различные географические данные, такие как название страны, региона, города, улицы и даже номер дома.
API Геокодер имеет свои ограничения и правила, которые необходимо учитывать при использовании сервиса. Для ознакомления с ними следует обратиться к документации по API.
Примечание: Демопример имеет ограничение демонстрации всех возможностей при запуске на демостенде (Запустить демо). Рекомендуем установить пример локально.
Предварительная подготовка
Для доступа к API Геокодер необходимо получить ключ.
Примечание: Лимит запросов к сервису — 1000 в день.
Для получение ключа потребуется выполнить следующие действия:
- Зайти в Кабинет разработчика
- Выбрать JavaScript API и HTTP Геокодер
- Зарегистрироваться и получить ключ
Обратите внимание, что ключ будет активирован в течение 15 минут после получения.
Описание алгоритма
1. Импорт данных
Имя | Метка |
---|---|
address | Адрес |
2. Подготовка запроса
В подмодели Подготовка запроса во входном порту переменных задаются переменные:
Имя | Метка | Значение |
---|---|---|
apikey |
Ключ | Вводится полученный ранее API-ключ |
format |
Формат запроса | json |
В узле Калькулятор адреса нумеруются с помощью функции RowNum.
С помощью узла Переменные в таблицу происходит преобразование списка переменных в таблицу. Значения переменных записываются в столбцы.
К исходному набору данных присоединяются поля узла Переменные в таблицу. В мастере настройки узла Соединение заданы следующие параметры:
- Дополнение до наибольшего набора - Повторять набор данных
- Количество строк соответствует - Максимальному набору
3. Отправка запроса и получение данных
На странице Подключения настроено подключение REST-сервиса со следующими параметрами:
- URL сервис:
https://geocode-maps.yandex.ru/1.x/
- Метод: GET
- Параметры запроса:
Имя | Тип данных |
---|---|
apikey | Строковый |
geocode | Строковый |
format | Строковый |
- Тип аунтентификации: Не требуется
Отправка запроса происходит в узле REST-запрос. На вход порта подаются данные из подмодели Подготовка запроса.
В данном узле происходит Левое соединение полей Номер адреса по порядку и Идентификатор запроса.
С помощью узла Калькулятор осуществляется обработка ответа JSON для вывода результата:
return JSON.parse(Response)["response"]["GeoObjectCollection"]["featureMember"][0]["GeoObject"]["Point"]["pos"];
Далее с помощью метода split идет разделение строки geoPoint на массив подстрок по пробелу. Ноль указывает, что из полученного массива необходимо взять первый элемент.
return geoPoint.split(' ')[0];
В узле Параметры полей удаляются поля, которые не нужны в финальной выборке.
Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно
Минимальные требования к системе:
- Операционная система: Windows 10 и выше
- CPU x64: 2 core 1
- Оперативная память: 4 GB
- Жесткий диск: 10 GB
1 Поддерживается работа на x64 процессорах Intel Core, AMD FX и более новых, содержащих инструкции SSE4.2 (POPCNT, LZCNT).