问题描述
我开始使用 Proj4J 库,但无法进行简单的转换。 目的是将俄罗斯平面局部坐标系转换为 WGS-84(lat,long)。我看过源库代码,但我不明白我做错了什么。
有我的测试代码,在注释中有src坐标系的参数。
基准和投影的参数是:
PROJCS["MSK МСК-14 зона 2 (6 градусная) Республика Саха (Якутия)",GEOGCS["Krassovsky,1942",DATUM["unkNown",SPHEROID["krass",6378245,298.3],TOwgs84[23.57,-140.95,-79.8,0.35,0.79,-0.22]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],ParaMETER["latitude_of_origin",ParaMETER["central_meridian",114.45],ParaMETER["scale_factor",1],ParaMETER["false_easting",2400000],ParaMETER["false_northing",-5912900.566],UNIT["Meter",1]]
代码是:
Datum sk95 = new Datum("SK-95",23.57,0.0,-0.22,Ellipsoid.KRASSOVSKY,"My datum");
Projection src = new TransverseMercatorProjection(Ellipsoid.KRASSOVSKY,114.45,1,2400000,-5912900.566);
CoordinateReferenceSystem msk14z2 = new CoordinateReferenceSystem("MSK-14z2 Yakutia",null,sk95,src); //2 параметр,видимо служебная инфа
CRSFactory factory = new CRSFactory();
CoordinateReferenceSystem wgs84 = factory.createFromName("epsg:4326");
//первый аргумент - восток,второй - север
ProjCoordinate point = new ProjCoordinate(2303248.01,703919.89);
ProjCoordinate result = new ProjCoordinate();
BasicCoordinateTransform transformator = new BasicCoordinateTransform(msk14z2,wgs84);
transformator.transform(point,result);
System.out.println(String.format("Lat - %f,Long - %f",result.x,result.y));
System.out.println("Expected - 112.73456353163765,59.65413798772589");
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)