span8
span4
FME本身不是地理编码器。亚搏在线安全软件不拥有或维护地理编码所需的地址和位置数据。但是,存在大量的地理编码web服务,FME可以通过访问这些web服务来对数据进行地理编码。在本文中,我们所说的地理编码是指获取已知地址的纬度和经度。
这个例子展示了如何使用FME来访问地理信息服务。Gisgraphy服务同时使用Geonames和OpenStreetMap数据源。更多关于Gisgraphy的信息可以在这里找到:http://www.gisgraphy.com/
地址源数据
附加的工作空间使用创建者创建单个地址记录,使用AttributeCreator从发布的参数获取地址数据。您可以使用文件提示符运行此工作区,并运行并输入单个地址,然后查看地理编码位置。
将创建者替换为您自己的地址数据的读取器,例如Excel文件或数据库表。需要三个属性:
如果您的数据结构中没有这样的属性,那么FME包含许多转换器来帮助您映射模式。AttributeRenamer可用于简单地更改属性的名称。或者您可能有单独的地址编号和街道名称属性,您可以使用StringConcatenator将它们组合成一个名为StreetAddress的单个属性。
对于每个记录,工作空间中的StringConcatenator将地址属性与到Gisgraphy服务的基本URL(已发布参数)组合起来,为每个地址构建一个URL。此URL由HTTPFetcher转换器发送到Gisgraphy服务,并返回一个位置。下面是一个URL在传递给属性GeoCodingURL中的HTTPFetcher之前的示例:
http://services.gisgraphy.com/geocoding/geocode?ad..。两棵橡树都有水
HTTPFetcher将自动用URL编码替换URL中的空格。
HTTPFetcher为属性_url_contents中的每个地址记录返回一个XML文档。在XML中,每个地址可能返回多个位置,这个工作区假设XML文档中的第一个位置是最佳匹配。可以编写更复杂的工作流来查看所亚搏在线有返回的位置并验证最佳匹配。
我们在。上使用xml压扁器
现在我们有了纬度(lat)和经度(lng)属性,我们使用2DPointReplacer在每个位置创建一个点,使用CoordinateSystemSetter在每个点上设置LL85作为坐标系统。
工作空间中有一个MapInfo写入器,但是您可以用您希望的任何写入器替换它。
©2019安全亚搏在线软件公司法律