Geocoder
典型的使用
- 查找坐标并为街道地址列表创建几何图形
- 查找匹配坐标的地址
它是如何工作的?
GeoCoder为许多地理编码Web服务提供单个接口。选择服务后,呈现适当的参数,包括连接凭据和服务需要执行地理编码的预期属性。
随着功能通过变换器,这些属性将传递给服务,结果检索结果。
如果该功能通过服务成功匹配,则结果(属性和/或几何)将添加到该功能,并通过输出端口输出。
如果特性地理编码由于任何原因(包括没有找到地址、无效坐标或证书验证失败)失败,它将通过
模式
Geocoder可以执行各种任务,这取决于您选择使用的服务。每个服务将提供一种或多种地理编码模式:
转发街道地址地理编码 |
自由格式的街道地址到纬度/经度值,例如: BC省萨里市132街7445号V3W 1J8 离散街道地址元素到纬度/经度值,例如: “7445” “132nd” “街道” “萨里” “公元前” “V3W 1 j8” |
正向街道地址与邻近地理编码 |
单一自由形式街道地址和近似纬度/经度精确的纬度/经度值 离散街道地址元素和近似纬度/经度到精确的纬度/经度值 |
转发IP地址地理编码 |
IP地址字符串到纬度/经度值 |
反向街道地址地理编码 |
纬度/经度值到一个街道地址字符串 |
反向海拔地理编码 |
纬度/经度值以米为单位 |
反向时区地理编码 |
纬度/经度值到时区代码,名称和偏移量 |
地理编码服务结果存储在输出功能属性中,功能几何或两者。例如,纬度/经度输出在该特征上表示为点几何形状,也表示为“_ltate”和'_Longitude'属性。
在此示例中,包含业务列表的电子表格,其中包含地址组件在一系列列中传播,是地理编码和输出到KML。
地理编码将使用谷歌服务完成,该服务期望在自由形式的单个属性中看到地址,因此使用AttributeManager.这个新属性包含完整的地址,组件用逗号分隔:
在Geocoder中,选择Google作为服务带来了所需的参数。API键提供身份验证,选择“正向”的默认地理编码模式,并且街道地址设置为新构造的“地址”属性。
扩展GeoCoder上的输出现在显示服务中可用的附加属性 - 其中一些已包含在KML编写器中,如绿色所示。虽然我们已选择将纬度和经度视为属性,但也正在为特征创建点几何(无论信息是否保留为属性),如此。)
结果输出到KML文件中。
使用说明
- 许多服务有限制如何使用或显示它们的结果。查看您所选择的服务以获取条款和条件。查看可用的服务.
- 预期的输入地址格式在服务之间变化。有关详细信息,请参阅所选服务提供的文档。
- 如果您需要为所选的服务创建地址字符串,您可以使用文本编辑器在Geocoder中正确地构建它们,或者考虑使用AttributeManager将它们构造为持久属性。
配置
输入端口
此变形器接受任何功能。属性数据将按指定使用以产生地理编码结果。不同的服务将需要不同的属性集。
- 街道地址地理编码需要单行自由形式地址字符串或离散地址元素(如街道地址,城市等)
- IP地址地理编码接受IPv4或IPv6地址,例如199.7.157.0或2001:0DB8:0A0B:12F0:0000:0000:0000:0001。
- 反向地理编码接受一对纬度/经度属性。
输入特征几何不用作输入。如果需要几何图形的输入,则CoordinateExtractor可以用来提取从点的x和y坐标到几何属性上的特征。
输出端口
当地理编码查找成功时,转换器将输出带有添加的属性和替换的几何图形的特性。可能添加属性:
_地址 |
单行地址 |
_address_json |
JSON格式的多级地址(如果Geocoder结果字段不可预测)。 |
_ltate,_Longitude. |
纬度、经度 |
_elevation_meters、_elevation_feet _elevation_resolution |
米和脚的海拔,以及高度值的误差余量。 |
_timezone |
时区短代码。 例子:美国/温哥华 |
_timezone_name. |
时区的描述。 例如:太平洋夏令时 |
_timezone_offset. |
从utc以秒为单位偏移。可能是消极的或积极的。 |
_timezone_current_dst. |
在夏令时期间,当前距离标准时间的秒数偏移量。通常为0或3600,但也可能有其他值。 |
请注意,属性可能会根据输入的方式以更正后的形式输出。
例如,供应“7445 132街,萨里,BC”的前向地理编码可能导致输出'_Address'属性值“7445 132 St,Surrey,BC V3W,Canada”。这可以是地址数据标准化的有用结果。
参数
这是Geocoder访问的所有服务可能的参数的完整列表。一旦选择了服务,只有特定于服务的必需参数才会显示在转换器中。
地理编码服务 | 选择用于对请求进行地理编码的服务。该服务还确定转换器接口中可用的地理编码模式。 一些服务仅支持IP地址,而其他服务支持房屋地址或纬度/经度对。有关可用服务的详细信息,请参阅地理编码服务在下面。 |
在执行地理编码之前,某些提供程序要求用户指定其他凭据,例如API密钥或用户名和密码。还需要自定义URL或允许某些服务。
URL. |
URL字段指向备用服务器位置。这通常是在线产品的自主主机版本,通常使用客户自己的数据而不是通用,全球数据集可供公众使用。 |
API密匙 |
一些服务需要使用API密钥,该密钥通常通过在服务网站上注册获得。 需要密钥的服务不能在没有密钥的情况下使用,通常是因为它是付费服务或强制限制。 键是可选的服务通常提供优于未注册用户的键的改进的性能或更高限制。 |
用户名/密码 客户/秘密 |
某些服务需要或允许使用用户名和密码或客户端密钥和密码的身份验证,类似于API键。 |
这是所有服务可能的参数的完整列表。注意,并非每个服务都支持下面列出的每个参数。
模式 |
如果所选的服务支持多种地理编码模式,则可以在这里进行选择;例如,谷歌服务支持Forward、Reverse、Elevation和Timezone模式。如果不是,则总是假定前向地理编码。这个选择还决定了哪个输入模式成为活动的。 正向地理编码接受街道或IP地址形式的输入,而海拔、反向和时区地理编码接受纬度和经度作为输入。邻近地理编码除了地理编码的地址外,还允许指定纬度和经度;定位是用来得到更准确的结果。 |
街道地址 |
对于单行地址,用逗号分隔的地址元素列表。例如,加拿大BC省萨里市大街123号。如果需要,可以通过使用文本编辑器在转换器中组合它们,或者使用AttributeManager在工作区之前。 注意,当涉及到地址字符串的格式时,有些服务比其他服务更宽松。 对于离散地址元素,街道地址通常仅包含房屋号和街道名称。例如,123个主要街道。这与其他字段一起使用以指定完整地址。 |
城市 |
城市的名称,用于离散地址规范。 |
省/州 |
离散地址规范的省或州组成部分的全称或缩写。 |
邮政/邮政编码 |
离散地址规范的邮政编码或邮政编码组成部分。 |
纬度/经度 |
纬度经度对的截然不同的值,例如: 纬度:49.1044 经度:-122.8011 |
IP地址 |
IPv4或IPv6地址。 例子: 199.7.157.0或 2001:0DB8:0A0B:12F0:0000:0000:0000:0001 |
返回的语言 |
对于某些服务,可以指定用于地理编码结果的语言。这通常适用于校正地理编码的校正地址以及反向地理编码结果地址。 例子: 反向地理编码52.07,4.28将以英语(en)返回“海牙”,但在荷兰语(NL)中“Den Haag”。 |
超时 |
用户可以可选地提供该字段中的值以在单个请求上设置最大时间,以秒为单位等待。在指定的时间后,如果请求尚未完成,请求将重试到最多3次尝试。如果它没有成功,则将使用错误代码输出该功能。 |
最大并发请求 |
这指定了以并行制作的地理编码请求的数量。请注意,这可能会从地理编码服务产生限制。由于速率限制,GeoCoder将自动等待并将请求重试,以最多3次尝试。 |
地理编码服务
支持以下服务:
服务 |
模式 |
---|---|
ArcGIS在线 | 向前,反 |
ArcGIS Server. | 向前,反 |
必应 | 向前,反 |
FreeGeoIP.net | IP地址 |
地理编码。农场 | 向前,反 |
geocoder.ca. | 向前,反 |
谷歌 | 正向,反向,海拔,时区 |
在这里 | 向前,反 |
IPInfo.io | IP地址 |
Mapzen | 向前,反 |
OpenCage | 向前,反 |
开放地图 | 向前,反 |
Tamu. | 前进,与人口普查区域信息 |
注意,许多服务都有额外的使用需求。一个常见的需求是在同一个服务的映射中显示结果数据。在数据库中存储结果数据也可能需要额外的费用。请咨询地理编码提供商的服务条款(如下所列),以确保您的使用符合规定。
ArcGIS在线 | 要访问此地理编码服务,您需要提供有效的ArcGIS在线访问凭据。联系ESRI设置您自己的ArcGIS在线帐户:http://www.arcgis.com/features/plans/pricing.html. 请注意,使用此Geocoder转换器可能会用光信用,您可能受到交易限制。有关更多信息,请参阅https://developers.arcgis.com/rest/geocode/api-reference/overview-world-geocoding-service.htm. 请在使用前查看服务条款:https://developers.arcgis.com/terms. |
ArcGIS Server. | 此服务类型利用本地ArcGIS Server安装上发布的地理编码器服务。 有关更多信息,请参阅http://server.artes.com/en/server/latest/publish-services/windows/geocode-services.htm.. |
必应 | 要访问这个地理编码服务,您需要提供有效的Bing Maps访问凭证。联系微软建立你自己的必应地图账户:https://www.microsoft.com/maps/Licensing/licensing.aspx. 请注意,使用此Geocoder转换器可能会用光信用,您可能受到交易限制。请在使用前查看服务条款:https://www.microsoft.com/maps/product/terms.html.. |
FreeGeoIP.net | 使用此服务时可能会有事务限制。详情请参阅:https://freegeoip.net. |
地理编码。农场 | 要访问此地理编码服务,您需要提供有效的GeoCode.farm访问凭据。联系GeoCode.farm设置您自己的帐户:https://geocode.farm/register. 请注意,使用Geocoder转换器与此服务可能会用光信用,您可能受到交易限制。 请在使用前查看服务条款:https://geocode.farm/policies/terms-of-service. |
geocoder.ca. | 要访问此地理编码服务,您需要提供有效的GeoCoder.ca访问凭据。联系GeoCoder.ca设置您自己的帐户:http://geocoder.ca/?register=1. 请注意,使用Geocoder转换器与此服务可能会用光信用,您可能受到交易限制。 请在使用前查看服务条款: http://geocoder.ca/?terms=1. |
谷歌 |
要访问这个地理编码服务,您需要提供一个有效的谷歌Maps地理编码API密钥。联系谷歌建立自己的账号:https://developers.google.com/maps/documentation/geocoding/get-api-key. 请注意,使用Geocoder转换器与此服务可能会用光信用,您可能受到交易限制。有关更多信息,请参阅https://developers.google.com/maps/documentation/geocoding/usage-limits.. 请在使用前查看服务条款:https://developers.google.com/maps/terms. 重要的:Google地图GeoCoding API只能与Google地图上的显示结果一起使用。禁止使用Google Maps GeoCoding API数据而不显示Google地图。有关更多信息,请参阅:https://developers.google.com/maps/documentation/geocoding/policies.. |
在这里 |
要访问此地理编码服务,您需要提供有效的访问凭据。联系此处设置您自己的帐户:https://developer.here.com/plans/api/geocoder. 请注意,使用此Geocoder转换器可能会用光信用,您可能受到交易限制。您不允许在不属于HERE的任何第三方内容(如地图、街道视图或卫星图像)上显示或可视化结果。 有关使用限制的重要信息,请查看服务条款:https://developer.here.com/terms-and-conditions.. |
IPInfo.io |
此地理编码服务基于订阅级别具有有限的交易卷。联系Ipinfo.io设置自己的帐户:https://ipinfo.io/pricing. 请在使用前查看服务条款:https://ipinfo.io/developers.. |
Mapzen |
要访问这个地理编码服务,您需要提供有效的Mapzen访问凭据。联系Mapzen建立你自己的账户:https://mapzen.com/projects/search. 请注意,此地理编码服务受事务限制。请在使用前查看服务条款:https://mapzen.com/terms. |
OpenCage |
要访问此地理编码服务,您需要提供有效的Opencage GeoCoder访问凭据。联系OpenCage数据以设置您自己的帐户:https://geocoder.opencagedata.com/pricing. 请注意,使用此Geocoder转换器可能会用光信用,您可能受到交易限制。请在使用前查看服务条款:https://geocoder.opencagedata.com/terms.. |
OpenStreetMap (Nominatim) |
该服务旨在与自托管的nomatim服务器一起使用。有关安装nomatim服务器的更多信息,请访问:http://wiki.openstreetmap.org/wiki/nominatim/inallation.. 要使用自己的服务器和Geocoder,请提供完整的URL。这通常以“search”结束——例如,http://nominatim.example.com/search。 OpenStreetMaps的Nominatim Server,同时公开可用,不适合繁重使用,并且有几种使用限制,使其在几乎所有情况下与FME一起使用:http://wiki.openstreetmap.org/wiki/nominatim_usage_policy.. |
德州农工大学地理服务 |
要访问这个地理编码服务,您需要提供有效的访问凭据。联系Texas A&M Geoservices建立您自己的账户:http://geoservices.tamu.edu/Pricing. 请注意,使用Geocoder转换器与此服务可能会用光信用,您可能受到交易限制。请在使用前查看服务条款:http://geoservices.tamu.edu/About/Legal. |
编辑变压器参数
使用一组菜单选项,可以通过引用工作区中的其他元素来分配转换器参数。更高级的功能,比如高级编辑器和算术编辑器,也可以在一些转换器中使用。要访问这些选项的菜单,请单击除了适用的参数。有关更多信息,请参见变换器参数菜单选项.
定义值
有几种方法可以在变压器中定义使用的值。最简单的是简单地输入值或字符串,其可以包括各种类型的函数,例如属性引用,数学和字符串函数和工作区参数。有许多工具和快捷方式可以帮助构造值的值,通常可以从与值字段相邻的下拉上下文菜单中提供。
使用文本编辑器
文本编辑器提供了一种方便的方法来从各种数据源(如属性、参数和常量)构造文本字符串(包括正则表达式),其中的结果直接在参数中使用。
使用算术编辑器
算术编辑器提供了一种方便的方法来构建来自各种数据源的数学表达式,例如属性,参数和特征函数,其中结果直接在参数内使用。
条件值
根据通过或失败的一个或多个测试条件设置值。
内容
表达式和字符串可以包括许多函数、字符、参数等——无论是直接在参数中输入还是使用某个编辑器构造。
参考
没有任何
处理行为 |
|
功能持有 |
不 |
依赖关系 | 外部地理编码Web服务 |
FME许可级别 | FME专业版及以上版本 |
别名 | |
历史 | FME 2017.0发布: |
类别 |
FME知识中心
FME知识中心是演示、操作指南、文章、常见问题解答等的地方。获取问题的答案,从其他用户那里学习,对新功能提出建议、投票和评论。
搜索关于地理域的所有结果在FME知识中心。