WKT数据示例并与GeoJSON数据对比

WKT(Well-Known Text) 是 OGC(开放地理空间联盟)标准定义的一种文本格式,用来表示空间几何数据。达梦、PostgreSQL(PostGIS)、MySQL 等数据库都支持它。

与 GeoJSON 的对应关系

java 复制代码
GeoJSON(前端用)          ↔       WKT(数据库存)
{"type":"Point",...}      ↔     POINT (...)
{"type":"LineString",...} ↔     LINESTRING (...)
{"type":"Polygon",...}    ↔     POLYGON ((...))

关键在于:GeoJSON 用 [] 包坐标,WKT 用 () 包坐标,且 WKT 里经纬度之间是空格不是逗号。

各种类型的 WKT 示例

1. Point(点)

java 复制代码
POINT (113.324568 23.106682)

注:WKT 里经纬度之间用空格 ,GeoJSON 用逗号

2. LineString(线串)

java 复制代码
LINESTRING (113.1 23.0, 113.15 23.05, 113.2 23.1)

3. Polygon(多边形)

java 复制代码
POLYGON ((113.2 23.0, 113.4 23.0, 113.4 23.2, 113.2 23.2, 113.2 23.0))

首尾相同才能闭合,用双层括号,外面那层是面的边界,里面可以有多个环。

4. Polygon 带洞(有内环)

java 复制代码
POLYGON (
    (0 0, 10 0, 10 10, 0 10, 0 0),       -- 外环:逆时针
    (2 2, 2 8, 8 8, 8 2, 2 2)            -- 内环:顺时针(洞)
)

第二个括号内环是个"洞",环内不算是多边形区域。

5. MultiPoint(多点)

java 复制代码
MULTIPOINT ((113.32 23.10), (113.33 23.11), (113.34 23.12))

6. MultiLineString(多线串)

java 复制代码
MULTILINESTRING ((113.1 23.0, 113.2 23.1), (113.3 23.2, 113.4 23.3))

7. MultiPolygon(多多边形)

java 复制代码
MULTIPOLYGON (((113.2 23.0, 113.3 23.0, 113.3 23.1, 113.2 23.1, 113.2 23.0)), ((113.4 23.2, 113.5 23.2, 113.5 23.3, 113.4 23.3, 113.4 23.2)))

三层括号:最外是 MultiPolygon → 中间是每个 Polygon → 最内是坐标环。

8. GeometryCollection(几何集合)

java 复制代码
GEOMETRYCOLLECTION (POINT (113.32 23.10), LINESTRING (113.1 23.0, 113.2 23.1))

WKT vs GeoJSON 对比速查

对比项 WKT(数据库) GeoJSON(前端)
坐标分隔符 空格 逗号
括号 () []
顺序 经度在前,纬度在后(都一样)
存储场景 达梦 ST_Geometry 字段 Leaflet 传给后端

项目中怎么用

java 复制代码
// 从数据库读到的 WKT
String wktFromDb = "LINESTRING (113.1 23.0, 113.15 23.05, 113.2 23.1)";

// 转成 GeoJSON 返回给前端
String geoJson = GeoSpatialUtil.wktToGeoJson(wktFromDb);
// → {"type":"LineString","coordinates":[[113.1,23.0],[113.15,23.05],[113.2,23.1]]}

// 前端传来的 GeoJSON 转 WKT 存库
String wktToDb = GeoSpatialUtil.geoJsonToWkt(geoJson);
// → LINESTRING (113.1 23.0, 113.15 23.05, 113.2 23.1)
相关推荐
wabs6666 分钟前
关于二叉树【力扣144.二叉树的前序遍历的思考】
数据结构·c++·算法·leetcode·二叉树
LuminousCPP31 分钟前
数据结构-二叉树(三):堆复杂度证明与 Top-K 问题|错位相减推导 + 海量数据内存优化
c语言·数据结构·笔记·排序算法
1000世界小札7 小时前
《大话数据结构》第9章精读:归并排序与快速排序完整 C++ 实现
数据结构·c++·算法
一直C18 小时前
【数据结构】哈希表+算法复杂度与经典排序查找(C语言)
java·linux·开发语言·数据结构·算法·ubuntu·散列表
淡海水18 小时前
04-02-哈希-Dictionary-TKey-TValue-上-核心数据结构
数据结构·算法·c#·哈希算法·编译·字典·dictionary
疯狂打码的少年19 小时前
【数据结构】板块总结 + 下期预告(数据库技术)
数据结构·笔记·算法
郝学胜-神的一滴19 小时前
Effective Python 条款 1:确认你正在使用的 Python 版本
开发语言·数据结构·python·程序人生·算法
dtq042421 小时前
数据结构 - 线性表 - 单链表
数据结构
1000世界小札21 小时前
排序算法全景总结:从 O(n²) 到 O(n log n),再到线性时间(附完整对比与选型指南)
数据结构·算法·排序算法