Geocoder
典型的使用
- 为街道地址列表查找坐标并创建几何图形
- 查找匹配坐标的地址
它是如何工作的?
Geocoder为许多地理编码web服务提供了一个单一的接口。一旦选择了服务,就会给出适当的参数,包括连接凭据和服务执行地理编码所需的预期属性。
当特性通过转换器传递时,这些属性将传递给服务,并检索结果。
如果服务成功地匹配了特性,则将结果(属性和/或几何图形)添加到特性中,并通过输出端口输出。
如果特性地理编码由于任何原因失败(包括未找到地址、无效坐标或凭据身份验证失败),则通过
模式
根据您选择使用的服务,Geocoder可以执行各种任务。每项服务均会提供下列其中一种或多种地理编码模式:
前进街道地址地理编码 |
单身自由形式的街道地址以及纬度/经度值,例如: “7445,第132街,萨里,BC,V3W 1J8” 离散的街道地址元素纬度/经度值,例如: “7445” “第132号” “街” “萨里” “公元前” “V3W 1J8” |
有接近地理编码前进街道地址 |
单身自由形式的街道地址和近似纬度/经度精确纬度/经度值 离散的街道地址的元素和近似纬度/经度来精确纬度/经度值 |
转发IP地址地理编码 |
IP地址字符串以经/纬度值 |
反向街道地址地理编码 |
纬度/经度值到一个街道地址字符串 |
反向地理编码高程 |
纬度/经度值在米高程 |
反向地理编码时区 |
经/纬度值时区代码,名称和偏移 |
地理编码服务结果存储在输出特性属性、特性几何形状或两者中。例如,纬度/经度输出在特性上表示为点几何图形,也表示为' _latitude '和' _longitude '属性。
在本例中,一个包含业务列表的电子表格(地址组件分布在一系列列中)被地理编码并输出到KML。
位置编码将使用谷歌服务完成,该服务期望在自由形式的单个属性中查看地址,因此将使用AttributeManager。这个新属性包含完整地址,用逗号分隔组件:
在地理编码器中,选择谷歌作为服务将调出所需的参数。API密钥提供身份验证,选择“Forward”的默认地理编码模式,街道地址设置为新构造的“Address”属性。
展开Geocoder上的输出现在显示了服务中可用的附加属性——其中一些已经包含在KML写入器中,如绿色所示。虽然我们选择将经度和纬度作为属性,但也为特性创建了点几何(不管信息是否作为属性保留,如这里所做的)。
结果输出到KML文件。
使用笔记
- 许多服务对如何使用或显示它们的结果有限制。与您选择的服务检查条款和条件。看到可用的服务。
- 预期的输入地址格式因服务而异。有关详细信息,请参阅所选服务提供的文档。
- 如果需要为所选服务创建地址字符串,可以使用文本编辑器直接在Geocoder中构建它们,或者考虑使用AttributeManager将它们构造为持久属性。
配置
输入端口
这个转换器接受任何特性。属性数据将被指定用于生成地理编码结果。不同的服务需要不同的属性集。
- 街道地址地理编码或者要求一个单一的线自由地址字符串或离散地址元素(如街道地址,城市等)
- IP地址地理编码接受IPv4或IPv6地址,例如199.7.157.0,或2001年:将0db8:0a0b:12f0:0000:0000:0000:0001。
- 反向地理编码接受一对纬度/经度属性。
输入要素几何不被用作输入。如果从几何输入期望的CoordinateExtractor可用于从一个点几何的x和y坐标提取到的特征的属性。
输出端口
当地理编码查找成功,变压器将输出与添加的属性,取而代之的几何特征。可能添加的属性:
_address |
一个单行的地址 |
_address_json |
JSON格式的多部分地址(如果geocoder结果字段不可预测)。 |
_latitude, _longitude |
纬度、经度 |
_elevation_meters、_elevation_feet _elevation_resolution |
高程(米、英尺),以及高程值的误差范围。 |
_timezone |
时区短代码。 例子:美国/温哥华 |
_timezone_name |
时区的描述。 例如:太平洋夏令时 |
_timezone_offset |
以秒为单位从UTC偏移。可能是消极的,也可能是积极的。 |
_timezone_current_dst |
夏令时中,以秒为单位的电流偏移量。通常为0或3600,但也可以使用其他值。 |
请注意,属性可以从他们是如何进入了一个经校正的形式输出。
例如,供给“7445 132街道,萨里,BC”用于正向地理编码可能会导致输出“_address”属性“7445 132圣,萨里,BC V3W,加拿大”的值。这可以是地址数据的标准化有用的结果。
参数
这是Geocoder访问的所有服务的可能参数的完整列表。一旦选择了服务,转换器中只会显示特定于服务的所需参数。
地理编码服务 | 选择用于地理编码请求的服务。该服务还确定了transformer接口中可用的地理编码模式。 一些服务只支持IP地址,而其他服务支持house地址或经纬度对。有关可用服务的详细信息,请参阅地理编码服务在下面。 |
某些提供商要求用户指定附加凭证,例如API密钥,或一个用户名和密码,在执行地理编码之前。自定义URL也要求或允许某些服务。
URL |
URL字段指向另一个服务器位置。这通常是在线产品的自托管版本,通常使用客户自己的数据,而不是向公众提供的通用的全球数据集。 |
API密匙 |
有些服务需要使用API密钥,通常通过在服务网站上注册获得。 需要密钥的服务不能在没有密钥的情况下使用,通常是因为它是付费服务或实施了限制。 密钥可选的服务通常比未注册的用户提供更好的性能或更高的限制。 |
用户名/密码 客户端/秘密 |
有些服务需要或允许使用与API密钥类似的用户名和密码、客户端密钥和密钥进行身份验证。 |
这是来自所有服务可能的参数的完整列表。请注意,每个服务将不支持下列各项参数。
模式 |
如果所选服务支持多种地理编码模式,可在此选择;例如,谷歌服务支持正向、反向、仰角和时区模式。如果没有,则总是假设正向地理编码。这个选择也决定了哪个输入模式会被激活。 正向地理编码接受街道或IP地址形式的输入,而仰角、反向和时区地理编码接受纬度和经度作为输入。接近地理编码允许指定一个纬度和经度,除了地址被地理编码;定位是为了得到更准确的结果。 |
街道地址 |
对于单行地址,用逗号分隔的地址元素列表。例如,123 Main Street, Surrey, BC, Canada。如果需要,可以使用文本编辑器在转换器中组合这些属性,或者使用AttributeManager工作区的早期。 注意,在地址字符串的格式方面,有些服务比其他服务更宽松。 对于离散地址元素,街道地址通常只包含门牌号和街道名称。例如,123大街。它与其他字段一起用于指定完整地址。 |
城市 |
城市名称,用于离散地址规范。 |
省/州 |
离散地址规范中省或州组件的全称或缩写。 |
邮政/邮政编码 |
离散地址规范的邮政编码或邮政编码组件。 |
纬度/经度 |
纬度和经度对的不同值。 例: 纬度:49.1044 经度:-122.8011 |
半径 | 搜索围绕给定半径协调。 |
IP地址 |
一个IPv4或IPv6地址。 例: 199.7.157.0或 2001:0db8:0a0b: 12 f0:0000:0000:0000:0001 |
返回的语言 |
对于某些服务,可以指定用于地理编码结果的语言。这通常适用于前向地理编码和后向地理编码的结果地址。 例: 反向地理编码52.07,4.28将返回英语中的“The Hague”(en),而荷兰语中的“Den Haag”(nl)。 |
超时 |
用户可以在此字段中提供一个值,以设置等待单个请求所需的最大时间(以秒为单位)。在指定的时间之后,如果请求没有完成,将重试请求,最多3次。如果不成功,将输出带有错误代码的特性。 |
最大并发请求 |
这指定要并行发出的地理编码请求的数量。请注意,这可能会引起地理编码服务的速率限制。由于速率限制,失败后,Geocoder将自动等待并重试请求,最多3次。 |
地理编码服务
以下服务支持:
服务 |
模式 |
---|---|
ArcGIS Online的 | 正转,反转 |
ArcGIS Server的 | 正转,反转 |
必应 | 正转,反转 |
Geocode.Farm | 正转,反转 |
Geocoder.ca | 正转,反转 |
谷歌 | 前进,后退,仰角,时区 |
在这里 | 正转,反转 |
IPInfo.io | IP地址 |
ipstack | IP地址 |
OpenCage | 正转,反转 |
开放地图 | 正转,反转 |
TAMU | 前进,与人口普查区域信息 |
请注意,许多服务都使用额外的要求。一个常见的要求是所得到的数据从相同的服务显示在地图上。在数据库中结果数据的存储也可能需要额外的费用。请参阅地理编码提供商(见下表)的服务条款,以确保您的使用符合规定。
ArcGIS Online的 | 要访问这个地理编码服务,您需要提供有效的ArcGIS在线访问凭证。联系Esri建立你自己的ArcGIS在线账户:http://www.arcgis.com/features/plans/pricing.html。 注意,使用这个地理编码器变压器可能会用尽积分,您可能会受到交易限制。有关更多信息,请参阅https://developers.arcgis.com/rest/geocode/api-reference/overview-world-geocoding-service.htm。 请在使用前阅读服务条款:https://developers.arcgis.com/terms。 |
ArcGIS Server的 | 此服务类型使用本地ArcGIS服务器安装上的已发布地理编码器服务。 有关更多信息,请参阅http://server.arcgis.com/en/server/latest/publish-services/windows/geocode-services.htm。 |
必应 | 要访问这个地理编码服务,您需要提供有效的Bing地图访问凭证。联系微软建立自己的必应地图账户:https://www.microsoft.com/maps/Licensing/licensing.aspx。 注意,使用这个地理编码器变压器可能会用尽积分,您可能会受到交易限制。请在使用前阅读服务条款:https://www.microsoft.com/maps/product/terms.html。 |
Geocode.Farm | 要访问这个地理编码服务,您需要提供有效的地理编码。农场的访问凭证。项目点的联系。Farm to set up your own account:https://geocode.farm/register。 注意,使用此服务的地理编码器转换器可能会耗尽积分,您可能会受到事务限制。 请在使用前阅读服务条款:https://geocode.farm/policies/terms-of-service。 |
Geocoder.ca | 要访问这个地理编码服务,您需要提供有效的地理编码器。ca证书的访问。Geocoder联系。ca to set up your own account:http://geocoder.ca/?register=1。 注意,使用此服务的地理编码器转换器可能会耗尽积分,您可能会受到事务限制。 请在使用前阅读服务条款:http://geocoder.ca/?terms=1。 |
谷歌 |
要访问这个地理编码服务,您需要提供一个有效的谷歌映射地理编码API密钥。联络谷歌建立自己的帐户:https://developers.google.com/maps/documentation/geocoding/get-api-key。 注意,使用此服务的地理编码器转换器可能会耗尽积分,您可能会受到事务限制。有关更多信息,请参阅https://developers.google.com/maps/documentation/geocoding/usage-limits。 请在使用前阅读服务条款:https://developers.google.com/maps/terms。 重要的:谷歌地图地理编码API只能与在谷歌地图上显示结果一起使用。在不显示谷歌地图的情况下,禁止使用谷歌地图对API数据进行地理编码。欲知详情,请参阅:https://developers.google.com/maps/documentation/geocoding/policies。 |
在这里 |
要访问这个地理编码服务,您需要提供有效的HERE访问凭证。联系这里建立自己的帐户:https://developer.here.com/plans/api/geocoder。 注意,使用这个地理编码器变压器可能会用尽积分,您可能会受到交易限制。您不允许显示或可视化结果的任何第三方内容(如地图,从街道或卫星图像)不属于这里。 有关使用限制的重要信息,请参阅服务条款:https://developer.here.com/terms-and-conditions。 |
IPInfo.io |
此地理编码服务根据您的订阅级别限制事务量。IPInfo联系。io to set up your own account:https://ipinfo.io/pricing。 请在使用前阅读服务条款:https://ipinfo.io/developers。 |
ipstack | 要访问这个地理编码服务,需要提供一个有效的ipstack API密钥。要获取API密钥,请在https://ipstack.com/。 ipstack是FreeGeoIP.net的继承者,FreeGeoIP.net于2018-07-01年关闭。在FME 2018.1中,FreeGeoIP.net被从Geocoder中移除。 请注意,使用此地理编码器变压器与此服务可能用尽信用,您可能受到交易限制。请在使用前阅读服务条款:https://ipstack.com/terms。 |
OpenCage |
要访问这个地理编码服务,您需要提供有效的OpenCage地理编码器访问凭证。联系OpenCage Data建立自己的账户:https://geocoder.opencagedata.com/pricing。 注意,使用这个地理编码器变压器可能会用尽积分,您可能会受到交易限制。请在使用前阅读服务条款:https://geocoder.opencagedata.com/terms。 |
OpenStreetMap (Nominatim) |
此服务用于自托管的Nominatim服务器。更多关于安装Nominatim服务器的信息,请访问:http://wiki.openstreetmap.org/wiki/Nominatim/Installation。 要使用自己的服务器和地理编码器,请提供完整的URL。这通常以“搜索”结束—例如,http://nominatim.example.com/search。 OpenStreetMaps的Nominatim服务器虽然可以公开使用,但并不打算大量使用,而且有几个使用限制,使得它几乎在所有情况下都不适合与FME一起使用:http://wiki.openstreetmap.org/wiki/Nominatim_usage_policy。 |
TAMU(德州农工大学地球服务) |
要访问这个地理编码服务,您需要提供有效的访问凭证。联系德州A&M地理服务公司建立你自己的账户:http://geoservices.tamu.edu/Pricing。 注意,使用此服务的地理编码器转换器可能会耗尽积分,您可能会受到事务限制。请在使用前阅读服务条款:http://geoservices.tamu.edu/About/Legal。 |
编辑变压器参数
使用一组菜单选项,可以通过引用工作空间中的其他元素来分配transformer参数。更高级的功能,如高级编辑器和算术编辑器,也可以在一些转换器中使用。要访问这些选项的菜单,请单击在可适用的参数旁边。有关更多信息,请参见变压器参数菜单选项。
定义值
有几种方法可以定义在转换器中使用的值。最简单的方法是简单地键入一个值或字符串,其中可以包括各种类型的函数,如属性引用、数学和字符串函数以及工作区参数。有许多工具和快捷方式可以帮助构造值,通常可以从value字段附近的下拉上下文菜单中获得。
使用文本编辑器
文本编辑器提供了一个方便的方法来构造从各种数据源,如属性,参数和常量,其中该结果被直接使用的参数中的文本字符串(包括正则表达式)。
使用算术编辑器
算术编辑器提供了一个方便的方法来构造从各种数据源,如属性,参数和特征函数,其中结果被直接使用的参数内的数学表达式。
条件值
根据一个或多个测试条件,要么通过或失败的设定值。
内容
表达式和字符串可以包括多个功能,字符,参数等。
当设定值 - 无论是直接在参数输入或使用的编辑之一构造 - 字符串和表达式包含字符串,数学,日期/时间或FME特征函数将具有评价这些功能。因此,这些功能的名称(在形式@ <FUNCTION_NAME>)不应该被用作文字字符串值。
参考
没有
加工行为 |
|
特点控股 |
没有 |
依赖 | 外部地址解析网络服务(S) |
FME许可级别 | FME基础版及以上 |
别名 | |
历史 | 发布FME 2017.0 |
分类 |
FME社亚搏国际在线官网区
FME社区是演示亚搏国际在线官网、操作、文章、常见问题等的地方。获取问题的答案,向其他用户学习,并对新功能提出建议、投票和评论。
搜索关于地理编码器的所有结果在FME社区。亚搏国际在线官网
例子可能包含在政府开放执照下的信息-温哥华