GML是OGC制定的基于XML的地理空间数据编码标准,核心作用是统一、准确地描述地理要素的空间结构与属性信息。它将地理对象抽象为“要素”,由几何体(如点、线、面)和属性(如名称、类型)组成,通过XML标签结构化表达,并支持坐标参考系(如EPSG:4326)确保位置无歧义。1. GML依赖XML Schema(XSD)定义数据结构,保障语义一致性与可验证性;2. 可扩展行业专用模式(如地下管线Schema);3. 广泛用于系统间数据交换,尤其在WFS服务和政府共享平台中作为标准传输格式;4. 虽较GeoJSON冗长,但在表达复杂拓扑、三维、时空变化时更具优势。它是地理数据领域的“ISO合同”,强调严谨性与互操作性而非轻量化。

GML(Geography Markup Language)是开放式地理信息系统协会(OGC)制定的、基于XML的地理空间数据编码标准,核心作用是用统一、可读、可验证的方式描述地理要素的空间结构与属性信息。它不是一种绘图格式或渲染语言,而是地理数据的“语义容器”——重点在准确表达“这是什么、在哪里、有什么特征”,而不是“怎么画出来”。
用XML结构化表达地理要素
GML把现实中的地理对象(如一条道路、一座学校、一个行政区)抽象为“要素(Feature)”,每个要素由两部分组成:几何体(Geometry)和属性(Properties)。XML通过嵌套标签清晰区分这两类信息。
- 几何体用标准化的XML元素表示,比如
、 、 gon> ,内部用或 标记坐标序列 - 属性用自定义子元素体现,例如
北京路 、主干道 ,这些字段由应用模式(Application Schema)预先定义,保证不同系统理解一致 - 所有要素都可关联坐标参考系(CRS),通过srsName属性声明,如srsName="EPSG:4326",确保位置含义不歧义
靠Schema支撑语义严谨性
GML本身是一套规范,真正让数据“可验证、可交换”的是配套的XML Schema(XSD)。这些Schema定义了哪些要素类型合法、属性是否必填、几何是否闭合等规则。
- 基础GML Schema提供通用地理构造块(点线面、坐标系、时间戳等)
- 行业或项目可扩展出专用Schema,比如“城市地下管线GML模式”,在里面定义
要素及diameter、material等专属属性 - 解析器或GIS软件加载GML时,会依据对应XSD校验结构,避免传错字段或坐标格式错误
实际数据交换中扮演“中立信封”角色
GML很少直接用于前端展示,更多出现在系统间数据流转环节,尤其在OGC标准服务中:
- Web Feature Service(WFS)请求要素时,默认返回GML格式响应,客户端按Schema解析后入库或转成其他格式(如GeoJSON)再渲染
- 政府地理信息共享平台常要求提交GML文件,因其保留完整语义与元数据,适合长期归档和跨部门复用
- 虽比GeoJSON冗长、解析稍慢,但在需表达拓扑关系、三维结构、时空变化或复杂属性约束时,GML仍是不可替代的选择
基本上就这些。它不是最轻快的格式,但胜在严谨、开放、可扩展——像地理数据世界的“ISO标准合同”,不讨巧,但管用。










