span8
span4
阅读INSPIRE通常只需要指向源数据并选择INSPIRE格式。你可能需要选择轴顺序,如果它没有正确的方向。您还可以选择将复杂的属性映射为XML片段,然后使用扁平化选项(用空字符串替代列表括号),以便更容易地将多个嵌套元素映射为关系结构,如在GIS中。
地图名字{0}.GeographicalName.spelling {0} .SpellingOfName。text to name0.GeographicalName.spelling.SpellingOfName.text
要保留XML结构,请将Map复杂属性的默认读取器设置设置为“嵌套属性”。对于模式,显示来自:“数据集仅具有从模式合并的属性”的特征类型通常会产生最佳结果。
INSPIRE的复杂性之一是,每个特性可以包含多个几何图形。例如,除了一个多边形外,一个包裹可能有一个参考点和一个被框包围的点。默认情况下,FME读取所有这些几何图形。这可能需要在工作空间中通过反聚合和过滤来简化几何图形。要消除框的限制,只需取消“读取预定义属性”读取器设置。边界框可能很麻烦,因为它们可以完全覆盖您真正希望看到的功能,因此能够关闭它是有帮助的。
如果您根本无法读取您的特性,那么您的源GML可能存在问题。有时,出版商声称他们的数据会招致抱怨,但事实并非如此。要检查源数据是否有效,请参阅下面的验证部分。因为有太多的INSPIRE模式,所以发布者通常会构建自己的伞形模式来调用他们发布的主题的所有模式,如果您从这样的数据源获取数据,那么没有他们的伞形模式就无法读取数据。要使用它们的模式,在Application schema的reader设置中,将“select feature types by”更改为XSD,然后在“Application schema”中输入它们的模式XSD文件的文件或url路径。要诊断阅读激发数据的其他问题,可以搜索FMEpedia,查找与GML和XML阅读诊断相关的文章。
在2014年FME之前,用户通常需要XMLTemplater和文本文件编写器来编写INSPIRE GML。现在,你需要做的就是添加一个激励作家,设置“选择功能类型”到“主题”,并选择你想写的激励主题。FME根据INSPIRE模式将这些目标功能类型放到工作空间中。然后就是FME数据重组和模式映射来支持目标INSPIRE模式的问题了。您仍然需要了解INSPIRE模式需求,包括必需字段、关系、可nillable字段等。通常使用AttributeCopiers进行模式字段映射,使用AttributeCreators定义默认值,使用AttributeValueMapper进行值映射。SchemaMapper可以使用存储在csv或excel表中的外部crosswalk表跨多个特性类型完成所有这些工作。一个读取激励数据并将其写回的工作空间正好需要0个转换器—请参阅所附的工作空间。INSPIRE读者/作者支持INSPIRE所需的所有复杂性,比如每个特性的多个几何图形、嵌套的特性、重复的元素、可修改的元素。我们还简化了gui和工作区参数,使它们更易于使用。注意,这是开始编写INSPIRE GML的好方法。一个往返的工作空间,如附件中的工作空间,加上一个日志记录器,将向您展示在FME中为了写出兼容的INSPIRE GML需要什么样的数据结构。
一个好的开始是基本INSPIRE GML写的例子。这涵盖了如何命名属性和几何图形以便正确地写出它们的基础知识。《激励》的作者也有一个漂亮的印刷环境。这在原型化工作空间以编写新主题时非常有用。与序列化XML相比,用漂亮的打印XML进行故障排除要容易得多。对于大多数其他设置来说,默认的writer参数应该是合适的,因为INSPIRE模式控制着与这些参数相关的XML文档的结构。
注意,如果您希望使用一个新的草案模式,您可以用更新后的模式覆盖已发布的模式,或者只使用GML写入器。注意,GML读取器将检查任何给定GML文件上的名称空间,并使用它来确定使用哪个读取器,因此GML读取器也可以用来读取INSPIRE数据。
如果您不能验证输出,那么编写INSPIRE GML就没有多大意义。要检查这一点,可以使用XMLValidator根据上面url中的相关主题的INSPIRE模式验证源数据。您还可以在FME\xml\schemas\inspire中找到这些模式。XMLValidator使用Apache Xerces库进行验证,因此您知道结果是客观的。
最简单的方法是创建一个新的工作区,添加一个创建者,然后是XMLValidator。将XMLValidator指向要测试的XML文件,并指向要验证的INSPIRE应用程序模式的XSD文件。将XMLValidator的输出连接到日志记录器。运行工作区并查看日志,以查看XML是否有效。如果没有,您将得到一份完整的报告,其中列出了与INSPIRE模式相关的XML问题。注意,XMLValidator也有一个语法验证模式。有关示例,请参见附加的工作区。
FME服务器可用于提供在线验证服务,由类似于上面所示的工作空间驱动。这是一个演示激发GML验证服务这允许您上传与任何附录I主题相对应的数据并验证模式。演示中使用的源代码和工作空间可从现场并修改为部署在自己的FME服务器。您可以根据需要使用FME转换器轻松地添加其他验证测试。
那么,我们不再需要XMLTemplater了吗?不是这样的。XMLTemplater对于XML编写仍然非常有用,因为我们还没有基于模式的XML编写。还有一些情况需要生成GML,但是没有GML应用程序模式。另外,有些模式非常大,希望写入的部分可能非常小,因此使用XMLTemplater可能更容易。元数据就是一个很好的例子。一个给定的组织可能有一个标准的元数据模板,可以配置XMLTemplater来使用它。通常情况下,解决FME中任何给定问题的方法通常都不止一种。不过,为了生成INSPIRE GML,在尝试构建自己的模板之前,应该尝试应用程序模式编写方法。
它现在更容易发布任何INSPIRE GML通过OGC WFS网络。事实上,你可以发布一个Web服务托管的工作区,以处理该HTTP OGC消息业务以及在GML响应的数据流服务。在获得性能和DescribeFeatureType请求是被解析并用于生成通过文本文件写入相应的获得性能XML和XSD DescribeFeatureType响应只是工作区的投入。GetFeature请求进行处理,以产生INSPIRE GML响应。一旦发布到FME Server中输入由数据流服务托管。这可以让你几乎配置希望任何Web服务,并可以很容易地配置为支持XML过滤器,WFS 2.0,WPS,WMTS等,都通过配置您的工作空间和无需编写一行代码。欲了解更多有关这看激发WFS演示。
通过采取任何你选择的INSPIRE GML数据集测试这个自己成立了一个工作区的读取和写入它。的一个很好的例子附着GeoNamesGMLwriter_FME2014.zip。打开数据检查的GML输出地看到,它有输入就有了一切。然后检查,以确保结果验证对相关INSPIRE架构。请注意,如果您的输出犯规验证,检查的第一件事就是你的输入是否验证。如果输入的数据是无效的FME不会自动修复它。还要注意的是,如果你想要写一个特定的主题INSPIRE,一个很好的第一步仍然是阿霍德一些样本数据。然后你就可以做出一个INSPIRE激发工作空间并记录结果。这将显示您的FME功能,您需要为推动您的INSPIRE GML作家产生的结构。它也是一个不错的主意,看看你的GML在XML编辑器如记事本++,以确保一切是存在的,结构化的,你期望的那样。
如果您有任何疑问,请联系支持。。
实施例INSPIRE GeographicalNames设有在XML:
2013-01-01T12:00:00 36.715000152587891 15.090000152587891 8756d185-ef24-4352-974b-82c263b43d69IT.IMA.GN意大利大区标准化当地语地名行政帕基诺单位
实施例INSPIRE GeographicalNames从FME工作空间日志功能:
功能类型:`NamedPlace_LOGGED '属性(编码:UTF-16):`beginLifespanVersion' 具有值'2013-01-01T12:00:00' 属性(字符串):`fme_feature_type '具有值'NamedPlace' 属性(字符串):`fme_geometry '具有值'fme_point' 属性(纠结:字符串):`fme_type '具有值'fme_point' %| -1440964106_36 |%属性(编码:UTF-16):`gml_id”具有值'IT.IMA.GN.8756d185-ef24-4352-974b-82c263b43d69' 属性(编码:UTF-16):`gml_original_coordinate_system”具有值'瓮:OGC:DEF:CRS:EPSG :: 4326' 属性(编码:UTF-16):`inspireId.Identifier.localId '具有值'8756d185-ef24-4352-974b-82c263b43d69' 属性(编码:UTF-16):`inspireId.Identifier.namespace' 具有值'IT.IMA.GN”属性(编码:UTF-16): `localType{0}.LocalisedCharacterString' has value `Regione' Attribute(encoded: utf-16) : `localType{0}.LocalisedCharacterString.locale' has value `it-IT' Attribute(encoded: utf-16) : `name{0}.GeographicalName.language' has value `Italian' Attribute(encoded: utf-16) : `name{0}.GeographicalName.nameStatus' has value `standardised' Attribute(encoded: utf-16) : `name{0}.GeographicalName.nativeness' has value `endonym' Attribute(encoded: utf-16) : `name{0}.GeographicalName.sourceOfName' is属性(编码:utf-16):`name{0}.geographilname.sourceofname.nilReason'具有值“unknown”属性(编码:utf-16):`name{0}.geographilname.spelling{0}.spellingofname.script'具有值“latn”属性(编码:utf-16):`name{0}.geographilname.spelling{0}.spellingofname.text'具有值“pachino”属性(编码:utf-16):`类型{0}具有值“administrative unit”属性(字符串):`xml_type'具有值“xml_point”坐标系:`epsg:4326'几何类型:ifmepoint名称(utf-16):`geometry'几何特征数:1 geometrytrait(编码:utf-16):`gml_id'具有值“it.ima.gn.p8756d185-ef24-4352-974b-82c263b43d69'坐标尺寸:2(36.7150001525879,15.0900001525879号)
©2019安全亚搏在线软件公司法律