使用OpenLayers加载GML v3

时间:2013-08-23 09:59:22

标签: openlayers gml gwt-openlayers

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

  • 我看到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文件示例?

感谢。

1 个答案:

答案 0 :(得分:0)

我无法回答OpenLayers问题,但我可以提供有关GML即KML的一些信息。 GML和KML旨在解决两种不同(但相关)的互操作性要求。设计和指定GML以允许地理空间内容的建模和编码,包括几何,特征,拓扑,字典等。 KML的设计和指定可以在地球浏览器系统中描绘简单的地理空间内容。 KML不是通用数据建模标准。有关更多信息,请阅读OGC网站上KML标准的序言。我应该补充一点,GML和KML使用ISO 19107:Spatial Schema中指定的相同几何模型。但是,KML不支持复杂的几何,KML也不支持特征的概念。有很好的资源可以描述GML及其用法(参见GML及相关链接的维基百科条目。

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