【2】GeoJSON 与 EsriJSON格式的相互转换(java版本)

672 阅读1分钟

1.导包

<dependency>
    <groupId>com.esri.geometry</groupId>
    <artifactId>esri-geometry-api</artifactId>
    <version>2.2.0</version>
</dependency>

2.转换

/**
 * 将geojson(geometry)格式转为 Arcgis json(geometry)
 * @param esri_json geojson类型的字符串
 */
public String EsriJsonToGeoJson(String esri_json){
    Geometry geometry = createGeometryByJson(esri_json);
    return getGeoJson(geometry);
}

/**
 * 将Arcgis json(geometry)格式转为 geojson(geometry)
 * @param geojson Arcgis json格式数据
 */
public String GeoJsonToEsriJson(String geojson){
    Geometry geometry = createGeometryByGeoJson(geojson);
    return getEsriJson(geometry);
}

private Geometry createGeometryByGeoJson(String geojson) {
    return GeometryEngine.geoJsonToGeometry(geojson, WktExportFlags.wktExportDefaults, Geometry.Type.Unknown).getGeometry();
}
private Geometry createGeometryByJson(String esri_json) {
    return GeometryEngine.jsonToGeometry(esri_json).getGeometry();
}
private String getGeoJson(Geometry geometry) {
    return GeometryEngine.geometryToGeoJson(geometry);
}
private String getEsriJson(Geometry geometry) {
    return GeometryEngine.geometryToJson(WktExportFlags.wktExportDefaults,geometry);
}

3.拓展转为wkt字符串

private String getWktStr(Geometry geometry){
    return GeometryEngine.geometryToWkt(geometry,WktExportFlags.wktExportDefaults);
}