关于“带有扩展数据到Shapefile的KML”的注释和答案 https://knowledge.亚搏在线safe.com/questions/45809/kml-with-extendeddata-to-shapefile.html 关于“KML with ExtendedData to Shapefile”问题的最新评论和答案 桑德评论桑德的评论 https://knowledge.亚搏在线safe.com/comments/47190/view.html 嗯…似乎只有我,变形金刚上传者,才能看到……在过去,人们可以下载测试工作空间。
顺便说一下,我刚刚更新了变压器。没有版本升级,所以不需要重新下载。我只是稍微改进了一下文档。
格林威治时间2017年7月4日星期二15:06:22 砂光机
克劳斯特对克劳斯特的评论 https://knowledge.亚搏在线safe.com/comments/47168/view.html @sander_s,

这是令人印象深刻。效果很好。谢谢你!

但是,由于未知的原因,我没有在FME集线器中看到下载测试按钮。
格林尼治时间11:51:59 krostir
桑德评论桑德的评论 https://knowledge.亚搏在线safe.com/comments/47164/view.html @krostir,

听到这个消息我很难过!我花了很多时间试图写清楚的文档…不幸的是,这些键和值列表参数有点混乱,但这主要是由于FME GUI类型的限制。据我所知,没有办法为单个输入参数创建输入参数 嵌套的列表。
不管怎样,你看到有一个 下载测试按钮下 下载FME中心页上的按钮?在该工作区中,我创建了两个列表类型,以便您可以看到它的功能。

但对于你的具体情况,这里有另一个 例子的工作区它使用ListKeyValuePairExtractor和您的KML示例文件!在我的机器上,顺便说一下,它需要很长时间才能运行,但是这是由于KML读取器上的一些HTTP连接超时造成的。
格林威治时间2017年7月4日星期二09:35 . 56 砂光机
克劳斯特评论了克劳斯特的回答 https://knowledge.亚搏在线safe.com/comments/47151/view.html 我试着用 ListKeyValuePairExtractor但想不出办法。你能给我举个例子吗?

06:39:50 GMT krostir
答案由桑德 https://knowledge.亚搏在线safe.com/answers/46711/view.html

仅供参考@krostir:我刚刚上传了一个自定义变压器到FME中心,实现了上述更通用/优雅的方式。检查ListKeyValuePairExtractor!

格林尼治时间2017年6月27日星期二13:16:22 砂光机
克劳斯特评论了克劳斯特的回答 https://knowledge.亚搏在线safe.com/comments/45889/view.html 这正是我们所需要的。我不知道Python可以如此优雅地解决这个问题。
格林尼治时间2017年6月14日星期三06:44:34 krostir
答案由桑德 https://knowledge.亚搏在线safe.com/answers/45825/view.html

有多种方法可以做到这一点,但我将选择PythonCaller,因为这是最干净的选择。您将不得不以某种方式公开属性,因为FME需要知道它必须写出什么。我选择在PythonCaller中也这样做,因为数据的模式似乎是固定的。
看看我的解决方案附件。您现在可以在自动模式下简单地将Shapefile写入器添加到其中,但是要注意,属性名对于Shapefile来说太长了,可能会被截断。

如果你没有FME 2017,这是Python代码,你可以粘贴在PythonCaller。确保将“Class或Function to Process Data”的值设置为“processKmlData”,以便调用feature函数。

进口fme进口fmeobjects def processKmlData(特性):名称= feature.getAttribute (“kml_data {} . name”)值= feature.getAttribute (“kml_data {} value”)如果不是(isinstance(名字,列表)和isinstance(值,列表)):返回num_attributes = len(名字)如果num_attributes ! = len(值):换取我的范围(num_attributes):功能。[我]setAttribute(名称,值[我])
格林尼治时间2017年6月13日星期二11:53:47 砂光机