Российские стили локаторов адресов в ArcGIS

Стиль локаторов адресов – это документ, в котором описаны правила распознавания адреса и структура базовых данных, на основе которых создается локатор адресов (геокодер). Наборы стилей хранятся в виде xml файлов. По умолчанию в ArcGIS доступны американские стили локаторов адресов.

Они дают возможность создавать ряд локаторов, но эти локаторы не предназначены для геокодирования российских адресов. Связано это с тем, что в каждой стране есть свои особенности написания адреса, свои уровни административного деления. Также, стиль локатора адресов содержит правила расшифровки часто использующихся сокращений типа “ул.” (улица) или “МО“ (Московская область). Используемые сокращения, порядок расположение элементов в адресе, все это не позволяет использовать американские стили для создания локаторов на основе российских данных. Единственный стиль локатора адресов, который доступен по умолчанию и никак не связан с региональными особенностями, это стиль General – Single Field. Он сравнивает строку, пришедшую на вход локатора, с строкой в соответствующем поле референсных данных. В случае полного совпадения строк, считает адрес распознанным. Нужно также учитывать, что этот стиль локатора адресов не умеет распознавать сокращения или искать нужный элемент адреса внутри строки, он работает только про 100% совпадении введенной строки и строки в базовых данных.

Для геокодирования российских адресов в компании Esri были созданы специализированные российские стили локаторов адресов, которые теперь доступны всем пользователям ArcGIS. Для того, чтобы они появились в меню создания нового локатора, нужно скопировать файл RUS.lot.xml в директорию …Program Files(x86)ArcGISDesktop10.(x)Locators. Архив с файлом можно найти по ссылке: http://arcgis.com/home/item.html?id=82522e65095c45f6bd27d5417a444330

После этого станут доступны следующие локаторы адресов:

  • RUS – AdminPlaces (поиск населенных пунктов)
  • RUS – PointAddreses (точечный локатор адресов )
  • RUS – PointAddresesExtendedLocal (точечный локатор адресов)
  • RUS – Postal (поиск по почтовому индексу)
  • RUS – PostalLocality (поиск по почтовому индексу и административному делению)
  • RUS – StreetAddress (линейный локатор адресов, поиск домов)
  • RUS – StreetName (линейный локатор адресов, поиск улицы


Для создания локатора адресов требуются базовые данные с определенной структурой. Линейные локаторы работают с линиями, остальные с полигонами и точками. В случае, если в качестве базовых данных используются полигоны, локатор адресов возвращает центроид найденного полигона. Для того, чтобы точечный или линейный слой мог использоваться как базовый (референсный) для создания локатора, требуется наличие определенных полей. Например, для локатора сделанного на базе стиля RUS – AdminPlaces нужны поля с названием населенного пункта, названием района и названием региона. Соответственно, для того, чтобы использовать векторные данные для создания локатора, их в большинстве случаев нужно предварительно обработать.

К примеру, для создания локатора на базе стиля PointAddresesExtendedLocal требуется наличии следующих полей:

  • Название региона
  • Название района
  • Название города (населенного пункта)
  • Тип улицы
  • Название улицы
  • Номер дома
  • Номер корпуса
  • Номер строения
  • Литера

Стиль PointAddreses отличается от описанного выше только тем, что отдельные поля с номерами домов, корпусов и строений, нужно объединить в одно поле вида “52 СТР 6 ЛИТ 1”. Этот стиль локатора адресов был создан для работы с данными HERE (NAVTEQ).

Для линейного локатора StreetAddress требуется тот же набор полей, отличие заключается в способе поиска адреса. Если в точечном локаторе адресов PointAddreses каждому дому соответствует геометрический объект точка, то линейный локатор ищет адреса с помощью интерполяции отрезков линий (сегментов) в которых прописаны диапазоны адресов. К примеру, есть отрезок улицы, у которого в атрибутах прописано, что на нем с правой стороны располагаются дома с номерами от 2 до 12. Дом номер 6 будет определен как точка, располагающаяся на середине этого отрезка. Правая или левая сторона будет определяться в зависимости от направления оцифровки данного сегмента дороги. Таким образом, линейный локатор адресов возвращает примерное местоположение дома. Корпус, строение и прочие дополнительные элементы адреса не учитываются. Для создания линейного локатора нужны 2 поля содержащие начальный и конечный диапазон номеров домов правой стороны улицы и аналогичные поля для левой стороны улицы.

Стиль локатора StreetName отличается от стиля StreetAddress тем, что производит поиск улиц и поэтому не требует полей с диапазонами номеров домов.
Обязательные поля, без которых инструмент сборки локатора не может быть собран в принципе, отмечены звездочкой. Но желательно использовать данные с полным набором полей (город, район, регион, название улицы и т.д.). Поле с почтовыми индексами в большей части локаторов является опциональным. Если такие данные есть, лучше их использовать. Если нет, можно собрать локаторы без использования почтовых индексов.

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

При создании локатора адресов можно указать дополнительную таблицу, содержащую альтернативные названия объектов. Эту таблица нужно добавить в качестве Alias table. Например, если в таблице будет указано, что определенному адресу соответствует строка “Аэропорт Шереметьево”, то локатор адресов сможет искать этот объект не только по почтовому адресу, но и по названию.

Кроме того, есть возможность загружать таблицы с альтернативными названиями улиц. Они назваются Alternate Name Table. Старое название улицы может довольно долго употребляться даже после ее официального переимнования и данная таблица решает эту проблему. В случае ее добавления в локатор адресов, поиск будет производиться как по основному, так и по альтернативному названию.

Для создания локаторов адресов компания Esri-CIS использует в основном данные HERE (NAVTEQ), которые содержат огромную адресную базу на территорию России. Данные можно приобрести как в исходном виде, так и в виде готовых локаторов адресов. В случае, если пользователю нужно создать локатор адресов на основе собственных данных, наиболее целесообразным является использование стиля PointAddresesExtendedLocal.

Стили локаторов адресов можно редактировать, документация описывающая основные принципы создания собственных стилей доступна по ссылке: http://www.arcgis.com/home/item.html?id=aeb00de638f3492a93308a4a03183c7d