背景
在 WebGIS 开发中,WKT(Well-Known Text)和 GeoJSON 是两种常见的地理空间数据格式。WKT 结构简单、易读,常用于数据库存储;而 GeoJSON 基于 JSON 结构,天然契合 Web 环境,便于前端框架集成与地图渲染。在实际项目中,经常需要将 WKT 转换为 GeoJSON 以便在 Leaflet 等库中展示。本文将介绍几种主流转换方案及集成方法。
后端转换实现
基于 PostGIS 实现
如果项目使用了支持空间数据的 PostgreSQL 数据库(PostGIS),可以直接利用内置函数处理,无需额外代码。例如查询地震信息中的几何属性:
SELECT ST_AsEWKT(geom) FROM biz_ceic_earthquake LIMIT 10;
执行后可直接获取 WKT 格式。若要转为 GeoJSON,只需将函数替换为 ST_AsGeoJSON:
SELECT ST_AsEWKT(geom), ST_AsGeoJSON(geom) FROM biz_ceic_earthquake LIMIT 10;
返回结果的第二列即为 GeoJSON 字符串。这种方式性能最高,适合数据量较大且数据库已部署的场景。
基于 GeoTools 实现
若需要在 Java 后台进行纯逻辑转换,可以使用 GeoTools 库。首先引入依赖:
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-geojson</artifactId>
<version>28.2</version>
</dependency>
<dependency>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-core</artifactId>
<version>1.19.0</version>
</dependency>
核心转换逻辑如下:


