span8
span4
我正在尝试将一个谷歌KML文件转换成ESRI Shapefile,并将ExtendedData作为属性包含进去。
S1A 1C269 电子战 钠 DH 2017 - 06 - 06 - t20:19:16 2017 - 06 - 06 - t20:20:32 76 16918 46
有很多方法可以做到这一点,但我会选择python调用器,因为这是我最干净的选择。你必须以某种方式公开属性,因为FME需要知道它要写什么。我也选择在PythonCaller中做这个,因为数据的模式似乎是固定的。
看看我的解决方案在哪里附件。现在你可以在自动模式下添加一个Shapefile写入器,但是要注意,对于Shapefile来说,属性名可能太长,可能会被截断。
如果你没有FME 2017,这是可以粘贴到PythonCaller中的Python代码。确保将“处理数据的类或函数”的值设置为“processKmlData”,它会调用特征函数。
import fmeimport fmeobjectsdef processkmldata(feature):name=feature.getattribute('kml_data.name')values=feature.getattribute('kml_data.value')如果不是(isInstance(name,列表)和isinstance(价值观,如果num_attributes != len(values):返回i in range(num_attributes): feature.setAttribute(names[i],值[I]
仅供参考@krostir:我刚刚上传了一个自定义转换器到FME集线器,它以一种更通用/优雅的方式实现了上述功能。退房ListKeyValuePairExtractor!
©2019安全亚搏在线软件公司|法律