Java将WKT格式的Geomotry转换成GeoJSON
一、Meven添加依赖
<!-- 引入json处理包 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> <!-- jts处理Geometry --> <dependency> <groupId>com.vividsolutions</groupId> <artifactId>jts</artifactId> <version>1.13</version> </dependency> <!-- https://mvnrepository.com/artifact/org.geotools/gt-geojson --> <dependency> <groupId>org.geotools</groupId> <artifactId>gt-geojson</artifactId> <version>9.3</version> </dependency> <dependency> <groupId>com.googlecode.json-simple</groupId> <artifactId>json-simple</artifactId> <version>1.1.1</version> </dependency>
如添加依赖遇到not fount,可手动配置maven repository解决
<repositories> <repository> <id>OSGeo Repository</id> <url>http://download.osgeo.org/webdav/geotools/</url> </repository> </repositories>
二、解析方法源码
package com.bret.utils; import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.io.WKTReader; import org.geotools.geojson.geom.GeometryJSON; import java.io.StringWriter; public class WKTUtil { /** * 由wkt格式的geometry生成geojson * @param wkt * @return */ public static String wktToJson(String wkt) { String json = null; try { WKTReader reader = new WKTReader(); Geometry geometry = reader.read(wkt); StringWriter writer = new StringWriter(); GeometryJSON g = new GeometryJSON(20); g.write(geometry, writer); json = writer.toString(); } catch (Exception e) { e.printStackTrace(); } return json; } }
返回解析后的geojson字符串。