Http geocoding request

9.1 Введение

Цель — научиться выполнять пространственную привязку адресных данных методом геокодирования и построение карт на их основе.


Параметр Значение
Теоретическая подготовка Геокодирование, адресные локаторы и их типы, интерполяция по данным в нерегулярно расположенных точках, методы интерполяции.
Практическая подготовка Знание основных компонент интерфейса ArcGIS Desktop (каталог, таблица содержания, карта). Настройка символики и подписей объектов. Выделение объектов на карте. Пространственные и атрибутивные запросы. Оверлей. Инструменты геообработки.
Исходные данные Таблица адресов ресторанов McDonald’s на территорию Манхэттена (Нью-Йорк) с данными о средней посещаемости. Картографический сервис Esri Streets. Сервис геокодирования NYSGIS.
Результат Геокодированные точки адресов. Визуализация точек значками разного диаметра в соответствии с посещаемостью. Поле посещаемости, построенное по точечным данным. Проект карты с элементами компоновки (легенда, масштаб).
Ключевые слова Геокодирование, адресный локатор, интерполяция данных.

9.1.1 Контрольный лист

  • Подключить картографический сервис Esri Streets
  • Подключить сервис геокодирования NYSGIS
  • Добавить на карту таблицу с адресами и геокодировать их в автоматическом режиме
  • Исправить вручную несопоставленные точки
  • Визуализировать точки значками разного диаметра в соответствии с числом посетителей
  • Построить по точкам поле посещаемости методом естественных соседов (Natural Neighbor).
  • Оформить итоговую карту распределения

Стандартная лицензия

В стандартной лицензии запрещено сохранять или изменять данные, полученные с помощью API. Если вам необходима эта возможность, следует приобрести .

Ниже приведены доступные тарифы:

Лимит запросов в сутки Стоимость в год Стоимость в месяц Стоимость каждых ста запросов сверх лимита Стоимость каждой тысячи запросов сверх лимита
до 300 запросов 18 000 рублей 1 500 рублей 100 рублей
до 600 запросов 36 000 рублей 3 000 рублей 100 рублей
до 1 000 запросов 120 000 рублей ­ 120 рублей
до 10 000 запросов 360 000 рублей ­ 36 рублей
до 25 000 запросов 600 000 рублей ­ 24 рубля
до 50 000 запросов 850 000 рублей ­ 17 рублей
до 100 000 запросов 1 000 000 рублей ­ 11 рублей
Свыше 100 000 запросов Для расчета стоимости направьте запрос на paid-api-maps@yandex-team.ru, указав предполагаемое количество запросов.

Примечание. Количество запросов сверх лимита округляется до ста в большую сторону. Например, 40 запросов сверх лимита будут округлены до 100. Если вы превысили лимит несколько раз за месяц, сначала считается отдельная стоимость превышения за каждые сутки, а по окончании месяца эта стоимость суммируется.

Если вы превысили лимит несколько раз за месяц, сначала считается отдельная стоимость превышения за каждые сутки, а по окончании месяца эта стоимость суммируется.

Геокодирование с использованием ArcGIS

В реальном мире вы находите местоположения на основании его описания. Это может быть номер и название улицы. Описание может содержать название города, штата или страны, а также природные характеристики (например, водосборный бассейн или заповедник).

Допустим, вам нужно найти адрес 380 New York St., Redlands, CA 92373; имея точную карту улиц, вам не составит особого труда установить точное местоположение этого адреса. Сначала вы можете найти штат Калифорния, а затем город Редландс. Также вы можете использовать карту почтовых индексов и определить регион с соответствующим значением почтового индекса. Затем вы найдете улицу, а потом определите, где и на какой стороне квартала 300 расположен данный адрес.

Аналогично тому, как вы нашли адрес, сужая область поиска до определенного района, чтобы найти определенный объект, а затем и точку этого объекта, компьютер выполняет примерно такой же процесс, назначая определенное местоположение адресу при геокодировании. Геокодирование начинается с текстового описания места и перевода его в координаты x, y, которые могут быть нанесены на карту.

Преимущество базовых данных хорошей точности

Первое, что у вас должно быть, когда вы хотите найти что—нибудь на карте, — это наличие правильной карты. Вы никак не сможете найти путь к дому 380 на улице New York Street в Редландс, штат Калифорния, если у вас будет только карта Канады. Кроме того, вы не сможете точно определить адрес, если на вашей карте отображаются только основные магистрали и города. Ваша карта должна быть достаточно детализирована для точного определения искомого местоположения.

Разницы нет, если геокодирование производится в ArcGIS. Слои, которые вы используете для создания локатора адресов, известные как базовые данные, должны иметь детали того объекта, который вы хотите найти. При поиске адресов первичные базовые данные обычно состоят из уличной сети, но также может использоваться и карта с земельными участками

Важно то, чтобы данные содержали ту деталь, которую вы хотите найти

Локаторы адресов. Введение

Локатор адресов это — основной компонент в процессе геокодирования. Локатор адресов создается на основе определенного стиля локаторов. Созданный локатор адресов содержит свойства и параметры геокодирования, которые установлены в диалоговом окне Свойства локатора адресов (Address Locator Properties), адресные атрибуты базовых данных и запросы для выполнения поиска. Локатор адресов также содержит набор правил разбора и сопоставления адресов, которые указывают подсистеме геокодирования, как следует проводить стандартизацию и сопоставление адресов.

Отображение карт на сайте

  • Javascript API (интерактивное)
  • Static API (статичное)

Javascript API

2ГИС API

  • Очень хорошие карты, но есть не везде
  • Пока бесплатно
  • Функциональность API послабее чем у Яндекса/Гугла, но может расширяться с помощью модулей Leaflet
  • Зато есть карты этажей для торговых центров

Azure Maps

  • Большое количество сервисов, в том числе построитель маршрутов, определение локации по IP
  • Есть бесплатные лимиты и платное API

MapBox

  • Симпатичные карты для веба и мобильных устройств
  • Могу ошибаться, но кажется карты только на английском языке
  • Для мобильных приложений бесплатно до 25000 пользователей в месяц, в вебе до 50000 загрузок в месяц

Static API

MapBox

  • Могу ошибаться, но кажется карты только на английском языке
  • Максимальный размер 1280х1280
  • Бесплатно до 25 000 загрузок карт в месяц

Request format

 * Address or geographical coordinates of the object being searched for. The specified data determines the type of geocoding:
  • If an address is specified, it is converted to object coordinates. This process is called forward geocoding.

  • If coordinates are specified, they are converted to the object’s address. This process is called reverse geocoding.

Several for entering coordinates are available.

 * The key issued in the Developer’s Dashboard.
Only if the parameter sets the coordinates. Order of coordinates. Possible values:
  • — Longitude, latitude.

  • — Latitude, longitude.

Default value: .

Only if the parameter sets the coordinates. The type of required toponym.List of accepted values:
  • — house

  • — street

  • — subway station

  • — city district

  • — locality (city, town, village, etc.)

If omitted, the API will choose the type of the toponym automatically.

Flag indicating whether the search scope should be restricted to the specified area. The area is defined by the ll and spn or bbox parameters. Possible values:

  • — Do not restrict search.

  • — Restrict search.

Default value: .

Longitude and latitude of the center of the search area. The span of the search area is set in the parameter. Note. If the parameter sets the coordinates, the parameter is ignored.

The span of the search area. The center of the area is set in the parameter.

Set by two numbers:
  • the first is the difference between the maximum and minimum longitude of the area;

  • the second is the difference between the maximum and minimum latitude.

Note. If the parameter sets the coordinates and the parameter value is , the parameter is ignored.

An alternative method for setting the search area.

The borders are defined as the geographical coordinates of the lower-left and upper-right corners of the area (in the order «longitude, latitude»).

Record format:

Note. If bboxand ll+spn are used simultaneously, the bbox parameter takes priority.

Ignored if the parameter sets the coordinates.

Geocoder’s response format

  • — Results are returned as a YMapsML document.

  • — Results are returned in JSON format.

Default value: .

The number of objects to skip in the response, starting from the first one.

Default value: .

Language of the response and regional settings of the map.

Record format

, where
  • language — Two-letter language code. Specified in ISO 639-1 format. Sets the language for displaying the names of geographical features.

  • region — Two-letter country code. Specified in ISO 3166-1 format. Determines regional settings.

List of supported values:

  • — Turkish (only for maps of Turkey).

  • — response in English, Russian map features;

  • — response in English, American map features;

  • — Russian (default);

  • — Ukrainian;

  • — Belarusian.

Default value: .

The name of the JavaScript function that returns the geocoder’s response (in accordance with JSONP conventions).

This parameter is accepted only if the response is returned in JSON format.

9.3 Геокодирование адресов

  1. В окне Каталога раскройте таблицу NYMcDonalds.xlx и перетащите ее первый лист на карту:

  2. Откройте таблицу, чтобы просмотреть ее содержимое. В ней есть несколько полей, отвечающих за адрес, а также поле Visitors, хранящее информацию о среднем числе посетителей, обслуживаемых за один час:

  3. Выберите в контекстном меню таблицы опцию Geocode Addresses, чтобы приступить к геокодированию:

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

  4. Нажмите Add… и, используя навигацию по папкам, перейдите в каталог GIS Servers и найдите сервис геокодирования Street_and_Address_Composite. Выделите его и нажмите Add:

  5. Далее выделите его и нажмите ОК:


  6. В появившемся диалоге настроек геокодирования необходимо выбрать поля атрибутивной таблицы, из которых будет браться адресная информация. Заполните его следующим образом:

    Параметр Значение
    Street or Intersection Address
    City or Placename City
    State State
    Output Shapefile or Feature Class

    Выберите в поле Save as Type фильтр File and Personal Geodatabase Feature Class

    Остальные параметры оставьте по умолчанию и нажмите ОК. После выполнения геокодирования появится диалог, сообщающий процент удачно геокодированных адресов (Matched). Нажмите Rematch, чтобы приступить к исправлению ошибок:

    Появится диалог сопоставления адресов, а на карту будет добавлены удачно геокодированные точки. Выберите в списке Show Results режим Unmatched Addresses. Не закрывая диалог, увеличьте изображение таким образом, чтобы точки было хорошо видно:

    Снимок экрана №1. Автоматически геокодированные точки на карте и список негеокодированных точек

Возникшие проблемы сопоставления адресов почти во всех случаях обусловлены тем, что для зданий на перекрестках указано сразу 2 адреса (427 10TH AVE & 34TH). Такая форма адреса не соответствует требованиям геокодера. Исключение составляет адрес «139TH & ADAM CLAYTON POWELL», в котором не указан номер дома ни по одной из улиц. Его вы обработаете отдельно.

Расширенная лицензия

Расширенная лицензия позволяет сохранять и изменять данные, полученные с помощью API.

Ниже приведены тарифы и стоимость лицензии:

Лимит запросов в сутки Стоимость в год Стоимость каждой тысячи запросов сверх лимита ?

до 1 000 запросов

620 000 руб.

120 руб.

до 10 000 запросов

860 000 руб.

36 руб.

до 25 000 запросов

1 100 000 руб.

24 руб.

до 50 000 запросов

1 350 000 руб.

17 руб.

до 100 000 запросов

1 500 000 руб.

11 руб.

Свыше 100 000 запросов

Для расчета стоимости направьте запрос на paid-api-maps@yandex-team.ru, указав предполагаемое количество запросов.

Примечание. Опубликованные условия не являются офертой.

Кластеры

Точечные геообъекты могут находиться настолько близко друг другу, что на каком-то масштабе их метки начинают накладываться друг на друга. В этом случае пользователю приходится тщательно «прицеливаться», чтобы попасть курсором мыши на видимый фрагмент нужной метки. Существует даже специальный термин, описывающий эффекты такого рода — pixel hunting (пиксель-хантинг).


Скопировано

Если метки находятся в одной точке и размеры их иконок совпадают, то наведение на перекрытые метки невозможно в принципе.

Стандартным способом решения проблемы является объединение близко расположенных объектов в группу (кластер) и использование для группы специальной кластерной иконки. Часто на иконке кластера указывается число содержащихся в нем элементов.

Для кластеризации объектов в API Яндекс.Карт используется класс Clusterer.


Скопировано

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


При щелчке на иконке кластера может произойти либо увеличение коэффициента масштабирования либо открытие балуна, в котором будет отображен список геообъектов кластера. Это поведение контролируется с помощью опции (true/false).

Примечание. Если при отображении кластера коэффициент масштабирования карты является максимальным, то кластер не будет распадаться на отдельные метки при щелчке на его маркере. В этом случае независимо от значения параметра всегда будет открываться балун.

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

Использование кластеризатора позволяет значительно увеличить производительность при отображении большого количества геообъектов в браузере.

Отрисовка и обработка геообъекта — дорогостоящая с точки зрения потребления ресурсов операция, и чем больше объектов кластеризуется, тем больше ресурсов экономится. Сильное снижение производительности наблюдается уже при отображении нескольких сотен объектов без кластеризации.

Format for geographical coordinates in the request

Geographical coordinates in the parameter are set sequentially in one of the following formats:

Record format Order of coordinates Example
+-float, +-float Longitude, latitude 134.854, -25.828

float , float *

Any E134.854, S25.828

134.854E, 25.828S

+-deg° mm’ ss», +-deg° mm’ ss» Latitude, longitude -25°49′41.1″, 134°51′15.88″
deg° mm’ ss» , deg° mm’ ss» * Any 25°49′41.1″S, 134°51′15.88″E
NMEA Any 2549.67,S, 13451.26,E

* — The letter designation of one of the four directions: N, E, W, S. Spaces are allowed between letters and coordinates

Spaces, commas, or semicolons can be used as delimiters. Spaces are allowed on either side of the delimiter character.

Для чего применяется геокодирование?

Существует широкий диапазон приложений, для которых может использоваться геокодирование:от простого анализа данных для управления в сфере бизнеса и потребительских услуг до определения методов планирования сбыта. Используя геокодированные адреса, вы можете пространственно отобразить их местоположения и распознать структуру информации. Это можно сделать путем простого просмотра информации или с помощью некоторых инструментов анализа, доступных в ArcGIS. Вы также можете отображать адресную информацию с учетом определенных параметров, что позволит вам более полно анализировать информацию. Некоторые из этих приложений описаны в следующих секциях.

Анализ адресных данных

С помощью геокодированных адресов вы можете пространственно отобразить адресные местоположения и начнете распознавать в полученной информации признаки закономерностей. Это можно сделать путем простого просмотра информации или с помощью некоторых инструментов анализа, доступных в ArcGIS. Вы также можете отображать адресную информацию с учетом определенных параметров, что позволит вам более полно анализировать информацию.

Ежегодный отчет о кражах был первоначально создан путем геокодирования таблицы базы данных по кражам, в которых был записан адрес каждого преступления. Скриншоты показывают, как эти адреса распределяются по времени, сезонам, дням недели, это помогает специалистам предотвращать преступления такого рода в дальнейшем. Дополнительные инструменты анализа, доступные в ArcGIS, могут быть использованы для более подробного анализа информации и выявления закономерностей. Данные для этого примера были предоставлены TeleAtlas and Vexcel Corp.

Управление пользовательскими данными

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

ArcLogistics Route является приложением, которое использует геокодированные адреса для оптимального планирования доставки заказов клиентам.

Что может быть геокодировано?

Самой типичной задачей по геокодированию является конвертирование одного или нескольких полных адресов, которые обычно содержат название города, а иногда административной единицы или страны. Тем не менее, многие системы геокодирования (в том числе и BatchGeo) способны работать с другими типами информации о местоположении. Вы можете вносить в систему названия городов (с указанием страны/региона или без него), почтовые индексы, а также названия регионов или стран. BatchGeo может распознавать названия известных достопримечательностей и наименования организаций и компаний. Большая часть запросов, которые мы вводим в Google Карты может быть использована в качестве информации о местоположении в сервисе BatchGeo.


С этим читают