iobject java 投影坐标和地理坐标的转换 不准确

0 投票

您好,我试了 CoordSysTranslator投影转换类,用的是inverse() 方法,将投影坐标转换地理坐标。代码如下:

PrjCoordSys prj = new PrjCoordSys(PrjCoordSysType.PCS_CHINA_2000_3_DEGREE_GK_39N);
Point2Ds ps = new Point2Ds();
Point2D pp1 =new Point2D(505940.11100000143,  4093977.325);
ps.add(pp1);
boolean b = CoordSysTranslator.inverse(ps, prj);

转换后的结果是117.06671410712923,36.97715094034379。b也是true。

但是我用的arcgis 或者其他工具转换出来的结果是117.0531762114131, 36.78536783551989。

两者相差还是挺大的,有什么办法验证一下转换的精度?或者换一种转换的办法?能提供一个例子么?


另外我也尝试了

PrjCoordSys srcPrj = new PrjCoordSys(PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE);
srcPrj.getGeoCoordSys().setType(GeoCoordSysType.GCS_CHINA_2000);


boolean b = CoordSysTranslator.convert( ps,prj,srcPrj,new CoordSysTransParameter(),CoordSysTransMethod.MTH_POSITION_VECTOR); 


转换后的结果仍然是117.06671410712923,36.97715094034379

6月 16 分类:  114次浏览 | 用户: unlearn (4 分)
修改于 6月 16 用户:unlearn

1个回答

0 投票
你好,请问您的数据的  源坐标系是什么?目标坐标系是什么呢?确认下是  源:PrjCoordSysType.PCS_CHINA_2000_3_DEGREE_GK_39N   目标:GeoCoordSysType.GCS_CHINA_2000吗?
6月 17 用户: 张亮 名扬四海 (2,425 分)
是的

源坐标系:PrjCoordSysType.PCS_CHINA_2000_3_DEGREE_GK_39N

目标坐标系:GeoCoordSysType.GCS_CHINA_2000
超图api转出来是准的,用法也跟上面写的一样,我对比错坐标了
...