WebGIS 开发中 WKT 转 GeoJSON 的技巧与 Leaflet 加载应用
前言
在 WebGIS 开发过程中,数据格式的转换与兼容始终是一个关键挑战。WKT(Well-Known Text)和 GeoJSON 作为两种常见的地理空间数据格式,它们之间的转换是开发者经常需要面对的问题。WKT 是一种简单易读的文本格式,广泛用于地理数据的存储与交换;而 GeoJSON 则以其简洁的 JSON 结构,完美契合了 Web 开发的需求,便于与各种前端框架和库进行集成。

本文将深入探讨将 WKT 数据转换为 GeoJSON 格式的方法,并结合 Leaflet 这一开源 JavaScript 地图库,解析如何将转换后的 GeoJSON 数据加载到地图中,实现地图的绘制、图层管理及交互功能开发。
一、WKT 后台转换实现
本节以 PostGIS 空间数据库和 Java 后台为例,介绍如何基于空间数据库和 GeoTools 库实现 WKT 转为 GeoJSON。
1、基于 PostGIS 实现
如果开发数据库中有空间数据库,可以直接利用空间数据的空间函数来进行处理。使用以下 SQL 语句可以查询空间属性的 WKT 格式:
SELECT ST_AsEWKT(geom) FROM biz_ceic_earthquake LIMIT 10;
如果要实现对应的 WKT 转为 GeoJSON,只需要使用 ST_AsGeoJSON 函数即可完成转换。示例 SQL 查询语句如下:
SELECT ST_AsEWKT(geom), ST_AsGeoJSON(geom) FROM biz_ceic_earthquake LIMIT 10;
在返回的结果集中可以看到 GeoJSON 类型的数据。有了这个 SQL 语句之后,就可以在 Java 中结合 SQL 查询将结果返回给前端。这个方案的本质还是直接利用了空间数据库的空间查询能力。
2、GeoTools 实现
这里介绍完全基于 GeoTools 的纯后台转换逻辑。在工程项目中首先要引入 GeoTools 组件,在 Pom.xml 中首先引入以下依赖:
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-geojson</artifactId>
<version>28.2</version>
</dependency>
<dependency>
<groupId>org.locationtech.jts
jts-core
1.19.0


