Locator

Краткая информация

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

Модуль Geocoding поддерживает локаторы, созданные инструментом Создать локатор. У локаторов, созданных устаревшими инструментами, может оказаться ограниченный функционал, и они не поддерживают ряд свойств и параметров.

Обсуждение

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

С локатором можно работать как с сервисом на вашем портале, например, ArcGIS World Geocoding Service, сервисом, работающем через подключение ArcGIS Server или как с расположенном на диске файлом.

Синтаксис

 Locator (path)
ПараметрОписаниеТип данных
path

The path to the locator.

String

Примечание:
Если вы работаете с локаторами на своем портале, убедитесь, что выполнили вход и задали его в качестве активного в ArcGIS Pro. Для доступа к локатору, расположенному на портале, отличном от активного, можно выполнить аутентификацию с помощью функции SignInToPortal.

Создает объект Locator из локатора, который хранится на диске.

import arcpy

# Create a new Locator object from a locator on disk
locator_path = r"C:\Locators\Atlanta.loc"
locator = arcpy.geocoding.Locator(locator_path)

Создает объект Locator из ArcGIS World Geocoding Service.

import arcpy

# Log in to Portal
#arcpy.SignInToPortal("https://www.arcgis.com", "MyUsername", "MyPassword")

# Create a new Locator object from ArcGIS World Geocoding Service
locator_path = "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/ArcGIS World Geocoding Service"
locator = arcpy.geocoding.Locator(locator_path)

Создает объект Locator из подключения AGS.

import arcpy

# Create a new Locator object from a locator published to ArcGIS Server
locator_path = r"C:\AGS Files\MyAGSConnectionFile.ags\Atlanta"
locator = arcpy.geocoding.Locator(locator_path)

Создает объект Locator из элемента локатора на вашем портале ArcGIS Enterprise.

import arcpy

# Sign in to your portal
#arcpy.SignInToPortal("https://www.myenterpriseportal.esri.com/portal", "MyUsername", "MyPassword")

# Create a new Locator object from the locator on your portal
locator_path = "https://myenterpriseportal.esri.com/server/rest/services/Geocode/Atlanta/GeocodeServer/Atlanta"
locator = arcpy.geocoding.Locator(locator_path)

Свойства

СвойствоОписаниеТип данных
capabilities
(только чтение)

Определяет возможности, доступные для локатора, опубликованного в виде сервиса в ArcGIS Enterprise или сервиса геокодирования ArcGIS Server. Доступны следующие возможности:

  • FindAddressCandidates - если это значение содержится в свойстве, сервис геокодирования поддерживает поиск местоположения по адресу или названию места.
    Примечание:

    FindAddressCandidates доступно только при публикации локатора в ArcGIS Enterprise версии 11.5 или более новой. Данная операция не будет распознана ArcGIS Enterprise версии 11.4 или более ранней.

  • GeocodeAddresses - если это значение содержится в свойстве, сервис геокодирования поддерживает геокодирование таблицы адресов.
    Примечание:

    GeocodeAddresses доступно только при публикации локатора в ArcGIS Enterprise версии 11.5 или более новой. Данная операция не будет распознана ArcGIS Enterprise версии 11.4 или более ранней.

  • Geocode - если это значение содержится в свойстве, сервис геокодирования поддерживает операции геокодирования, поиск местоположения по адресу или названию места и геокодирование таблицы адресов.
  • ReverseGeocode - если это значение содержится в свойстве, сервис геокодирования поддерживает операции обратного геокодирования и поиск ближайшего к данному местоположению места или адреса.
  • Suggest - если это значение содержится в свойстве, сервис геокодирования поддерживает автозаполнение предложений при вводе данных.
Этим свойством будет возвращена одна строка, содержащая все поддерживаемые возможности.

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

String
categories
(чтение и запись)

Управляет точностью, ограничивая категории, которые могут быть возвращены локатором в набор. Если локатор с несколькими ролями поддерживает несколько типов адресов, можно изменить это свойство, чтобы исключить совпадения с определенными типами. Например, локатор может поддерживать соответствия уровней PointAddress, StreetAddress, StreetName и Postal и вы хотите исключить сопоставления на уровне Postal. Эта настройка позволяет контролировать точность получаемого результата.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
String
compatibilityVersion
(только чтение)

Самая ранняя версия ArcGIS Pro, с которой совместим локатор. Локатор также будет поддерживаться только в соответствующих версиях ArcGIS Server и ArcGIS Enterprise. Например, значение 3.4 будет поддерживаться только в ArcGIS Pro 3.4 или более поздней версии и ArcGIS Server и ArcGIS Enterprise 11.4 или более поздней версии.

String
comprehensiveZoneMatch
(чтение и запись)

Указывает, будут ли для входных адресов, которые не совсем соответствуют имени города, возвращаться кандидаты из методов geocode и geocodeWithSuggest. По умолчанию – True.

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

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Boolean
defaultLocationType
(чтение и запись)

Задает предпочитаемую выходную геометрию для соответствия POINT_ADDRESS, возвращаемого методами geocode, geocodeWithSuggest и reverseGeocode.

Вариантами для этого параметра являются Routing_Location, представляющие сторону улицы, которую можно использовать для построения маршрутов и Address_Location, который представляет собой местоположение, находящееся на крыше, центроид участка или входную дверь адреса. Если предпочитаемое местоположение отсутствует в данных, вместо него будет возвращено местоположение Address_Location по умолчанию. Для результатов геокодирования с Addr_type = PointAddress атрибутивные значения X, Y соответствуют координатам адреса, а значения DisplayX и DisplayY описывают координаты верхней точки крыши или центроида здания. Подробнее об использовании этого свойства см. в разделе Предпочитаемый тип местоположения.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
String
defaultSuggestCandidates
(чтение и запись)

Число предполагаемых кандидатов, возвращаемых по умолчанию методом suggest.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Integer
endOffset
(чтение и запись)

Расстояние в метрах, используемое для смещения результата в сторону от конца (в направлении к центру) объекта улицы для целей отображения. Подробнее об использовании этого свойства см. в разделе Отступ от конца.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Double
intersectionConnectors
(чтение и запись)

Список соединителей пересечений, которые могут быть символами или словами, замещающими соединители пересечений по умолчанию. Используйте список, заключенный в кавычки через запятую, чтобы перечислить соединители пересечений, например, "&","|","//","@".

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
String
matchOutOfRange
(чтение и запись)

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

Если нужно сопоставить сегмент улицы, даже если ее номер не существует на сегменте линии в ваших данных, но находится в пределах пороговых значений и скорее всего он есть, задайте для этого свойства значение True. Если для этого свойства установлено True, точка помещается в конец сегмента улицы, адрес по которой находится немного за пределами диапазона номеров домов. Это гарантирует, что вы не пропустите потенциальное совпадение из-за того, что данные не на 100 процентов актуальны.

Это свойство применяется только к локаторам, которые поддерживают и возвращают соответствия StreetAddress. Подробнее об этом свойстве см. в разделе Сопоставить вне диапазона.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Boolean
maxCandidates
(чтение и запись)

Максимальное число кандидатов, возвращаемых методом geocode.

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

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Integer
maxSuggestCandidates
(чтение и запись)

Максимальное число кандидатов, возвращаемых методом suggest.

Если метод suggest работает слишком медленно, это может быть связано с тем, что локатор создает слишком большое число предположений. Чтобы ускорить работу, уменьшите это значение. Подробнее об этом свойстве см. в разделе Максимальное число предполагаемых кандидатов.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Integer
minCandidateScore
(чтение и запись)

Минимальный балл, который должен быть у результата, чтобы он считался подходящим кандидатом для операции geocode. Минимальный балл кандидата для локатора — это значение между 0 и 100. Только кандидаты, превышающие минимальный балл для кандидата, возвращаются методом geocode.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Integer
minMatchScore
(чтение и запись)

Минимальный балл, который должен быть у результата при применении метода geocode, чтобы он считался подходящим.

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

Минимальное количество очков для совпадения может быть от 0 до 100. Наилучшее совпадение эквивалентно 100 баллам. Если вашим рабочим процессам требуются совпадающие адреса с высоким уровнем достоверности, установите для этого свойства более высокий порог. Более высокое значение гарантирует, что будут возвращены только совпадения самого высокого качества. Если вы хотите увеличить число адресов для сопоставления и при этом не придаете большого значения тому факту, что некоторые из адресов, возможно, могут быть сопоставлены некорректно, тогда вы можете использовать меньшее значение порога.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Integer
multilineInputFields
(только чтение)

Поля локатора для многострочного геокодирования. Это свойство возвращает список объектов arcpy.Field для нескольких входных многострочных полей локатора. При геокодировании таблицы многострочные поля таблиц геокодирования могут сопоставляться с объектом Field по свойству name.

Field
numberOfThreads
(чтение и запись)

Количество потоков, которые будут использоваться при операции пакетного геокодирования.

Для оптимального использования этого свойства определите количество физических ядер процессора, доступных на вашем компьютере, которые вы можете выделить для выполнения задачи геокодирования. Для более быстрого выполнения геокодирования можно использовать все физические ядра процессора компьютера. По умолчанию эта настройка имеет меньшее значение, что позволяет выполнять геокодирование на любом компьютере независимо от количества доступных физических ядер. Но вы можете задать большее количество используемых физических ядер, если известно, что они доступны. Например, чтобы определить физические ядра на вашем компьютере и оптимизировать количество используемых потоков, используйте numberOfThreads = 0, что эквивалентно выбору значения Авто в диалоговом окне Свойства локатора локатора. Также можно указать количество физических ядер процессора, используемых для геокодирования, например numberOfThreads = 2, если вам нужны другие ресурсы, доступные для других приложений.

Если планируется предоставить общий доступ к локатору в ArcGIS Enterprise, рекомендуется установить значение 4.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Integer
partialHouseNumberSuggestions
(чтение и запись)

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

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Boolean
partialSubaddressSuggestions
(чтение и запись)

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

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Boolean
preferredLabelValues
(чтение и запись)

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

Возможные значения включают postalCity, localCity, matchedCity, primaryStreet и matchedStreet.

Примечание:

Можно включить только одно значение для обозначения города и одно значение для обозначения улицы.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
String
returnCollections
(чтение и запись)

Указывает, будут ли коллекции (категории точек интереса [POI]) возвращаться методом suggest при поиске POI. Подробнее об использовании этого свойства см. в разделе Возвращать коллекции.

Настройка по умолчанию – True. Если для этого свойства установлено значение False, и первый символ связан с категорией, которая существует в данных, используемых для построения локатора на основе роли POI, название категории не будет включено в возвращаемый список кандидатов POI.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Boolean
returnInputLocation
(чтение и запись)

Указывает, является ли геометрия, возвращаемая методом reverseGeocode, исходной входной геометрией или геометрией возвращаемого совпадающего адреса.

По умолчанию – False. Если установлено True, результат reverseGeocode будет возвращен с исходной входной геометрией.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Boolean
reverseOutputFields
(чтение и запись)

Выходные поля, которые будут возвращены методом reverseGeocode.

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

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
String
sideOffset
(чтение и запись)

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

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Double
singleLineInputField
(только чтение)

Поле локатора для однострочного геокодирования. Это свойство возвращает объект arcpy.Field, представляющий входное поле для локатора однострочного геокодирования. При геокодировании таблицы однострочное поле таблицы геокодирования может сопоставляться для объекта Field со свойством name.

Field
spatialReference
(только чтение)

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

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
String
subaddressAfterBaseAddressSuggestions
(чтение и запись)

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

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Boolean
subaddressSummaryWithBaseAddress
(чтение и запись)

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

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
Boolean
supportedCategories
(только чтение)

Все категории, поддерживаемые локатором. Для дополнительной информации о поддерживаемых категориях для пользовательских локаторов и локаторов ArcGIS StreetMap Premium см. Поддерживаемые категории.

String
supportedCountries
(только чтение)

Страны, поддерживаемые локатором.

String
supportedRoles
(только чтение)

Роли, поддерживаемые локатором.

String
reverseGeocodeFeatureTypes
(чтение и запись)

Типы объектов, поддерживаемые методом reverseGeocode. Подробнее об этом свойстве см. в разделе Поддерживаемые при обратном геокодировании объекты.

Это свойство для сервисов геокодирования работает в режиме «только для чтения». Чтобы изменить это свойство в опубликованном локаторе, измените свойство локально и снова опубликуйте локатор.

Примечание:
Это свойство является свойством среды runtime. Оно не сохраняется в локаторе вне текущего сеанса, если не используется метод updateLocator.
String

Обзор метода

МетодОписание
geocode (searchText, forStorage, {preferredSearchLocation}, {countryCode}, {categories}, {locationType}, {outFields}, {maxResults}, {minScore}, {outputLanguageCode}, {preferredLabelValues}, {searchExtent}, {matchNarrative}, {searchWithin}, {start}, {num}, {matchID}, {comprehensiveZoneMatch})

Принимает адрес или местоположение в качестве входных данных и возвращает кандидаты на результат геокодирования. Кандидаты на результат – это точки, которые можно отобразить на карте или использовать в качестве входных данных для других анализов.

reverseGeocode (location, forStorage, {featureTypes}, {locationType}, {outputLanguageCode}, {preferredLabelValues})

Принимает объект PointGeometry в качестве входных данных и возвращает ближайший адрес, точку интереса или пересечение с этой точкой. Результат представляет собой обратный геокодированный результат, который содержит информацию о соответствующем адресе или местоположении, геометрическую информацию, включая координаты x и y, а также дополнительные атрибуты в зависимости от используемого Locator.

suggest (searchText, {preferredSearchLocation}, {countryCode}, {categories}, {maxResults}, {preferredLabelValues}, {returnCollections}, {searchExtent})

Генерирует предположения автоматического заполнения для неполного или частичного ввода данных пользователем. Отдельный результат предположения может быть перенесен в метод geocodeWithSuggest для создания точек, которые можно отобразить на карте или использовать в качестве входных данных для других анализов.

geocodeWithSuggest (suggestResult, forStorage, {preferredSearchLocation}, {countryCode}, {categories}, {locationType}, {outFields}, {maxResults}, {minScore}, {outputLanguageCode}, {preferredLabelValues}, {searchExtent})

Принимает единый suggest метод результата в качестве входных данных и возвращает кандидаты в результаты геокодирования. Кандидаты на результат – это точки, которые можно отобразить на карте или использовать в качестве входных данных для других анализов.

Рекомендуется передавать те же параметры в метод geocodeWithSuggest, которые вы передавали при создании результата метода suggest, позволившего получить правильные результаты.

updateLocator ()

Сохраняет изменения, внесенные в свойства Locator во время текущего сеанса Python, в локаторе, чтобы эти свойства были применены для дальнейшего использования.

Методы

geocode (searchText, forStorage, {preferredSearchLocation}, {countryCode}, {categories}, {locationType}, {outFields}, {maxResults}, {minScore}, {outputLanguageCode}, {preferredLabelValues}, {searchExtent}, {matchNarrative}, {searchWithin}, {start}, {num}, {matchID}, {comprehensiveZoneMatch})
ПараметрОписаниеТип данных
searchText

The address or place-name that will be used to find the location.

String
forStorage

Specifies whether the results will be stored. When set to False, the results can be temporarily displayed on a map. If you store the results—in a database, for example—set this argument to True.

This argument only applies to geocoding requests made with ArcGIS World Geocoding Service. For all other locators, it is ignored.

Примечание:
Applications are contractually prohibited from storing the results of geocoding operations using ArcGIS World Geocoding Service unless they make the request by passing this argument with a value of True. For a locator using ArcGIS World Geocoding Service to be valid, you must sign in to ArcGIS Online with a valid organizational account. ArcGIS Online service credits are deducted from the organizational account for each geocode transaction.

Boolean
preferredSearchLocation

The origin point that will be used to prefer or boost geocoding candidates based on their proximity to the location. Candidates near the location are prioritized relative to those farther away.

PointGeometry
countryCode

A comma-delimited string of three-character country codes that limits geocoding results to the set of specified countries, which will improve the accuracy of geocoding in most cases. When no country is specified, geocoding with suggestions is performed using all countries supported by the locator.

If you are using ArcGIS World Geocoding Service, see the list of supported countries.

String
categories

A comma-separated list of categories that limits the types of places the locator searches, eliminating false positive matches and potentially speeding up the search process. See the REST API web help for details about category filtering.

String
locationType

Specifies the preferred output location that will be used forPointAddress matches. If the preferred location does not exist in the data, the default location will be returned instead.

This argument only affects the geometry, not the attribute values.

  • rooftopAn address location such as rooftop location, parcel centroid, or front door will be used.
  • streetA location close to the side of the street that can be used for vehicle routing will be used.

(Значение по умолчанию — rooftop)

String
outFields

The list of fields that will be returned as part of the attributes in the result. This argument supports a single field name or a comma-delimited string of field names (with no spaces). To return the default output fields, this argument does not need to be passed. Use an asterisk ("*") to return all available output fields with the result. The output fields are described in What's included in the geocoded results.

String
maxResults

The maximum number of locations that will be returned, up to the maximum number allowed by the locator. If no value is provided, all matching candidates up to the maximum specified in the Locator properties will be returned.

Integer
minScore

Limits the candidates that are returned to those with a score above this value. Valid values are between 0 and 100.

Integer
outputLanguageCode

The language in which the geocode results will be returned. Since addresses and places in many countries are available in more than one language, this ensures that results are returned in the expected language.

If you are using ArcGIS World Geocoding Service, see the list of supported countries for the language codes that are supported for those countries.

String
preferredLabelValues

Configures the output fields returned in a response from the locator by specifying the address component values that should be included in the output fields. This argument supports a single value or a comma-delimited string of values as input. For more information about how this argument works, see Additional tuning options.

Possible values include postalCity, localCity, matchedCity, primaryStreet, and matchedStreet.

Примечание:

Only one value for city labeling and one value for street labeling can be included.

String
searchExtent

An extent that limits the area that will be searched. All results that are returned outside of the specified extent will be excluded.

Extent
matchNarrative

Specifies whether information about how a geocoding result was obtained will be returned.

When this argument is set to True, the return value will describe how each portion of an input string in ageocode request was processed, or classified, by the locator. This information is included as an additional JSON object named match-narrative.

For example, if the string is 380 New York Street, Redlands, the match-narrative object will describe how each part of the input was matched. In the match-narrative object, each part of the input search string is represented with a subobject, the order of which corresponds to that of the input parts. For example, with an address of 380 New York Street, Redlands, each subobject will include the following keys:

  • field—The address component that the input part was matched to. This key value would have a value of 'House Number'.
  • input—The part of the input string that is being described. This key would have a value of '380'.
  • datum—The value in the locator reference data that the input part matched to. This key would have a value of '380'.
  • narrative-code—A code that describes how the input part was matched. This key would have a value of 'cm'.
  • narrative-desc—A detailed description of how the input part was matched. This key would have a value of 'classified+matched'.

For a complete list of the match narrative codes and descriptions, see Match narrative code descriptions.

(Значение по умолчанию — False)

Boolean
searchWithin

Specifies the feature types that are returned for a collection of places that are related to a geocoded location. For example, this argument can be used to return all addresses that exist within a postal code or all businesses located at a particular address. Collections can be returned for geocoded matches with Addr_type values PointAddress and PostalExt only. This argument supports a single value or a comma-delimited string of values as input, for example, searchWithin="POI,Subaddress". For more information about how this argument works, seeReturn associated features or the REST API documentation.

Possible values includePointAddress, Subaddress, and POI.

This argument supports pagination. Because there can be hundreds or thousands of places that exist at or within a geocoded location, this argument is used with the start and num arguments to break up large collections into manageable result sets, or pages, of 50 or fewer candidates. This is accomplished by passing consecutive requests to the locator with different start values. To support pagination, the JSON response includes the following keys at the end of the response when a collection is returned for a searchWithin request:

  • total—The total count of candidates in the collection, including the geocoded object
  • start—The value that was passed in the request for the start argument
  • num—The number of candidates in the page
  • nextStart—The value that should be used for the start argument in the subsequent geocode request

If this argument is used with the ArcGIS World Geocoding Service, the request must also include a valid token.

Примечание:
This argument is not supported for composite geocode services.

Примечание:
The first object in the response (candidate 1) is always the geocoded object: the place that was searched for. What follows are the features that are associated with the geocoded object and correspond to the feature types specified.

String
start

The index number of the first entry in a collection of candidates to be returned in the return value. This argument is used with the searchWithin and num arguments to page through large result sets of more than 50 candidates.

Only use this argument when the searchWithin value is specified.

(Значение по умолчанию — 1)

Integer
num

The number of collection candidate results that will be returned in each page. This argument is used with the searchWithin and start arguments to page through large result sets of more than 50 candidates. Values should be integers between 1 and 50. If a value larger than 50 is specified, a maximum of 50 candidates will be returned.

Only use this argument when the searchWithin value is specified.

(Значение по умолчанию — 50)

Integer
matchID

The ID of an address or place.

This value can be obtained from the result and used at later time. In most cases, the value for a particular address will be constant across releases of the ArcGIS World Geocoding Service and ArcGIS StreetMap Premium locators; however, for custom locators, the MatchID field value will be as consistent as the data used to build the locator with the Create Locator tool.

This is an example of using this argument: matchID="AQFV9QAAmeQBAJUBBAAAAAAMD05FVyBZT1JLIFNUUkVFVBUDMzgwZgNFTkc".

To learn more about this argument, see the REST API documentation.

String
comprehensiveZoneMatch

Specifies whether input addresses that do not exactly match the city name will return candidates.

When set to True, addresses will match even when the city name is incorrect. When set to False, no match will be returned or the match will have a significantly lower score. For more information about how to use this argument, see Comprehensive zone matching.

(Значение по умолчанию — True)

Boolean
Возвращаемое значение
Тип данныхОписание
List

Выходными данными является список объектов-словарей. Каждый объект-словарь соответствует одному результату геокодирования. Каждый результат геокодирования содержит информацию о совпадающем адресе или месте, информацию о геометрии, в том числе координаты x и y, и дополнительные атрибуты в соответствии с используемым объектом Locator и указанным значением параметра outFields.

Примечание:
Если вы работаете с локаторами на своем портале, убедитесь, что выполнили вход и задали его в качестве активного в ArcGIS Pro. Для доступа к локатору, расположенному на портале, отличном от активного, можно выполнить аутентификацию через SignInToPortal.

Выполняется геокодирование для поиска расположения места или адреса с помощью локатора на диске.

import arcpy

# Create a new Locator object from a locator on disk
locator_path = r"C:\Locators\Atlanta.loc"
locator = arcpy.geocoding.Locator(locator_path)

# Geocode to find the location of an address
geocoding_candidates = locator.geocode("1670 W Peachtree St NE, Atlanta, GA 30309", False)

Выполняется геокодирование для поиска расположения места или адреса с помощью ArcGIS World Geocoding Service.

import arcpy

# Create a new Locator object from the ArcGIS World Geocoding Service
locator_path = "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/ArcGIS World Geocoding Service"
locator = arcpy.geocoding.Locator(locator_path)

# Geocode to find the location of an address
geocoding_candidates = locator.geocode("1670 W Peachtree St NE, Atlanta, GA 30309", True)

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

import arcpy

# Create a new Locator object from a locator published to ArcGIS Server
locator_path = r"C:\AGS Files\MyAGSConnectionFile.ags\Atlanta"
locator = arcpy.geocoding.Locator(locator_path)

# Geocode to find the location of an address
geocoding_candidates = locator.geocode("1670 W Peachtree St NE, Atlanta, GA 30309", False)
reverseGeocode (location, forStorage, {featureTypes}, {locationType}, {outputLanguageCode}, {preferredLabelValues})
ПараметрОписаниеТип данных
location

A point for which you want to find the nearest address, point of interest, or intersection.

PointGeometry
forStorage

Specifies whether the results will be stored. The default value is False, which indicates the results won't be stored, but they can be temporarily displayed on a map. If you store the results, in a database, for example, set this parameter to True.

This parameter only applies to geocoding requests made with ArcGIS World Geocoding Service. For all other locators, the parameter is ignored.

Примечание:

Applications are contractually prohibited from storing the results of geocoding operations using ArcGIS World Geocoding Service unless they make the request by passing the forStorage parameter with a value of True. For a locator using ArcGIS World Geocoding Service to be valid, you must sign in to ArcGIS Online with a valid organizational account. ArcGIS Online service credits are deducted from the organizational account for each geocode transaction that includes the forStorage parameter with a value of True.

(Значение по умолчанию — False)

Boolean
featureTypes

The match types that will be returned. If only one value is provided, the search tolerance is adjusted.

For more information about how this parameter is used in ArcGIS World Geocoding Service, see the REST API documentation.

String
locationType

Specifies the preferred output location that will be used. If the preferred location does not exist in the data, the default location will be returned instead. For more information about this parameter, see the Reverse Geocode REST API documentation.

This parameter only affects the geometry, not the attribute values.

  • rooftopAn address location such as rooftop location, parcel centroid, or front door will be used. This is the default.
  • streetA location close to the side of the street that can be used for vehicle routing will be used.

(Значение по умолчанию — rooftop)

String
outputLanguageCode

The language in which the reverse geocode results will be returned. Since addresses and places in many countries are available in more than one language, this ensures that results are returned in the expected language.

If you are using ArcGIS World Geocoding Service, see the list of supported countries for the language codes that are supported for those countries.

String
preferredLabelValues

Configures the output fields returned in a response from the locator by specifying the address component values that should be included in the output fields. The parameter supports a single value or a comma-delimited string of values as input. For more information about how this parameter works, see Additional tuning options.

Possible values include postalCity, localCity, matchedCity, primaryStreet, and matchedStreet.

Примечание:

Only one value for city labeling and one value for street labeling can be included.

String
Возвращаемое значение
Тип данныхОписание
List

Результат обратного геокодирования содержит информацию о соответствующем адресе или местоположении, геометрическую информацию, включая координаты x и y, а также дополнительные атрибуты в зависимости от используемого объекта Locator, а также ключа Shape, когда этим значением является объект PointGeometry.

Примечание:
Если вы работаете с локаторами на своем портале, убедитесь, что выполнили вход и задали его в качестве активного в ArcGIS Pro. Для доступа к локатору, расположенному на портале, отличном от активного, можно выполнить аутентификацию через SignInToPortal.

Обратное геокодирование для поиска ближайшего места или адреса к заданному местоположению с помощью локатора на диске.

import arcpy

# Create a new Locator object from a locator on disk
locator_path = r"C:\Locators\Atlanta.loc"
locator = arcpy.geocoding.Locator(locator_path)

# Create input PointGeometry object
spatial_reference = arcpy.SpatialReference(4326)
point = arcpy.Point(-84.374, 33.797)
point_geometry = arcpy.PointGeometry(point, spatial_reference)

# Reverse geocode to find the nearest address or place to the point
reverse_geocode_result = locator.reverseGeocode(point_geometry, False)

Обратное геокодирование для поиска ближайшего места или адреса к заданному местоположению с помощью ArcGIS World Geocoding Service.

import arcpy

# Create a new Locator object from the ArcGIS World Geocoding Service
locator_path = "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/ArcGIS World Geocoding Service"
locator = arcpy.geocoding.Locator(locator_path)

# Create input PointGeometry object
spatial_reference = arcpy.SpatialReference(4326)
point = arcpy.Point(-84.374, 33.797)
point_geometry = arcpy.PointGeometry(point, spatial_reference)

# Reverse geocode to find the nearest address or place to the point
geocoding_candidates = locator.reverseGeocode(point_geometry, True)

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

import arcpy

# Create a new Locator object from a locator published to ArcGIS Server
locator_path = r"C:\AGS Files\MyAGSConnectionFile.ags\Atlanta"
locator = arcpy.geocoding.Locator(locator_path)

# Create input PointGeometry object
spatial_reference = arcpy.SpatialReference(4326)
point = arcpy.Point(-84.374, 33.797)
point_geometry = arcpy.PointGeometry(point, spatial_reference)

# Reverse geocode to find the nearest address or place to the point
geocoding_candidates = locator.reverseGeocode(point_geometry, False)
suggest (searchText, {preferredSearchLocation}, {countryCode}, {categories}, {maxResults}, {preferredLabelValues}, {returnCollections}, {searchExtent})
ПараметрОписаниеТип данных
searchText

The partial text that will be used to generate suggestions.

String
preferredSearchLocation

The origin point that will be used to prefer or boost suggestion candidates based on their proximity to the location. Candidates near the location are prioritized relative to those farther away.

PointGeometry
countryCode

A comma-delimited string of three-character country codes that limits suggestion results to the set of specified countries, which will improve the accuracy of suggestions in most cases. When no country is specified, suggestions will be generated from all countries supported by the locator.

If you are using ArcGIS World Geocoding Service, see the list of supported countries in Geocode data coverage.

String
categories

A comma-separated list of categories that limits the types of places the locator uses to generate suggestions, eliminating false positive matches and potentially speeding up the process. See the REST API web help for details about category filtering.

String
maxResults

The maximum number of suggestions that will be returned, up to the maximum number allowed by the locator. If no value is provided, all matching suggestions up to the maximum specified by the maxSuggestCandidates property in the Locator properties will be returned.

Integer
preferredLabelValues

Configures the output fields returned in a response from the locator by specifying the address component values that should be included in the output fields. The parameter supports a single value or a comma-delimited string of values as input. For more information about how this parameter works, see Additional tuning options.

Possible values include postalCity, localCity, matchedCity, primaryStreet, and matchedStreet.

Примечание:

Only one value for city labeling and one value for street labeling can be included.

String
returnCollections

Specifies whether collections (points of interest [POI] categories) will be returned when searching for POI. For more information about how to use the returnCollections parameter, see Return collections.

When this parameter is False, if the first character is associated with a category that exists in the data used to build a locator based on the POI role, the category name will not be included in the list of POI candidates returned.

(Значение по умолчанию — True)

Boolean
searchExtent

An extent that limits the area that will be searched. All results that are returned outside of the specified extent will be excluded.

Extent
Возвращаемое значение
Тип данныхОписание
List

Выходные данные метода suggest представляют собой массив объектов словаря. Каждый словарь представляет собой отдельный результат предположения. Каждый результат предположения содержит ключи text, magicKey и isCollection.

Чтобы использовать выходные данные этого метода, весь словарь по выбранному индексу списка следует перенести в метод geocodeWithSuggest.

Примечание:
Для получения дополнительных сведений о ключах словаря см. документацию REST API.

Примечание:
Если вы работаете с локаторами на своем портале, убедитесь, что выполнили вход и задали его в качестве активного в ArcGIS Pro. Для доступа к локатору, расположенному на портале, отличном от активного, можно выполнить аутентификацию через SignInToPortal.

Создайте предположения на основе неполной строки ввода пользователем с помощью локатора на диске.

import arcpy

# Create a new Locator object from a locator on disk
locator_path = r"C:\Locators\Atlanta.loc"
locator = arcpy.geocoding.Locator(locator_path)

# Generate suggestions from partial user input
suggestion_candidates = locator.suggest("1670 w peach")

Создайте предположения на основе неполной строки ввода пользователем с помощью ArcGIS World Geocoding Service.

import arcpy

# Create a new Locator object from the ArcGIS World Geocoding Service
locator_path = "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/ArcGIS World Geocoding Service"
locator = arcpy.geocoding.Locator(locator_path)

# Generate suggestions from partial user input
suggestion_candidates = locator.suggest("1670 w peach")

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

import arcpy

# Create a new Locator object from a locator published to ArcGIS Server
locator_path = r"C:\AGS Files\MyAGSConnectionFile.ags\Atlanta"
locator = arcpy.geocoding.Locator(locator_path)

# Generate suggestions from partial user input
suggestion_candidates = locator.suggest("1670 w peach")
geocodeWithSuggest (suggestResult, forStorage, {preferredSearchLocation}, {countryCode}, {categories}, {locationType}, {outFields}, {maxResults}, {minScore}, {outputLanguageCode}, {preferredLabelValues}, {searchExtent})
ПараметрОписаниеТип данных
suggestResult

The output from the suggest method. The suggestion result is a dictionary that contains text, magicKey, and isCollection keys and is used to locate an address or place.

To learn more about the keys included in the suggestion result dictionary objects, see the REST API documentation.

Dictionary
forStorage

Specifies whether the results will be stored. The default value is False, which indicates the results won't be stored, but they can be temporarily displayed on a map. If you store the results, in a database, for example, set this parameter to True.

This parameter only applies to geocoding requests made with ArcGIS World Geocoding Service. For all other locators, the parameter is ignored.

Примечание:
Applications are contractually prohibited from storing the results of geocoding operations using ArcGIS World Geocoding Service unless they make the request by passing the forStorage parameter with a value of True. For a locator using ArcGIS World Geocoding Service to be valid, you must sign in to ArcGIS Online with a valid organizational account. ArcGIS Online service credits are deducted from the organizational account for each geocode transaction that stores results.

(Значение по умолчанию — False)

Boolean
preferredSearchLocation

The origin point that will be used to prefer or boost geocoding candidates based on their proximity to the location. Candidates near the location are prioritized relative to those farther away.

PointGeometry
countryCode

A comma-delimited string of three-character country codes that limits geocoding results to the set of specified countries, which will improve the accuracy of geocoding in most cases. When no country is specified, geocoding with suggestions will be performed using all countries supported by the locator.

If you are using ArcGIS World Geocoding Service, see the list of supported countries.

String
categories

A comma-separated list of categories that limits the types of places the locator searches, eliminating false positive matches and potentially speeding up the search process. See the REST API web help for details about category filtering.

String
locationType

Specifies the preferred output geometry that will be used forPointAddress matches. If the preferred location does not exist in the data, the default location will be returned instead. This parameter only affects the geometry, not the attribute values.

  • rooftopAn address location such as rooftop location, parcel centroid, or front door will be used. This is the default.
  • streetA location close to the side of the street that can be used for vehicle routing will be used.

(Значение по умолчанию — rooftop)

String
outFields

The list of fields that will be returned as part of the attributes in the result. This parameter supports a single field name or a comma-delimited string of field names (with no spaces). To return the default output fields, outFields does not need to be passed. Use an asterisk ("*") to return all available output fields with the result. The output fields are described in What's included in the geocoded results.

String
maxResults

The maximum number of locations that will be returned, up to the maximum number allowed by the locator. If no value is provided, all matching candidates up to the maximum specified by the maxCandidate property in the Locator properties will be returned.

Integer
minScore

Limits the candidates that are returned to those with a score above the value set for this parameter. Valid values are between 0 and 100.

Integer
outputLanguageCode

The language in which the geocode results will be returned. Since addresses and places in many countries are available in more than one language, this ensures that results are returned in the expected language.

If you are using ArcGIS World Geocoding Service, see the list of supported countries for the language codes that are supported for those countries.

String
preferredLabelValues

Configures the output fields returned in a response from the locator by specifying the address component values that should be included in the output fields. The parameter supports a single value or a comma-delimited string of values as input. For more information about how this parameter works, see Additional tuning options.

Possible values include postalCity, localCity, matchedCity, primaryStreet, and matchedStreet.

Примечание:

Only one value for city labeling and one value for street labeling can be included.

String
searchExtent

An extent that limits the area that will be searched. All results that are returned outside of the specified extent will be excluded.

Extent
Возвращаемое значение
Тип данныхОписание
List

Выходными данными метода geocodeWithSuggest является список объектов-словарей. Каждый словарь соответствует одному результату геокодирования. Каждый результат геокодирования содержит информацию о совпадающем адресе или месте, информацию о геометрии, в том числе координаты x и y, и дополнительные атрибуты в соответствии с используемым объектом Locator и указанным значением параметра outFields.

Примечание:
Если вы работаете с локаторами на своем портале, убедитесь, что выполнили вход и задали его в качестве активного в ArcGIS Pro. Для доступа к локатору, расположенному на портале, отличном от активного, можно выполнить аутентификацию через SignInToPortal.

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

import arcpy

# Create a new Locator object from a locator on disk
locator_path = r"C:\Locators\Atlanta.loc"
locator = arcpy.geocoding.Locator(locator_path)

# Generate suggestions from partial user input
suggestion_candidates = locator.suggest("1670 w peach")

# Geocode using one of the suggestions generated as the output of the suggest 
# operation
geocoding_candidates = locator.geocodeWithSuggest(suggestion_candidates[0], False)

Создаются предложения на основе неполной пользовательской строки и выполняется геокодирование с одним из предложений в качестве выходных данных этой операции, чтобы найти местоположение с помощью ArcGIS World Geocoding Service.

import arcpy

# Create a new Locator object from the ArcGIS World Geocoding Service
locator_path = "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/ArcGIS World Geocoding Service"
locator = arcpy.geocoding.Locator(locator_path)

# Generate suggestions from partial user input
suggestion_candidates = locator.suggest("1670 w peach")

# Geocode using one of the suggestions generated as the output of the suggest 
# operation
geocoding_candidates = locator.geocodeWithSuggest(suggestion_candidates[0], True)

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

import arcpy

# Create a new Locator object from a locator published to ArcGIS Server
locator_path = r"C:\AGS Files\MyAGSConnectionFile.ags\Atlanta"
locator = arcpy.geocoding.Locator(locator_path)

# Generate suggestions from partial user input
suggestion_candidates = locator.suggest("1670 w peach")

# Geocode using one of the suggestions generated as the output of the suggest 
# operation
geocoding_candidates = locator.geocodeWithSuggest(suggestion_candidates[0], False)
updateLocator ()

Обновите свойства локатора на диске и сохраните изменения.

import arcpy
# Create a new Locator object from a locator on disk
locator_path = r"C:\Locators\Atlanta.loc"
locator = arcpy.geocoding.Locator(locator_path)
# Update the minimum match score property on the locator
locator.minMatchScore = 95
# Persist changes to the .loc file
locator.updateLocator()