第8页
斯潘4
使用FME,可以在一个小的工作空间内获得INSPIRE兼容的GML。对于本演示,将使用多边形几何体和属性创建单个特征。然后构造特征以匹配INSPIRE Natural Risk Zones核心模式。最后,使用INSPIRE GML作者编写了一个危险区特征,这是附件三自然风险区主题的一部分。该演示演示了如何基于应用程序模式轻松创建有效的INSPIRE GML。由于编写INSPIRE GML的工作区通常包含类似的步骤,因此可以调整此工作流以适应其他INSPIRE主题。亚搏在线
使用适当的读取器读取源数据。在此示例中,为简单起见,创建多边形以表示使用创建器变压器的洪水风险区域,以表示示例特征。这也是在报告以支持错误时创建再现案例的好方法。
根据INSPIRE的要求生成唯一的id。有时数据将包含唯一的标识符,这些标识符可以根据需要使用和格式化。如果没有唯一的id可用,它们可以用FME生成,就像我们在这里使用UUIDGenerator转换器所做的那样。记住验证INSPIRE GML,这将确保id的唯一性,或者使用DuplicateRemover来检测它们。请注意,某些ID(如GML ID)必须以字母而不是数字开头,因此在AttributeCreator()中添加了前缀U_@Value(uuid))。
创建、填充和映射必要的属性。源数据可能包含可以重命名以匹配INSPIRE目标属性的属性,这一过程称为模式映射。然而,INSPIRE数据规范所要求的某些属性通常在源数据中缺乏,例如日期和区域信息。这些属性可以给定默认值、生成或从模式映射获得。属性的添加和修改可能涉及到多种变换器,包括属性创建者,属性编译器,Schemapper.,以及一些计算器变压器。
attributeCreator结构数据以满足Inspire数据模型要求:
数据被恢复为激发指定的坐标系。激发指令要求在ITRS参考系统中,在ETRS89(EPS89)或ETRS89之外的系统,在ETRS89(EPSG:4258)中发布。
几何匹配合适的命名来源xml格式_geometry name(s) in the destination feature type. Frequently, multiple xml_geometry names will exist, but often it is acceptable to only write out to one xml_geometry. For this demo, the geometry we want to populate is named 'geometry'. The other xml_geometry geometries are optional, such as gml_boundedBy or gml_location. Geometry transformation may also consist of combining, restructuring, generalizing or simplifying geometries. In FME, the transformers most commonly used for this include几何特性测试仪命名几何图形和定义特征,聚合器用于嵌套几何图形,以及几何计算器for changing geometry types.
这个几何特性测试仪用于将几何体名称设置为“geometry”,以匹配危险区域的xml\U几何体类型之一:
INSPIRE GML Writer用于编写危险区域目标特征类型。可以通过选择INSPIRE主题或指定XSD的文件路径来指定xmlschema文档(XSD)。在本例中,使用了内置的应用程序模式Natural Risk Zones Core。与目标属性同名的源属性直接隐式映射到目标字段。请注意,即使几何体本身已被映射,xml\u geometry字段仍保持红色。
使用以下写入程序设置:
After writing INSPIRE GML, it is important to validate it to ensure that it complies with XML syntax and XSD standards. You can check the GML against syntax and schema using the XMLValidator transformer. If the XML is not valid, in the log the error or errors will be briefly reported, including details such as the line, column number and a brief description of the error. For INSPIRE data, errors are often a result of missing attributes or values. Once an error is corrected, the data can be validated again to check whether the fix worked.
XML错误可能看起来有点误导。For example, an error such as the following may be reported: “element 'namespace' is not allowed for content model '(localId,namespace,versionId?)’” In fact, this is often caused by a missing element which is expected earlier, since order matters. In this case, ‘inspireId.Identifier.localId’ must be defined before the namespace element, even though both are required. Try removing the ‘inspireId.Identifier.localId’ field to reproduce the above validation error. You can also get similar errors if the schema expects an element to be contained within a parent and you have not defined the correct gml_parent_id. Other common errors include missing IDs, incorrectly formatted date fields, null values without the required xsi_nil set to 'true', and invalid values or improper case for fields with restricted domains such as nilReason set to 'unknown'.
请注意,验证最初可以生成许多错误的列表。通过将输出限制为少数典型功能,然后逐个通过错误来简化诊断过程。同样,在良好的XML编辑器中再次相当打印和查看输出GML,如Notepad ++将使自错误列表包含行和行号以来,可以更轻松地查找问题。
验证工作区使用XML validator变压器:
还可以使用激发器编写器验证XML输出。在导航窗口中,可以在Writer参数中指定输出文件的验证。请注意,一旦您对输出感到满意,关闭验证会有助于提高写入性能。
激发导航器中的GML Writer参数,包括验证输出文件的选项:
FME服务器可以用来提供一个在线INSPIRE数据验证服务,该服务由一个类似于上面所示的工作区驱动。A演示可在您可以在其中上传与任何附件I主题相对应的数据并验证架构。此演示中使用的源代码和工作区可以从中下载地点并修改为在您自己的FME服务器上部署。您可以根据需要使用FME transformers添加其他验证测试。
在数据检查器中,使用INSPIRE GML读取器查看INSPIRE GML结果。为了更快地显示时间,请在“读取器参数”下按主题选择要素类型,不选择INSPIRE主题,或仅选择NaturalRiskZonesCore主题。
在“数据检查器”中,选择“要素类型”“按主题”,但不选择“激发主题”,或仅选择“自然riskzonescore”:
注意:此示例仅用于演示目的。结果数据不可用于任何操作目的。*欧洲空间信息的激励或基础设施,是欧洲联盟指令,旨在创建欧盟数据的空间数据基础架构,这些基础设施将用于政策制定。该指令还旨在改善公众进入空间信息。有关更多信息,请访问激励网站.
© 2019安亚搏在线全软件公司|法律