空间数据 WKT 格式详解
WKT(Well-Known Text)格式的说明文档
WKT(Well-Known Text)格式详解
一、什么是 WKT#
WKT(Well-Known Text)是一种用于描述空间几何对象的文本标准。
WKT 由 OGC(Open Geospatial Consortium)制定,被广泛应用于:
- GIS 系统
- PostGIS
- GeoServer
- MapServer
- QGIS
- OpenLayers
- Cesium
- PostgreSQL/PostGIS
其核心作用:
使用文本方式描述空间几何对象。
二、WKT 的基本结构#
WKT 采用:
textGEOMETRYTYPE (坐标)
例如:
textPOINT (30 10)
表示:
- X = 30
- Y = 10
三、常见几何类型#

四、POINT(点)#
textPOINT (30 10)
表示单个点。
应用:
- POI
- GPS 定位
- 监测站点
五、LINESTRING(线)#
textLINESTRING (30 10, 10 30, 40 40)
表示折线。
应用:
- 道路
- 河流
- 轨迹
六、POLYGON(面)#
textPOLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
注意:
- 首尾坐标必须闭合。
应用:
- 行政区
- 地块
- 湖泊
七、MULTIPOINT#
textMULTIPOINT ((10 40), (40 30), (20 20))
表示多个点。
八、MULTILINESTRING#
textMULTILINESTRING ((10 10, 20 20),(40 40, 30 30))
表示多个线对象。
九、MULTIPOLYGON#
textMULTIPOLYGON (((40 40,20 45,45 30,40 40)))
表示多个面对象。
应用:
- 多岛屿区域
- 多地块行政区
十、GeometryCollection#
textGEOMETRYCOLLECTION ( POINT (40 10), LINESTRING (10 10, 20 20, 10 40) )
表示混合几何集合。
十一、WKT 与 GeoJSON 对比#
| 类型 | WKT | GeoJSON |
|---|---|---|
| 表达形式 | 文本 | JSON |
| 可读性 | 高 | 高 |
| Web 兼容 | 一般 | 很强 |
| 数据交换 | 强 | 很强 |
十二、PostGIS 中的 WKT#
创建点:
sqlSELECT ST_GeomFromText('POINT(30 10)', 4326);
查询:
sqlSELECT ST_AsText(geom) FROM table_name;
十三、WKT 与 EPSG#
WKT 本身不包含投影。
通常:
sqlST_GeomFromText(text, 4326)
其中:
- 4326 = WGS84
十四、WKT 在 WebGIS 中的应用#
常见场景:
- OpenLayers
- Leaflet
- Cesium
- GeoServer
- MapServer
十五、常见错误#
1. Polygon 未闭合#
错误:
textPOLYGON ((0 0, 10 0, 10 10))
正确:
textPOLYGON ((0 0, 10 0, 10 10, 0 0))
2. 坐标顺序错误#
通常:
textX Y = 经度 纬度
十六、总结#
WKT 是 GIS 和空间数据库中最基础的几何表达方式之一。
掌握 WKT:
- 有助于理解 GIS 数据结构
- 有助于学习 PostGIS
- 有助于 WebGIS 开发
- 有助于理解 GeoJSON 与空间计算