span8
span4
AIXM是航空信息交换模型格式。FME支持读写AIXM version 4.5 (XML)和AIXM version 5.1 (GML)。编写AIXM 5.1需要FME 2014或更新版本。下面将描述每个版本。还包括一个编写AIXM5 AirportHeliports的示例。
AIXM 4.5 XML
AIXM 4.5是一种复杂的基于XML的格式,旨在提供支持航空信息服务(AIS)。AIXM 4.5不包含显式几何,而是建立在非几何特性与geoLong和geoLat属性之间的关系上。考虑到模式的复杂性和地理信息的存储方式,典型的GIS数据和AIXM 4.5之间的数据转换涉及许多转换步骤,通常需要FME专家和熟悉AIXM数据模型复杂性的专家的帮助。阅读AIXM 4.5很简单,但是只生成从geoLong和geoLat属性值派生的非几何特征和点特征。没有生成可以从父对象关系派生的线性和区域特征。
AIXM 5取代AIXM 4.5,是基于GML的。因此,最好将其视为与4.5完全不同的格式。它还意味着所有的几何图形都由有效的GML构造组成。可以使用现有的GML库读写GML对象。这极大地简化了处理AIXM数据和在GIS和AIXM数据结构之间进行转换的过程。AIXM5仍然是一个非常复杂的模式,因此编写这种格式仍然需要熟悉AIXM标准的专家的支持。阅读AIXM 5.1只需选择源数据集和AIXM5阅读器。注意,AIXM 5.0和5.1版本都受到支持。
阅读AIXM通常只需要指向源数据并选择AIXM格式。如果方向不正确,可能需要选择轴顺序。您还可以选择将复杂属性映射为XML片段,然后使用扁平化选项(用空字符串代替列表大括号)来简化从多个属性映射,将元素嵌套到关系结构中,如GIS中。为了保留XML结构,将Map复杂属性的默认reader设置保留为“嵌套属性”。对于模式,显示来自:“只有与模式合并的属性的数据集”的特性类型通常会产生最好的结果。
要编写AIXM5数据,添加一个AIXM5写入器并选择要写入的主题。FME将这些目标特性类型放在工作区中,基于AIXM模式。然后是FME数据重组和模式映射,以支持目标AIXM模式。第一步是确定要写入的目标特性类型。通常从简单开始并选择一些元素类型是一个好主意。例如,如果您试图创建机场AIXM数据集,你可以从t台开始,以及支持它所需的特性类型。要做到这一点,您需要添加AIXM编写器,然后导入所有与跑道相关的特性类型。所以你可以从写t台开始,RunwaysTimeslice,加上文档容器AIXMBasicMessage。注意,您不能创建用户定义的字段或特性类型。您必须导入目标模式并重新构造数据以精确匹配它。
为了成功地完成这个转换,您需要从必需字段的角度理解AIXM模式需求,id、父母/子女关系,nillable字段等。属性构造器通常用于模式字段映射,AttributeCreators用于定义默认值,和AttributeValueMapper进行值映射。SchemaMapper可以使用存储在csv或excel表中的外部人行横道表跨多种特性类型完成所有这些工作。然后是构造正确的几何结构的挑战。GeometryPropertySetters用于设置正确的几何名称,gml_ids等特征,和聚合器来组装复杂的几何聚合。参见所附的EU机场编写示例。读取AIXM5数据并将其写回的工作空间恰好需要0个转换器。AIXM5读写器支持AIXM所需的所有复杂性,如嵌入式几何特性(对于ids材料类型等)、每个特征有多个几何图形,嵌套功能,重复元素,nillable元素。我们还简化了gui和工作区参数,使它们更易于使用。注意,如果您希望使用新的模式草案,你可以用更新后的FME覆盖FME,或者直接使用GML编写器。注意,GML阅读器将检查任何给定GML文件上的名称空间,并使用该名称空间来确定使用哪个阅读器,所以GML阅读器也可以用来读取AIXM数据。FME的AIXM阅读器/编写器还支持AIXM扩展,这些扩展通常由主要航空当局(例如美国航空管理局)的附加应用程序模式实现。联邦航空局或欧洲)。这些附加模式可以在应用程序模式参数下引用,它们本身应该引用并与AIXM父模式兼容。
如果您不能验证输出,那么编写AIXM GML没有多大意义。在FME基金我们使用XMLValidator转换器来实现这一点。它使用Apache Xerces库进行验证,所以你知道结果是客观的。最简单的方法是创建一个新的工作区,添加一个创造者,然后XMLValidator。将XMLValidator指向要测试的XML文件和要验证的AIXM应用程序模式的XSD文件。将XMLValidator的输出连接到日志记录器。运行工作区并查看日志,以查看XML是否有效。如果没有,您将得到一个完整的报告,其中列出与AIXM模式相关的XML问题。请注意,XMLValidator还有一种仅用于语法验证的模式。
在构建新工作区时,您通常会在开始时得到大量的验证错误。为了帮助你度过难关,将输出限制在一到两个特性是一个好主意。
一些需要注意的问题:
-确保每个特性和几何图形都有唯一的id。
- gml_ids必须以字母字符开头。一般建议使用简短的对象类型缩写作为根特性gml_id的前缀。例如,如果根id = 101,你可以使用ah_101的机场直升机场功能gml_id,ahts_101 for airport heliport time slice gml_id,和aharp_101为机场直升机场时间切片ARP点gml_id。
如上所述,在大多数情况下,几何图形也需要gml_id。
-在AIXMBasicMessage之间定义正确的父/子id关系,不管你写的是什么元素。
-可能需要大写名称
-添加任何缺失/必需的属性和几何特征
-警告信息可能会说“element not allowed”,但实际上它的意思是你遗漏了一个需要优先处理的元素,或未能编写所需的父元素。
您可以选择任何AIXM5数据集并设置一个工作区来读取和写入它,从而对其进行测试。在Data Inspector中打开输出,查看输出是否包含所有内容。然后检查以确保结果对AIXMBasicMessage.xsd有效。注意,如果输出不验证,首先要检查的是输入是否有效。如果您的输入数据无效,FME将不会自动修复它。还要注意,如果您想要写入特定的AIXM主题,好的第一步仍然是获得一些示例数据。然后您可以创建一个AIXM5到AIXM5的工作空间并记录结果。这将向您展示驱动AIXM5 GML编写器所需生成的FME特性的结构。
附上的例子显示如何阅读激励运输网络机场和编写AIXM机场端口。附件包含source INSPIRE GML,工作区和输出AIXM5 GML,因此,您也可以使用它来试用AIXM阅读器。
工作区演示了编写AIXM所需的主要转换步骤(也在上面的AIXM编写部分中进行了描述):
请注意:除了这些步骤,需要注意的是,源模式和目标模式(特性类型和属性数据模型)都是模式驱动的。也就是说,在创建工作区时,必须从可用模式列表中选择模式,或者添加阅读器/写入器。您不能创建任何用户定义的字段或属性,因为它们将不符合AIXM模式。
完成激励机场到AIXM机场端口工作区
如需更多资料,请联络支持。
©2019安全亚搏在线软件公司|法律