西班牙
斯潘4
首先,我对FME很陌生,所以我可能忽略了一个非常简单的解决方案——如果是,请道歉!
我正在使用FME Desktop 2018.1,转换一个包含土壤多边形的形状文件(附录III)以激发符合GML的功能。在设计工作台时,我遵循了一些INSPIRE写作教程(地籍地块、洪水区等)中概述的一般工作流程,另外还有一个工作亚搏在线台,来自另一个组织的合作者,正在做一个非常类似的练习-不幸的是,她使用INSPIRE解决方案包进行了翻译,这对我们来说不是一个选择(太贵了),所以我没能完全理解。
我已经成功地创建并重命名了所有必需的属性,而编写器之前的最后一个转换器是GeometryPropertySetter,我在这里按照多个地方的建议将几何体名称设置为“Geometry”。如果我将检查器连接到输出端口,一切看起来都很好。同样,我可以连接GeometryValidator和XMLValidator,但都不会给出错误。
当我连接到INSPIRE GML编写器时,翻译成功地运行,没有错误,所有的特征都被写出,但没有一个具有几何图形。如果我在数据检查器中查看该文件,gml文件将保留坐标系(EPSG:4328),并具有正确的特征类型(在本例中为SoilBody),但对于每个特征,所有范围都列为“nan”,顶点数=0。fme_geometry是“fme_undefined”,fme_type是“fme_no_geom”。
我已经设置了作者的属性,所以它使用了INSPIRE Themes设置,并从内置选项中尝试了3.0和4.0;我还将它指向应用程序模式文件soil.xsd(3.0和4.0都是直接从INSPIRE网站下载的),但都给出了相同的结果。
有人能给我推荐一些我可以试试的东西吗?
如果有人想大约有一出戏,工作台文件附加,与输入数据的可真快。
我一直在开,关各种事情,看它是否有什么差别。我上面描述的结果是与“不重定向”;如果我“重定向到数据检查”的输出显示,因为我本来希望 - 几何信息是存在的,但奇怪的是,检查数据表显示几何字段的值
现在我有机会看看,似乎是好的,除了岛上的多边形正在处理的方式。在数据集的底部,大多边形在转换后“消失”,被所有岛屿的集合所代替。同时,在左上角还有另一个圆环多边形,它按预期进行变换。
过去的经验告诉我,99%的可能是shapefile的问题,但是你以前见过这样的事情吗?此外,添加GeometryRefiner作为第一步,将导致大多边形转换为精细多边形,而小多边形“反转”!已经上传了一些照片来展示我的意思。
谢谢,马尔科姆
你好,特伦特
非常感谢你抽出时间帮我看。我现在确实在两台机器之间,所以几天内都没有机会测试,但我想我还是听从了你的建议。在阅读文档时,我确实很难理解MultiSurface属性,并且没有意识到缺少z维可能会导致这个问题,因为我们的多边形是“平面”的,而且我看到的其他示例中没有一个比在工作流中包含GeometryPropertySetter转换器更复杂。亚搏在线
我会汇报进展的。幸运的是,这个数据集没有依赖关系,所以如果我可以让几何体工作,那么这是一个勾选的列表。而且我很确定,随着合规期限的临近,其他人在未来几个月内也会遇到这个问题,所以如果这有助于其他人避免不必要的头痛,那就更好了!
最美好的祝福
马尔科姆
你好@电动机控制中心,
查看一下您的工作流程,我可以看到从输出中删除亚搏在线的几何图形-在数据检查器或XML编辑器中查看。我使用了FME 2019.0测试版,因此Inspire Writer Validate选项报告了一个错误。
报告的错误如下:
XML验证:在第1792行第17列的“C:\Users\tkading\Downloads\GML_Shapefile\soils25k_test_dataset v2.GML”中出现错误:“内容模型”(metaDataProperty*,description)不允许元素“soilBodyLabel”?,说明参考?,标识符?,名称*,边界?,位置?,灵感?,几何,soilBodyLabel,beginLifespanVersion,endLifespanVersion?,由“+”描述“
这个错误说明的是,在soilBodyLabel元素之前可能缺少预期的元素。由此我们可以得出几何图形被删除,因为“soilBodyLabel”前面的元素是几何元素。因此,通过查看此处的Inspire模式:https://inspire.ec.europa.eu/data-model/approved/r4618-ir/html/index.htm?转到=2:3:17:1:8708我们可以看到,土体几何模式需要一个GM_多曲面几何。
将此形状多边形转换为多曲面的步骤如下。这是按顺序直接在AttributeCopier之后发生的:
1)3强制-这将强制几何体具有Z元素。我们在这里将高程值设置为0。http://docs.亚搏在线safe.com/fme/2018.1/html/fme_Desktop_Documentation/fme_Transformers/Transformers/3dforcer.htm2)面替换-将特征的区域几何图形转换为面。http://docs.亚搏在线safe.com/fme/2018.1/html/fme_Desktop_Documentation/fme_Transformers/Transformers/facereplacer.htm3)SurfaceBuilder-这将在具有另一个表面特征的表面特征上钻孔。http://docs.亚搏在线safe.com/fme/2018.1/html/fme_Desktop_Documentation/fme_Transformers/Transformers/surfacebuilder.htm4)聚合器-将特征几何图形合并为同质聚合aka(曲面->多曲面)。重要的是按特征上的属性分组,以确保保留这些属性,从而为每个输入特征获得一个多曲面。http://docs.亚搏在线safe.com/fme/2018.1/html/fme_Desktop_Documentation/fme_Transformers/Transformers/aggregator.htm
最后,这些特性被传递到GeometryPropertySetter中,在这里我们将属性设置为Geometry Name,并将名称设置为“Geometry”。
这将允许您的输出包含有效的几何图形。
24953-soils25ktest-v2-解决方案.fmw
注:上面的工作流将创建一亚搏在线个有效的Inspire GML,但是它将只对这个单一的特性类型有效,而不是一个完整的数据集,因为在模式UML图中显示了特性类型之间所需的依赖关系。
?2019安全亚搏在线软件公司|合法的