从韩国 2000 坐标系 (EPSG:5179) 转换为十进制度 (EPSG:4326) 时出现问题。
我们正在为韩国公司开发地理信息系统。我们将 Geotools 库用于多个后端实现。但是我现在从 EPSG:5179 转换为 EPSG:4326 时遇到问题。例如:当使用多个在线转换器(如https://epsg.io/transform#s_srs=5179&t_srs=4326 试图转换韩国坐标时:x : 1307285 y : 2229260
预期结果为(十进制度格式): x : 131.0999928 y : 40.0099722
所以现在我正在尝试使用 Geotools 库使用此文档http://docs.geotools.org/stable/userguide/library/api/jts.html进行相同的转换
我的示例测试:
public void testProjectedKoreanCoordinatesToDecimalDegree() throws FactoryException, TransformException {
//EPSG:5179 -> EPSG:4326 CONVERSION
CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:5179");
CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:4326");
double coordinateX = 1307285;
double coordinateY = 2229260;
Coordinate in = new Coordinate(coordinateX, coordinateY);
Coordinate out = in;
MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS);
Coordinate result = JTS.transform(in, out, transform);
DegreeCoordinates degreeCoordinates = DegreeCoordinates.fromJTSCoordinate(result);
double expectedLongitude = 131.0999928;
double expectedLatitude = 40.0099721;
assertEquals(expectedLongitude, degreeCoordinates.getLongitude(), 0.00001);
assertEquals(expectedLatitude, degreeCoordinates.getLatitude(), 0.00001);
}
因此测试在第一次坐标比较时失败,实际输出为:longitude : 140.340217725
当经度应该是 131.0999928
你有什么建议我做错了吗?先感谢您 !