Locator

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

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

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

Обсуждение

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

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

Синтаксис

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

A 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

# 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)

Создает объект 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


# 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. Доступны следующие возможности:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Свойство matchOutOfRange применяется только к локаторам, которые поддерживают и возвращают совпадения StreetAddress. Более подробную информацию о свойстве matchOutOfRange см. Сопоставить вне диапазона.

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

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

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

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

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

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

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

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

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

Примечание:
Это свойство является свойством среды 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
(чтение и запись)

Число ветвей пакетного геокодирования.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Типы объектов, поддерживаемые методом reverseGeocode. Более подробную информацию о свойстве reverseGeocodeFeatureTypes см. Поддерживаемые при обратном геокодировании объекты.

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

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

Обзор метода

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

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

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

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

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

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

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

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

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

updateLocator ()

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

Методы

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

An address or place-name to find the location of.

String
forStorage

Specifies whether the results will be persisted. The default value is False, which indicates the results can't be stored, but they can be temporarily displayed on a map, for instance. 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 log 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

An origin point that is 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 against all countries supported by the locator.

If you are using ArcGIS World Geocoding Service, refer to this list of supported countries.

String
categories

A comma-separated list of categories that limits the types of places the locator searches, thus 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 forPointAddress matches. If the preferred location does not exist in the data, the default location will be returned instead. For geocode results with Addr_type=PointAddress, the x,y attribute values describe the coordinates of the address along the street, while the DisplayX and DisplayY values describe the rooftop, or building centroid, coordinates.

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

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

The list of fields to 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 (without 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, up to the maximum number allowed by the Locator. If not specified, all matching candidates up to the maximum specified in the Locator properties are returned.

Integer
minScore

Limits the candidates that are returned to those with a score above the value set for this property. The value should be between 0 and 100.

Integer
outputLanguageCode

The language in which the geocode results are 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, refer to the list of supported countries to see what language codes are supported for those countries.

String
searchExtent

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

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

Выходными данными операции geocode является список объектов-словарей. Каждый объект-словарь соответствует одному результату геокодирования. Каждый результат геокодирования содержит информацию о совпавшем адресе или месте, информацию о геометрии, в том числе координаты 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})
ПараметрОписаниеТип данных
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 persisted. The default value is False, which indicates the results can't be stored, but they can be temporarily displayed on a map, for instance. 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 log 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

Specify one or more match types to be returned. If only one value is specified, the search tolerance is adjusted.

For more information on how this argument is used in ArcGIS World Geocoding Service, refer to the REST API documentation.

String
locationType

Specifies the preferred output location. If the preferred location does not exist in the data, the default location will be returned instead. For reverse geocoding results with Addr_type=PointAddress, the x,y attribute values describe the coordinates of the address along the street, while the DisplayX and DisplayY values describe the rooftop, or building centroid, coordinates. For more information about this parameter, reference the information on the parameter in the Reverse Geocode REST API documentation.

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

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

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

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

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}, {searchExtent})
ПараметрОписаниеТип данных
searchText

The partial text for which you want to generate suggestions.

String
preferredSearchLocation

An origin point that is 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 are generated from all countries supported by the locator.

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

String
categories

A comma-separated list of categories that limits the types of places for which the locator generates suggestions, thus 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 to be returned, up to the maximum number allowed by the Locator. If not specified, all matching suggestions up to the maximum specified in the Locator maxSuggestCandidates property are returned.

Integer
searchExtent

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

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

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

Чтобы использовать выходные данные метода suggest, в метод 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}, {searchExtent})
ПараметрОписаниеТип данных
suggestResult

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

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

Dictionary
forStorage

Specifies whether the results will be persisted. The default value is False, which indicates the results of the operation can't be stored, but they can be temporarily displayed on a map, for instance. 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 log 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.

Boolean
preferredSearchLocation

An origin point that is 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 against all supported countries of the locator.

If you are using ArcGIS World Geocoding Service, refer to this list of supported countries.

String
categories

A comma-separated list of categories that limits the types of places the locator searches, thus 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 forPointAddress matches. If the preferred location does not exist in the data, the default location will be returned instead. For geocode results with Addr_type=PointAddress, the x,y attribute values describe the coordinates of the address along the street, while the DisplayX and DisplayY values describe the rooftop, or building centroid, coordinates.

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

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

The list of fields to 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 (without 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, up to the maximum number allowed by the Locator. If not specified, all matching candidates up to the maximum specified by the maxCandidate property in the Locator properties are returned.

Integer
minScore

Limits the candidates that are returned to those with a score above the value set for this property. The value should be between 0 and 100.

Integer
outputLanguageCode

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

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

String
searchExtent

An extent that limits the area to be searched. All results that are returned outside of the specified extent are 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()