描述
Locator 类可让您修改定位器并将其用于地理编码。地理编码是指将坐标对、地址或地名等位置描述转换为地球表面上某位置的过程。
地理编码模块旨在支持使用创建定位器工具所创建的定位器。使用旧版工具创建的定位器的功能可能有限,且不支持多个属性和参数。
讨论
定位器是一个可移植文件,用于执行地理编码,即在地图上查找地址和位置的过程。定位器中包含用于地理编码的参考数据快照,同时还包含索引和局部编址知识,这有助于在地理编码过程中返回最佳匹配项。
定位器可以在您的门户中作为服务访问,例如 ArcGIS World Geocoding Service,将作为通过 AGS 服务器连接访问的服务或作为磁盘上的文件。
语法
Locator (path)
参数 | 说明 | 数据类型 |
path | 定位器的路径。 | String |
从存储在磁盘上的定位器创建 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)
从 ArcGIS World Geocoding Service 创建 Locator 对象。
import arcpy
# Sign in to AGOL
username = "MyAGOLUsername"
password = "MyAGOLPassword"
arcpy.SignInToPortal("https://www.arcgis.com/", username, password)
# 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)
从 AGS 连接中创建 Locator 对象。
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)
在您自己的 ArcGIS Enterprise 门户中从定位器项目创建 Locator 对象。
import arcpy
# Sign in to your portal
username = "MyPortalUsername"
password = "MyPortalPassword"
arcpy.SignInToPortal("https://myenterpriseportal.esri.com/portal",username,password)
# 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 的定位器可用的功能。可用功能包括:
该属性仅可用于地理编码服务。不受本地定位器支持,如果您尝试访问本地定位器的该属性,则会返回错误。 | String |
categories (可读写) | 通过将可以从定位器返回的类别限制为已定义的集合来控制精度。如果您有一个支持多种地址类型的多角色定位器,则可以修改此设置以排除与某些类型的匹配。例如,您的定位器可以支持与“点地址”级别、“街道地址”级别、“街道名称”级别和“邮政编码”级别的匹配。您可能希望排除与“邮政编码”级别的匹配项,因为您认为该级别的匹配项对于您的目的来说太不精确。此设置可用于控制地理编码体验的精确度。 对于地理编码服务,此属性是只读的。要在已发布的定位器中更改此属性,请在本地进行修改,然后再次发布您的定位器。 | String |
defaultSuggestCandidates (可读写) | suggest 方法默认返回的建议候选项数。 对于地理编码服务,此属性是只读的。要在已发布的定位器中更改此属性,请在本地进行修改,然后再次发布您的定位器。 | Integer |
matchOutOfRange (可读写) | 用于控制当搜索到的街道编号略微超出构建定位器数据的路段中包含的范围时,是否返回匹配项。 要匹配路段,即使数据中的线段上不存在街道编号,但是街道编号在合理的阈值内并且可能存在,则需将属性设置为 True。当此属性设置为 True 时,该点位于地址略微超出门牌号范围的路段末端。这可确保您不会错过潜在的匹配,因为数据不是 100% 最新的。 matchOutOfRange 属性仅适用于支持并返回 StreetAddress 匹配的定位器。 对于地理编码服务,此属性是只读的。要在已发布的定位器中更改此属性,请在本地进行修改,然后再次发布您的定位器。 | Boolean |
maxCandidates (可读写) | geocode 方法返回的最大候选项数。 如果您发现地理编码花费了很长时间并且也获得了高质量匹配,请确保未将此属性设置过高。假设您获得了不错的结果,则可以通过生成更少的结果并专注于前几条结果来提高性能。 对于地理编码服务,此属性是只读的。要在已发布的定位器中更改此属性,请在本地进行修改,然后再次发布您的定位器。 | Integer |
maxSuggestCandidates (可读写) | suggest 方法返回的最大建议结果数。 如果您发现 suggest 方法性能较差,则可能是因为定位器生成了大量建议结果。将此值设置为较小的数字可以提高性能。 对于地理编码服务,此属性是只读的。要在已发布的定位器中更改此属性,请在本地进行修改,然后再次发布您的定位器。 | Integer |
minCandidateScore (可读写) | 使结果必须被视为 geocode 操作的匹配候选项的最低得分。定位器的最低得分是一个介于 0 和 100 之间的值。仅包括达到或超过 geocode 方法返回的最小候选得分的候选项。 对于地理编码服务,此属性是只读的。要在已发布的定位器中更改此属性,请在本地进行修改,然后再次发布您的定位器。 | Integer |
minMatchScore (可读写) | 使 geocode 方法的结果必须视为匹配的最小得分。 最低得分是一个阈值,用于控制地址与参考数据中最有可能被视为匹配项的候选项的必须匹配程度。如果潜在候选项低于阈值,则地址与候选项不匹配。 定位器的最低匹配得分是一个介于 0 和 100 之间的值。完全匹配的得分是 100。如果工作流需要置信度较高的匹配地址,请将属性设置为更高的阈值。较高的设定值可确保仅返回质量最高的匹配项。要尽可能得到更多的可匹配地址而不介意某些地址可能存在匹配错误,则使用较低的阈值设置。 对于地理编码服务,此属性是只读的。要在已发布的定位器中更改此属性,请在本地进行修改,然后再次发布您的定位器。 | Integer |
multilineInputFields (只读) | 用于多行地理编码的定位器字段。此属性针对定位器的多行输入字段返回 arcpy.Field 对象列表。对表进行地理编码时,可以将多行地理编码表字段 映射到 Field 对象 name 属性。 | Field |
numberOfThreads (可读写) | 用于进行批量地理编码的线程数。 为了最大程度地使用此设置,您需要考虑使用哪台计算机进行地理编码,并确定计算机上可用于地理编码作业的可用核数。地理编码能够利用计算机上的所有核更快地完成地理编码作业。默认情况下,此值设置为较小的值以在任何计算机上运行(无论计算机上可用的内核数是多少),但如果您知道可用的内核数,则可以进行配置以使用更多内核。可以将 Auto 设置为自动以检测计算机上的核并为您的计算机对其进行优化,或者如果您知道需要保留一些其他应用程序可用的其他资源,则可以选择将指定数量的核用于地理编码。 如果您计划将定位器共享至 ArcGIS Enterprise,则建议您将此属性设置为 4。 对于地理编码服务,此属性是只读的。要在已发布的定位器中更改此属性,请在本地进行修改,然后再次发布您的定位器。 | Integer |
singleLineField (只读) | 用于单行地理编码的定位器字段。此属性可返回代表定位器的单行输入字段的 arcpy.Field 对象。对表进行地理编码时,可以将单行地理编码表字段 映射到 Field 对象的 name 属性。 | Field |
spatialReference (只读) | 定位器的空间参考。空间参考将与用于创建定位器的数据相同。 | String |
supportedCountries (只读) | 定位器支持的国家/地区。 | String |
supportedRoles (只读) | 定位器支持的角色。 | String |
reverseGeocodeFeatureTypes (可读写) | reverseGeocode 方法支持的要素类型。 对于地理编码服务,此属性是只读的。要在已发布的定位器中更改此属性,请在本地进行修改,然后再次发布您的定位器。 | 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 方法结果作为输入,并返回地理编码结果候选项。结果候选项是可以在地图上显示或用作其他分析的输入的点。 建议您将相同参数传递至在生成 suggest 方法结果时传递至 geocodeWithSuggest 的方法,这将用来获得一致的结果。 |
updateLocator () | 保留在与定位器的当前 Python 会话期间对 Locator 属性进行的更改,以便应用这些属性以供未来使用。 |
方法
geocode (searchText, forStorage, {preferredSearchLocation}, {countryCode}, {categories}, {locationType}, {outFields}, {maxResults}, {minScore}, {outputLanguageCode}, {searchExtent})
参数 | 说明 | 数据类型 |
searchText | 用于查找位置的地址或地名。 | String |
forStorage | 指定是否保留结果。默认值为 False,它表示结果无法存储,但是,它们可以临时显示,例如显示在地图上。例如,如果将结果存储在数据库中,则将此参数设置为 True。 此参数仅适用于使用 ArcGIS World Geocoding Service 的地理编码请求。对于所有其他定位器,该参数将被忽略。 注:合同中禁止应用程序存储使用 ArcGIS World Geocoding Service 的地理编码操作结果,除非其通过传递值为 True 的 forStorage 参数进行请求。对于 Locator,使用 ArcGIS World Geocoding Service 有效,您必须使用有效的组织帐户登录 ArcGIS Online。对于每个地理编码事务,将从组织帐户中扣除 ArcGIS Online 服务配额。 | Boolean |
preferredSearchLocation | 用于根据其与位置的邻近程度来优先使用或增强地理编码候选项的原点。相对于较远的位置,该位置附近的候选人优先。 | PointGeometry |
countryCode | 以逗号分隔的三字符国家/地区代码字符串,可将地理编码结果限制为一组指定的国家/地区,这将在大多数情况下提高地理编码的准确性。如果未指定国家/地区,则对定位器的所有受支持国家/地区进行带建议的地理编码。 如果您正在使用 ArcGIS World Geocoding Service,请参阅受支持国家/地区列表。 | String |
categories | 以逗号分隔的类别列表,限制定位器搜索的位置类型,从而消除误报匹配并可能加快搜索过程的速度。有关类别过滤的详细信息,请参阅 REST API Web 帮助。 | String |
locationType | 用于指定 PointAddress 匹配的首选输出位置。如果数据中不存在首选位置,则会返回默认位置。对于 Addr_type=PointAddress 的地理编码结果,x,y 属性值用于描述沿着街道的地址的坐标,而 DisplayX 和 DisplayY 值用于描述屋顶或建筑物质心坐标。 此参数仅影响几何,不影响属性值。
| String |
outFields | 作为结果中属性一部分返回的字段列表。此参数支持单个字段名称或以逗号分隔的字段名称字符串(无空格)。要返回默认输出字段,不需要通过 outFields。使用星号 ("*") 将返回结果的所有可用输出字段。输出字段将在地理编码结果中包含的内容中进行说明。 注:磁盘上的定位器不支持此属性。 | String |
maxResults | 最大位置数,最大为 Locator 所允许的最大数目。如果未指定,则会返回所有匹配候选人,最高可达 Locator 属性中指定的最大数量。 | Integer |
minScore | 将返回的候选人限制为得分高于为此属性设置的值的那些候选人。该值应该介于 0 到 100 之间。 | Integer |
outputLanguageCode | 返回的地理编码结果所使用的语言。由于许多国家/地区的地址和地点都可以使用一种以上的语言,这可确保以预期的语言返回结果。 如果您正在使用 ArcGIS World Geocoding Service,请参阅受支持国家/地区列表查看这些国家/地区支持哪些语言代码。 | String |
searchExtent | 用于限制要搜索的区域的范围。返回超出指定范围的所有结果都将被排除。 | Extent |
数据类型 | 说明 |
List | geocode 操作的输出是字典对象的列表。每个字典对象代表一个地理编码结果。每个地理编码结果都包含有关匹配地址或位置的信息,包括 x 坐标和 y 坐标的几何信息以及其他属性,具体取决于所使用的 Locator 和指定的 outFields。 |
用来使用磁盘上的定位器查找地点位置或地址的地理编码。
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
# Sign in to AGOL
username = "MyAGOLUsername"
password = "MyAGOLPassword"
arcpy.SignInToPortal("https://www.arcgis.com/", username, password)
# 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.geocodeWithSuggest("1670 W Peachtree St NE, Atlanta, GA 30309", False)
reverseGeocode (location, forStorage, {featureTypes}, {locationType}, {outputLanguageCode})
参数 | 说明 | 数据类型 |
location | 您希望为其找到最近地址、感兴趣点或交叉点的点。 | PointGeometry |
forStorage | 指定是否保留结果。默认值为 False,它表示结果无法存储,但是,它们可以临时显示,例如显示在地图上。例如,如果将结果存储在数据库中,则将此参数设置为 True。 此参数仅适用于使用 ArcGIS World Geocoding Service 的地理编码请求。对于所有其他定位器,该参数将被忽略。 注:合同中禁止应用程序存储使用 ArcGIS World Geocoding Service 的地理编码操作结果,除非其通过传递值为 True 的 forStorage 参数进行请求。对于 Locator,使用 ArcGIS World Geocoding Service 有效,您必须使用有效的组织帐户登录 ArcGIS Online。对于每个包含值为 True 的 forStorage 参数的地理编码事务,都将从组织帐户中扣除 ArcGIS Online 服务配额。 (默认值为 False) | Boolean |
featureTypes | 指定要返回的一个或多个匹配类型。如果仅指定一个值,则会调整搜索容差。 有关如何在 ArcGIS World Geocoding Service 中使用此参数的详细信息,请参阅 REST API 文档。 | String |
locationType | 指定首选输出位置。如果数据中不存在首选位置,则会返回默认位置。对于 Addr_type=PointAddress 的地理编码结果,x,y 属性值用于描述沿着街道的地址的坐标,而 DisplayX 和 DisplayY 值用于描述屋顶或建筑物质心坐标。有关此参数的详细信息,请参阅反向地理编码 REST API 文档中参数的相关信息。 此参数仅影响几何,不影响属性值。
| String |
outputLanguageCode | 返回反向地理编码结果使用的语言。由于许多国家/地区的地址和地点都可以使用一种以上的语言,这将会确保以预期的语言返回结果。 如果您正在使用 ArcGIS World Geocoding Service,请参阅受支持国家/地区列表查看这些国家/地区支持哪些语言代码。 | String |
数据类型 | 说明 |
List | 反向地理编码结果包含有关匹配地址或位置的信息,包括 x 和 y 坐标的几何信息以及其他属性,具体取决于使用的 Locator,以及值是 PointGeometry 对象的 Shape 键。 |
通过反向地理编码以使用磁盘上的定位器查找到给定位置的最近地点或地址。
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.geocode(point_geometry, False)
通过反向地理编码以 ArcGIS World Geocoding Service 查找到给定位置的最近地点或地址。
import arcpy
# Sign in to AGOL
username = "MyAGOLUsername"
password = "MyAGOLPassword"
arcpy.SignInToPortal("https://www.arcgis.com/", username, password)
# 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.geocode(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.geocodeWithSuggest(point_geometry, False)
suggest (searchText, {preferredSearchLocation}, {countryCode}, {categories}, {maxResults}, {searchExtent})
参数 | 说明 | 数据类型 |
searchText | 您想要为其生成建议的部分文本。 | String |
preferredSearchLocation | 用于根据其与位置的邻近程度来优先使用或增强建议候选项的原点。相对于较远的位置,该位置附近的候选人优先。 | PointGeometry |
countryCode | 以逗号分隔的三字符国家/地区代码字符串,可将建议结果限制为一组指定的国家/地区,这将在大多数情况下提高建议的准确性。如果未指定国家/地区,则会从定位器支持的所有国家/地区生成建议。 如果您正在使用 ArcGIS World Geocoding Service,请参阅地理编码覆盖区域中的受支持国家/地区列表。 | String |
categories | 以逗号分隔的类别列表,限制了定位器为其生成建议的地点的类型,从而消除了误报匹配,并有可能加快流程。有关类别过滤的详细信息,请参阅 REST API Web 帮助。 | String |
maxResults | 要返回的建议的最大数量,高达 Locator 允许的最大数。如果未指定,则会返回所有匹配建议最高可达 Locator maxSuggestCandidates 属性中指定的最大数量。 | Integer |
searchExtent | 用于限制要搜索的区域的范围。返回超出指定范围的所有结果都将被排除。 | Extent |
数据类型 | 说明 |
List | suggest 的输出方法是字典对象的数组。每个字典代表一个建议结果。每个建议结果均包含以下关键字:text、magicKey 和 isCollection。 要使用 suggest 的输出方法,应将所需列表索引处的整个字典传递至 geocodeWithSuggest 方法。 注:要了解有关字典键值的详细信息,请参阅 REST API 文档。 |
使用磁盘上的定位器根据不完整的用户输入字符串生成建议。
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
# Sign in to AGOL
username = "MyAGOLUsername"
password = "MyAGOLPassword"
arcpy.SignInToPortal("https://www.arcgis.com/", username, password)
# 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 | suggest 方法的输出用于定位地址或地点。建议结果是包含 text、magicKey 和 isCollection 键的字典。 要了解有关建议结果字典对象中包含的键的详细信息,请参阅 REST API 文档。 | Dictionary |
forStorage | 指定是否保留结果。默认值为 False,它表示操作结果无法存储,但是,它们可以临时显示,例如显示在地图上。例如,如果将结果存储在数据库中,则将此参数设置为 True。 此参数仅适用于使用 ArcGIS World Geocoding Service 的地理编码请求。对于所有其他定位器,该参数将被忽略。 合同中禁止应用程序存储使用 ArcGIS World Geocoding Service 的地理编码操作结果,除非其通过传递值为 True 的 forStorage 参数进行请求。对于 Locator,使用 ArcGIS World Geocoding Service 有效,您必须使用有效的组织帐户登录 ArcGIS Online。对于将存储结果的每个地理编码事务,将从组织帐户中扣除 ArcGIS Online 服务配额。 | Boolean |
preferredSearchLocation | 用于根据其与位置的邻近程度来优先使用或增强地理编码候选项的原点。相对于较远的位置,该位置附近的候选人优先。 | PointGeometry |
countryCode | 以逗号分隔的三字符国家/地区代码字符串,可将地理编码结果限制为一组指定的国家/地区,这将在大多数情况下提高地理编码的准确性。如果未指定国家/地区,则对定位器的所有受支持国家/地区进行带建议的地理编码。 如果您正在使用 ArcGIS World Geocoding Service,请参阅受支持国家/地区列表。 | String |
categories | 以逗号分隔的类别列表,限制定位器搜索的位置类型,从而消除误报匹配并可能加快搜索过程的速度。有关类别过滤的详细信息,请参阅 REST API Web 帮助。 | String |
locationType | 用于指定 PointAddress 匹配的首选输出几何。如果数据中不存在首选位置,则会返回默认位置。对于 Addr_type=PointAddress 的地理编码结果,x,y 属性值用于描述沿着街道的地址的坐标,而 DisplayX 和 DisplayY 值用于描述屋顶或建筑物质心坐标。 此参数仅影响几何,不影响属性值。
| String |
outFields | 作为结果中属性一部分返回的字段列表。此参数支持单个字段名称或以逗号分隔的字段名称字符串(无空格)。要返回默认输出字段,不需要通过 outFields。使用星号 ("*") 将返回结果的所有可用输出字段。输出字段将在地理编码结果中包含的内容中进行说明。 注:磁盘上的定位器不支持此属性。 | String |
maxResults | 最大位置数,最大为 Locator 所允许的最大数目。如果未指定,则会返回所有匹配候选人,最高可达在 Locator 属性中通过 maxCandidate 属性指定的最大数量。 | Integer |
minScore | 将返回的候选人限制为得分高于为此属性设置的值的那些候选人。该值应该介于 0 到 100 之间。 | Integer |
outputLanguageCode | 返回的地理编码结果所使用的语言。由于许多国家/地区的地址和地点都可以使用一种以上的语言,这将会确保以预期的语言返回结果。 如果您正在使用 ArcGIS World Geocoding Service,请参阅受支持国家/地区列表查看这些国家/地区支持哪些语言代码。 | String |
searchExtent | 用于限制要搜索的区域的范围。返回超出指定范围的所有结果都将被排除。 | Extent |
数据类型 | 说明 |
List | geocodeWithSuggest 方法的输出是字典对象的列表。每个字典代表一个地理编码结果。每个地理编码结果都包含有关匹配地址或位置的信息,包括 x 坐标和 y 坐标的几何信息以及其他属性,具体取决于所使用的 Locator 和指定的 outFields。 |
根据不完整的用户输入字符串生成建议,并使用生成的建议之一作为该操作的输出来进行地理编码,以使用磁盘上的定位器查找位置。
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
# Sign in to AGOL
username = "MyAGOLUsername"
password = "MyAGOLPassword"
arcpy.SignInToPortal("https://www.arcgis.com/", username, password)
# 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()