1. 程式人生 > >Java將WKT格式的Geomotry轉換成GeoJSON

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