问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

GML格式详解:写入读取GML 示例

创作时间:
作者:
@小白创作中心

GML格式详解:写入读取GML 示例

引用
CSDN
1.
https://blog.csdn.net/cuclife/article/details/141259666

GML(Geography Markup Language)是一种基于XML的地理空间数据交换格式,由Open Geospatial Consortium(OGC)定义。它用于表示地理空间数据,支持点、线、多边形等多种几何类型,并且能够携带丰富的属性信息。

GML 示例:vue+openlayers读取WKT数据,输出GML、Polyline、GeoJSON

链接:https://dajianshi.blog.csdn.net/article/details/126303189

GML (Geography Markup Language) 格式详解

GML (Geography Markup Language) 是一种基于 XML 的地理空间数据交换格式,由 Open Geospatial Consortium (OGC) 定义。GML 用于表示地理空间数据,支持点、线、多边形等多种几何类型,并且能够携带丰富的属性信息。它被广泛应用于 GIS 系统之间数据的交换和共享。

GML 的特点

  • 基于 XML :使用 XML 标签和语法。
  • 标准化 :遵循 OGC 的规范。
  • 灵活性 :支持多种几何类型和属性数据。
  • 可扩展性 :允许添加自定义元素和属性。
  • 互操作性 :广泛支持,可以与其他 GIS 软件和 Web 服务交互。
  • 版本控制 :存在多个版本,如 GML 3.1.1、GML 3.2 等。

GML 文件结构

一个典型的 GML 文件可能看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<gml:featureCollection xmlns:gml="http://www.opengis.net/gml"
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                       xsi:schemaLocation="http://www.opengis.net/gml http://schemas.opengis.net/gml/3.2.1/gml.xsd">
  <gml:name>SampleFeatureCollection</gml:name>
  <gml:boundedBy>
    <gml:Box srsName="EPSG:4326">
      <gml:coordinates decimal="." cs="," ts=" ">10.0,40.0,20.0,50.0</gml:coordinates>
    </gml:Box>
  </gml:boundedBy>
  <gml:featureMember>
    <gml:Point gml:id="point1">
      <gml:name>Point 1</gml:name>
      <gml:description>This is point 1.</gml:description>
      <gml:pos srsName="EPSG:4326">10.0 40.0</gml:pos>
    </gml:Point>
  </gml:featureMember>
  <gml:featureMember>
    <gml:LineString gml:id="line1">
      <gml:name>Line 1</gml:name>
      <gml:description>This is line 1.</gml:description>
      <gml:posList srsName="EPSG:4326">10.0 40.0 15.0 45.0 20.0 50.0</gml:posList>
    </gml:LineString>
  </gml:featureMember>
  <gml:featureMember>
    <gml:Polygon gml:id="polygon1">
      <gml:name>Polygon 1</gml:name>
      <gml:description>This is polygon 1.</gml:description>
      <gml:exterior>
        <gml:LinearRing>
          <gml:posList srsName="EPSG:4326">10.0 40.0 15.0 45.0 20.0 50.0 10.0 40.0</gml:posList>
        </gml:LinearRing>
      </gml:exterior>
    </gml:Polygon>
  </gml:featureMember>
</gml:featureCollection>

GML 文件的组成部分

  1. XML 声明<?xml version="1.0" encoding="UTF-8"?> 表示这是 XML 文件以及版本和编码。
  2. 命名空间声明xmlns:gml="http://www.opengis.net/gml" 定义 GML 的命名空间。
  3. Schema 位置xsi:schemaLocation 指定 XSD 文件的位置,用于验证 GML 文件的有效性。
  4. 根元素<gml:featureCollection> 是根元素,表示这是一个特征集合。
  5. 元数据<gml:name><gml:boundedBy> 等标签用于存储元数据。
  6. 特征成员<gml:featureMember> 包含具体的地理空间特征。
  7. 几何对象<gml:Point><gml:LineString><gml:Polygon> 等表示具体的几何类型。
  8. 坐标<gml:pos><gml:posList> 等标签用于表示坐标数据。
  9. 属性数据<gml:name><gml:description> 等标签用于存储特征的属性信息。
  10. 坐标参考系统srsName 属性定义了坐标参考系统(CRS),如 EPSG:4326 表示 WGS 84 坐标系。

GML 的几何类型

  • Point :表示一个点。
  • LineString :表示一条线段,由一系列点组成。
  • Polygon :表示一个多边形,由一个闭合的线环组成。
  • MultiPoint :表示多个点。
  • MultiLineString :表示多条线段。
  • MultiPolygon :表示多个多边形。
  • GeometryCollection :表示一个几何集合,可以包含上面提到的任何类型的几何体。

GML 的使用场景

GML 通常用于以下场景:

  • Web 服务 :作为 Web 服务(如 WFS, WMS)的数据交换格式。
  • 数据交换 :在 GIS 系统之间交换地理空间数据。
  • 数据存储 :在数据库中存储地理空间数据。
  • 数据发布 :通过 Web 应用程序发布地理空间数据。

总结

GML 是一种强大的地理空间数据格式,它可以携带丰富的地理信息和属性数据。由于它是基于 XML 的,所以具有很好的可读性和可扩展性。在 GIS 领域,GML 被广泛用于数据交换和集成,特别是在 Web 服务中。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号