斯潘8
斯潘4
您可以使用以下五种方法之一在FME中写入GML或XML:为国家格式等标准预定义的GML配置文件,简单模式的默认GML,带有xmlTemplater的模板,用于更复杂的XML以符合应用程序模式,XQuery/XML更新程序,或XSLT样式表。然而,因为大多数XML都需要符合应用程序模式,除非您正在写入我们已经支持的XML或GML配置文件,您很可能需要使用xmlTemplater来编写XML。
在某些情况下,有一组应用程序模式组合在一起,称为GML轮廓.这基本上构成了另一种GML格式,因为在没有自定义开发的情况下,将数据读写到其中一个GML概要文件是相当复杂的。因此,Top10GML,德国NAS,OS mastermap和citygml都是作为单独格式实现的GML概要文件的示例。
对于简单的GML,您可能只需要设置默认翻译,然后根据需要修改目标模式。这适用于平面数据结构,其中每个特征由一个几何图形和一组属性组成,但没有嵌套的子元素或抽象类型。在这些情况下,GML编写器可以选择在编写GML时生成XSD,以便于以后阅读。您还可以从XSD导入目标GML模式,尽管在支持嵌套结构的程度上存在限制。这些通常被建模为列表。
你也可以做GML到GML的翻译和使用函数或XMLUPDATER修改现有的XML结构,而不将它们映射到关系结构。当源数据已经在XML或GML中时,这可能是最好的方法。您只需要更新或修改数据的某些组件,而不创建新的数据集。见文章函数或XMLUPDATER更多信息。
在其他情况下,GML模式的类型可能很复杂,并且涉及嵌套,抽象类型,多个命名空间等。写入复杂的应用程序模式通常需要使用xmlTemplater或xslt样式表。
是否有GML数据集被认为符合我们无法写入的GML规范?这是可能的,但我还没有遇到我们无法写入的GML结构。然而,有些模式非常复杂,因此转换数据以填充它们可能需要很多工作。在这种情况下,最好的做法是将一些样本数据发送到技术支持我们可以看看。
正如我们的GML开发人员所说,“编写任意的GML应用程序模式不是一个小问题”!原因是应用程序模式本质上代表一种独特的格式。因此,当您想要写入特定的应用程序模式时,您实际上需要一个新的GML概要文件编写器。
将数据转换为用户定义的模式的一种方法是创建样式表并使用它通过XSLT .一种更简单的方法是基于模式定义一个XML模板,并使用新的XMLTEMPLAR 将数据合并到该架构中。有关这些方法的更多信息,请参阅以下FMEPedia文档:
FME支持读写GML 2.1.2,3.1.1和3.2.1。
基本上,GML读卡器将扫描数据,检测版本,并相应地调用正确的读卡器版本。对于编写,需要添加与所需GML版本相关联的编写器。
现在,就因为我们说我们读写了一个特定版本的GML,这并不意味着我们可以读或写特定的GML模式从盒子里出来。这也不意味着我们已经实现了理论上可能实现的整个模式。实际上没有人这样做。这是因为在GML中可以定义的规范有数百页长(500+),因此,每个软件开发人员都需要决定他们想要实现和支持其中的哪一个子集。例如,ESRI只实现了简单的功能概要级别0,包括点,线,多边形,但不是弧或椭圆,等。
即使在FME支持的GML范围内(参见GML快速事实部分的概述)。人们常常会忘记,读取特定的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_语言
从乐高积木到各种GML Lite:
http://www.directionsmag.com/article.php?第2408条
在抽象中迷失-GML出了什么问题
http://www.artima.com/forums/flat.jsp?论坛=123&thread=204378
ESRI:“GML分析:为什么它对互操作性很重要”
http://www.esri.com/news/arcuser/0403/gml.html
使用配置文件克服GML的复杂性
http://www.ogcnetwork.net/node/603
?2019安全亚搏在线软件公司|合法的