【发布时间】:2012-01-15 21:20:39
【问题描述】:
我想对此示例数据集执行转换。
在一个坐标系[primary_system]中有四个坐标为x、y、z的已知点,接下来有四个坐标为x、y、h的已知点属于另一个坐标系[secondary_system]。
这些点对应;例如 primary_system1 点和 secondary_system1 点是完全相同的点,但我们在两个不同的坐标系中有它的坐标。
所以我这里有四对调整点,想根据调整将另一点坐标从主系统转换到次系统。
primary_system1 = (3531820.440, 1174966.736, 5162268.086)
primary_system2 = (3531746.800, 1175275.159, 5162241.325)
primary_system3 = (3532510.182, 1174373.785, 5161954.920)
primary_system4 = (3532495.968, 1175507.195, 5161685.049)
secondary_system1 = (6089665.610, 3591595.470, 148.810)
secondary_system2 = (6089633.900, 3591912.090, 143.120)
secondary_system3 = (6089088.170, 3590826.470, 166.350)
secondary_system4 = (6088672.490, 3591914.630, 147.440)
#transform this point
x = 3532412.323
y = 1175511.432
z = 5161677.111<br>
目前,我尝试使用四对点中的每一对来平均 x、y 和 z 轴的平移,例如:
#x axis
xt1 = secondary_system1[0] - primary_system1[0]
xt2 = secondary_system2[0] - primary_system2[0]
xt3 = secondary_system3[0] - primary_system3[0]
xt4 = secondary_system4[0] - primary_system4[0]
xt = (xt1+xt2+xt3+xt4)/4 #averaging
...y 和 z 轴以此类推
#y axis
yt1 = secondary_system1[1] - primary_system1[1]
yt2 = secondary_system2[1] - primary_system2[1]
yt3 = secondary_system3[1] - primary_system3[1]
yt4 = secondary_system4[1] - primary_system4[1]
yt = (yt1+yt2+yt3+yt4)/4 #averaging
#z axis
zt1 = secondary_system1[2] - primary_system1[2]
zt2 = secondary_system2[2] - primary_system2[2]
zt3 = secondary_system3[2] - primary_system3[2]
zt4 = secondary_system4[2] - primary_system4[2]
zt = (zt1+zt2+zt3+zt4)/4 #averaging
所以上面我尝试计算每个轴的平均平移向量
【问题讨论】:
-
你的问题很模糊!这些数字是多少?
-
那么,您尝试过什么?你有什么代码?
-
问题不清楚。你到底想做什么?请编辑您的问题以澄清。
-
这取决于两个坐标系是如何关联的——是旋转还是平移?或者更复杂的东西,比如 GPS -> UTM?
-
我赞成这个问题以抵消反对票,因为这对我来说很清楚:)
标签: python coordinate-transformation