0

我重写了这个问题,使其更具可读性:

  • 我看到 GML 格式只是比 KML 更“进化”了一点。我对吗?哪种格式被认为更标准、更受支持和更方便投资?

  • 我在这里尝试了示例(http://openlayers.org/dev/examples/vector-formats.html)尝试加载定义如下的 GML v3 圆圈:

    <gml:featureMember xmlns:gml="http://www.opengis.net/gml"
    xsi:schemaLocation="http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/1.0.0/gmlsf.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <feature:feature xmlns:feature="http://example.com/feature">
        <feature:geometry>
            <gml:CircleByCenterPoint>
                <gml:pos>11.979491114616 43.847170472145</gml:pos>
                <gml:radius uom="km">25</gml:radius>
            </gml:CircleByCenterPoint>
        </feature:geometry>     </feature:feature> </gml:featureMember>
    

示例程序无法加载它。一般而言,OpenLayers 库似乎有一个限制,即无法正确加载某种 GML 文件,还是什么?我是否指定了无效的 GML xml 字符串?你知道在 OpenLayers 中支持 GML 格式的一些高级特性的一些限制吗?

  • OpenLayers 上的 GML v3 类型只能加载通过 read() 方法传递 xml 字符串的 GML v3 文件,而不是使用 HTTPProtocolOptions 指定要从服务器加载的文件。为什么这个?有没有我不明白的方法?

  • 你有一些使用相对坐标的工作 GML 文件示例吗?

谢谢。

4

1 回答 1

0

我无法回答 OpenLayers 的问题,但我可以提供一些关于 GML 即 KML 的信息。GML 和 KML 旨在解决两个不同(但相关)的互操作性要求。GML 被设计和指定为允许对地理空间内容进行建模和编码,包括几何、特征、拓扑、字典等。KML 被设计和指定为能够在地球浏览器系统中描绘简单的地理空间内容。KML 不是通用的数据建模标准。请阅读 OGC 网站上 KML 标准的序言以获取更多信息。我应该补充一点,GML 和 KML 使用与 ISO 19107:空间模式中指定的相同几何模型。但是,KML 不支持复杂的几何图形,也不支持要素的概念。

因此,如果您需要对需要具有属性的要素的地理空间内容进行建模和编码,请使用 GML。如果您希望对简单的地理空间内容进行编码以进行描绘,请使用 KML。

于 2013-09-13T00:14:00.763 回答