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; } }