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 组件。在工程项目中首先要引入 Geotools 组件,在 Pom.xml 中首先引入以下依赖:
<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>
引入相应的资源后,接下来就可以使用 Geotools 来实现把 WKT 字符串转为 GeoJSON。核心转换代码如下:


