package com.yssh.utils;
|
|
import org.geotools.geometry.jts.JTS;
|
import org.geotools.referencing.CRS;
|
import org.locationtech.jts.geom.Coordinate;
|
import org.opengis.referencing.crs.CoordinateReferenceSystem;
|
import org.opengis.referencing.operation.MathTransform;
|
|
public class GisUtil {
|
|
/**
|
* @param srcNo
|
* 源坐标系EPSG代号
|
* @param targetNo
|
* 目标坐标系EPSG代号
|
* @param x
|
* 源坐标x
|
* @param y
|
* 源坐标y
|
* @Description: 坐标系转换
|
*/
|
public static Coordinate coordinateTransform(String sourceCRS, String targetCRS,
|
double x, double y) {
|
Coordinate tar = new Coordinate();
|
try {
|
CoordinateReferenceSystem src = CRS.decode(sourceCRS);
|
CoordinateReferenceSystem target = CRS.decode(targetCRS);
|
MathTransform transform = CRS.findMathTransform(src, target, true);
|
Coordinate sour = new Coordinate(x, y);
|
return JTS.transform(sour, tar, transform);
|
} catch (Exception e) {
|
}
|
return tar;
|
|
}
|
}
|