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 文件的组成部分
- XML 声明 :
<?xml version="1.0" encoding="UTF-8"?>表示这是 XML 文件以及版本和编码。 - 命名空间声明 :
xmlns:gml="http://www.opengis.net/gml"定义 GML 的命名空间。 - Schema 位置 :
xsi:schemaLocation指定 XSD 文件的位置,用于验证 GML 文件的有效性。 - 根元素 :
<gml:featureCollection>是根元素,表示这是一个特征集合。 - 元数据 :
<gml:name>、<gml:boundedBy>等标签用于存储元数据。 - 特征成员 :
<gml:featureMember>包含具体的地理空间特征。 - 几何对象 :
<gml:Point>、<gml:LineString>、<gml:Polygon>等表示具体的几何类型。 - 坐标 :
<gml:pos>、<gml:posList>等标签用于表示坐标数据。 - 属性数据 :
<gml:name>、<gml:description>等标签用于存储特征的属性信息。 - 坐标参考系统 :
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 服务中。
热门推荐
吴彦姝女儿的孝顺秘诀:从陪伴到支持
缅甸内战:一场持续升级的全国性冲突
最好的春节祝福语来拜年了_拜年短信
游戏王顶级战力:十三星怪兽完全攻略
郑大一附院刘冰熔教授揭秘ERAT治疗阑尾炎黑科技
泰安出发云南七日深度游全攻略:行程规划、必去景点与实用贴士
一文掌握3D彩票和值推算法:理论、案例与风险提示
防盗门反锁旋钮安装指南:守护家的安全
孕期扁平疣:如何通过心理调适和家庭支持度过这一阶段
红薯真的会升血糖吗?真相揭秘!
揭秘《暗区突围》:腾讯魔方工作室如何打造这款现象级战术射击手游
会议摄影、照片直播、活动拍摄需要注意的事项
曼哈顿计划揭秘:从爱因斯坦的警告到原子弹的诞生
2025年中秋节:9月13日放假,这些习俗和传说你知道吗?
花胶和燕窝吃哪种更好?哪种更好吸收?哪种功效更好?
女生说“我爱你”时,这10个高情商回复最能打动她
血常规检查全攻略:原理、指标解读与临床应用详解
《天方夜谭》:东西方文化交流的桥梁
漳州古城到东山岛:两天一夜闽南文化海岛游
狮子座处女座宝宝起名攻略:从性格到名字全方位建议
谢霆锋20年后再开唱,〈活着VIVA〉展现音乐初心
成都-攀枝花自驾攻略:2420公里佛教文化与自然风光
张译再获影帝殊荣,坚韧精神克服外貌质疑成实力派
刘欢影视金曲盘点:从《凤凰于飞》到《好汉歌》,跨越时空的经典
中国园林博物馆:中国第一座以园林为主题的国家级博物馆
2025年八月宝宝起名指南:“辉亦”寓意光明智慧成热门
《鬼谷八荒》Switch金手指终极攻略:50+代码详解,让你的游戏体验更上一层楼
福彩3D最新开奖:518,数据分析揭示中奖规律与策略
三顾茅庐:刘备的识才秘籍
推拿中药双管齐下,中医治疗颈椎病手指麻木