span8
span4
您可以使用以下五种方法之一在FME中编写GML或XML:FME对于简单模式的默认GML,使用XMLTemplater的模板,使更复杂的XML符合应用程序模式,XQuery / xmlupdate,或XSLT样式表。然而,由于大多数XML确实需要遵从应用程序模式,除非您正在编写我们已经支持的XML或GML配置文件,您很可能需要使用XMLTemplater来编写XML。
在某些情况下,有一组应用程序模式被分组在一起,称为agml概要。这实际上构成了另一种GML格式,因为如果不进行一些自定义开发,将数据读写到这些GML概要文件之一是相当复杂的。因此全球GML,德国NAS,OS MasterMap和CityGML都是我们作为单独格式实现的GML配置文件的示例。
对于简单的GML,您可能只需设置一个默认的转换,然后根据需要对目标模式进行修改。这可以用于平面数据结构,其中每个特性由一个几何图形和一组属性组成,但没有嵌套的子元素或抽象类型。在这些情况下,GML编写器可以选择在编写GML时生成xsd,以便以后读取。您还可以从XSD导入目标GML模式,尽管在一定程度上我们支持嵌套结构是有限制的。这些通常被建模为列表。
您还可以进行GML到GML的转换和使用XQuery或xmlupdate修改现有的xml结构而不将其映射到关系结构。当源数据已经是XML或GML格式时,这可能是最好的方法,只需要更新或修改数据的某些组件,而不需要创建新数据集。看到文章XQuery或xmlupdate为更多的信息。
在其他情况下,GML模式的类型可能很复杂,需要嵌套,抽象类型,多个名称空间等。编写复杂的应用程序模式通常需要使用XMLTemplater或XSLT样式表。
是否有我们认为符合GML规范的GML数据集我们无法写入?这是可能的,但是我还没有遇到一个我们不能写入的gml结构。然而,有些模式非常复杂,转换数据来填充它们需要很多工作。在这种情况下,最好的做法是发送一些示例数据到技术支持我们可以看一下。
正如我们的GML开发人员所说,“编写任意GML应用程序模式不是一个小问题”!原因是应用程序模式本质上代表一种独特的格式。因此,当您想要写入特定的应用程序模式时,您实际上是在请求一个新的GML配置文件写入器。
将数据导入用户定义的模式的一种方法是创建样式表并使用它来转换数据XSLT 。一种更简单的方法是基于模式定义XML模板并使用新的模板XMLTemplater 将数据合并到该模式中。有关这些方法的更多信息,请参阅fmepedia文档:
FME支持读写GML 2.1.2,3.1.1和3.2.1之上。
基本上,GML阅读器将扫描数据,检测版本,并相应地调用正确的阅读器版本。要进行编写,您需要添加与您想要的GML版本相关联的写入器。
现在,因为我们说我们读和写一个特定版本的GML,这并不意味着我们可以读或写特定的GML模式开箱即用。这也不意味着我们已经实现了理论上可能的全部模式。实际上没有人这么做过。这是因为在GML中可以定义的规范有数百页长(500+),所以每个软件开发人员都需要决定他们想要实现和支持的子集。例如,ESRI只实现了简单的特性配置文件级别0,覆盖点,行,多边形,但不是弧或椭圆,等。
即使有FME支持的GML的范围(参见GML Quick Facts部分的概述),通常,人们会忘记需要一些支持文件来读取特定的GML结构。对于任何xml文档,GML可以用不同的方式解释。这就是为什么应用程序模式- .xsd文件对于读取gml文件至关重要。通常,仅仅访问GML 3.2.1模式是不够的。大多数用户或自定义的GML数据结构都需要xsd或xml模式定义文件的存在,以便读取. GML文件。事实上,您可以从.xsd文件导入GML模式,甚至不需要任何. GML数据。
srsName = " EPSG:# # # #”
我们选择这个方法是最明智的,但令人高兴的是,它似乎也正在成为此类信息的事实上的标准。
当我们无法将用户的坐标系统匹配到EPSG等效项时——当用户具有自定义的坐标系统定义时,匹配的机会非常小——我们只需从FME中写出坐标系统的名称。这对任何获取该文件的人都没有多大用处——除非,当然,他们碰巧也在使用FME,而且还拥有任何自定义定义——但总比没有好。
XML编写器本身并不常用。这是因为它没有能力写出几何图形,除非您将其与XSLT结合起来。一般来说,除非您能够使用GML编写器,我们通常建议使用带有文本文件编写器的XMLTemplater来编写GML或XML。
有关更多信息,请参阅下面的参考资料:
FME文档:
读者和作者- GML
以下连结只供参考,并不是全部或部分经由安全软件认可:亚搏在线
维基百科:
http://en.wikipedia.org/wiki/Geography_Markup_Language
从乐高到各种GML Lite:
http://www.directionsmag.com/article.php?article_id=2408
迷失在抽象中——GML出了什么问题
http://www.artima.com/forums/flat.jsp?forum=123&thread=204378
ESRI:“GML概要:为什么它对互操作性很重要”
http://www.esri.com/news/arcuser/0403/gml.html
使用概要文件来克服GML的复杂性
http://www.ogcnetwork.net/node/603
©2019安全亚搏在线软件公司|法律