span8号
第4排
FME本身不是地理编码。亚搏在线安全软件不拥有或维护地理编码所需的地址和位置数据。但是,存在许多地理编码Web服务,并且通过访问这些Web服务,可以使用FME对数据进行地理编码。当我们在本文中提到地理编码时,我们的意思是获取已知地址的纬度和经度。
这个例子展示了如何使用FME对gisgraphy服务进行地理编码。gisgraphy服务同时使用地名和openstreetmap数据源。有关gisgraphy的更多信息,请参见:网址:http://www.gisgraphy.com/
地址源数据
附加的工作区使用创建者创建单个地址记录,使用attributeCreator从发布的参数中获取地址数据。您可以使用file-prompt运行这个工作区,然后运行并输入一个地址并查看地理编码的位置。
将创建者替换为您自己的地址数据阅读器,例如Excel文件或数据库表。需要三个属性:
如果您的数据不是用这样的属性构造的,FME包括许多变压器,以帮助您映射模式。attributerName可以用来简单地更改属性的名称。或者,您可以有单独的地址编号和街道名称属性,并且可以使用StringConcatenator将它们组合成一个名为StreetAddress的属性。
对于每个记录,工作区中的StringConcatenator将地址属性与gisgraphy服务的基本URL(已发布参数)结合起来,为每个地址构建一个URL。此URL由httpfetcher转换器发送到gisgraphy服务,并返回一个位置。以下是在属性geocodingurl中传递给httpfetcher之前的URL示例:
http://services.gisgraphy.com/geocoding/geocode?广告…Twin Oaks CR滑铁卢&Country=CA
httpfetcher将自动用URL编码替换URL中的空格。
httpfetcher为属性url目录中的每个地址记录返回一个XML文档。在XML中,可能为每个地址返回多个位置,这个工作区假定XML文档中的第一个是最佳匹配的。作者可以编写一个更复杂的工作流亚搏在线来查看返回的所有位置并验证最佳匹配。
我们在
既然我们有了纬度(lat)和经度(lng)属性,我们使用2dpointreplacer在每个位置创建一个点,coordinateSystemsetter将ll85设置为每个点的坐标系。
工作区中有一个mapinfo编写器,但您可以将其替换为您希望的任何编写器。
?2019安全亚搏在线软件公司|法律