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字符串。

posted @ 2018-12-29 17:28  BretDavis  阅读(7247)  评论(1编辑  收藏  举报