| | |
| | | import org.gdal.ogr.Geometry; |
| | | import org.gdal.ogr.ogr; |
| | | import org.gdal.osr.SpatialReference; |
| | | import org.osgeo.proj4j.*; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.io.File; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 查询坐标转换 |
| | | * 坐标转换 |
| | | */ |
| | | public Object csTransform(double x, double y, int epsg) { |
| | | this.initSr(); |
| | |
| | | |
| | | return new double[]{point.GetX(), point.GetY()}; |
| | | } |
| | | |
| | | /** |
| | | * 坐标转换-使用Proj4j库 |
| | | */ |
| | | public String transformByProj4j(double x, double y, int epsg) { |
| | | CRSFactory crsFactory = new CRSFactory(); |
| | | CoordinateReferenceSystem fromCrs = crsFactory.createFromName("EPSG:" + epsg); |
| | | CoordinateReferenceSystem toCrs = crsFactory.createFromName("EPSG:4326"); |
| | | |
| | | CoordinateTransformFactory ctf = new CoordinateTransformFactory(); |
| | | CoordinateTransform transform = ctf.createTransform(fromCrs, toCrs); |
| | | |
| | | ProjCoordinate fromCoord = new ProjCoordinate(x, y); |
| | | ProjCoordinate toCoord = new ProjCoordinate(); |
| | | transform.transform(fromCoord, toCoord); |
| | | |
| | | return String.format("%f,%f", toCoord.x, toCoord.y); |
| | | } |
| | | } |