首页 / 浏览问题 / 桌面GIS / 问题详情
坐标转换误差
5EXP 2023年03月02日
使用产品:iDesktop 11i 操作系统:win10 x64 数据类型: 坐标串 问题详细描述:四参数坐标转换使用桌面端计算的结果与实际使用公式计算的结果y坐标存在误差 问题重现步骤: 1.China_2D_4 (0,0,10,0) 坐标系EPSG:4546到EPSG:4547 x:100000,y:100000 2. 通过公式y为 100004.84801928705 ,通过desktop计算为100004.847784237 , 代码请用编辑器中代码块格式 double x = coord.x, y = coord.y; double a = Math.cos(fourParam.getRotate()); double b = Math.sin(fourParam.getRotate()); double targetX = fourParam.getxOffset() + fourParam.getScale() * (a * x - b * y); double targetY = fourParam.getyOffset() + fourParam.getScale() * (b * x + a * y); 1813257127@qq.com

1个回答

您好,请问用代码计算的方法是您自己设计的算法还是用我们的java组件计算的呢?
1,865EXP 2023年03月02日

您好,根据你们提供的计算公式进行计算的

http://support.supermap.com.cn/DataWarehouse/WebDocHelp/iDesktop/Features/DataProcessing/Projection/TransformationModel.html

四参数为:0,0,10,0
原始坐标为:x=100000, y=100000

rotate = (10 / 3600.0D) / 180.0D * 3.141592653589793D = 0.0000484813681109536
a = cos(rotate) = 0.9999999988247785
b = sin(rotate) = 4.848136809196148E-5
desty = 0 + (1+0/1000000) * (b * x + a * y) = 100004.84801928705

而desktop计算得到100004.847784237

您好,这边计算也是两个结果不一样,我们再确认一下,后续有结果了再回复您。
该问题已更新版本,私信请查收。
...