如何将 X、Y 坐标投影到 Excel 中最远的两个点

How can I project X,Y coordinates to the two most distant points in Excel

我正在处理一组使用 GNSS 接收器收集的数据点,这些数据点以 X、Y(北向、东向)格式报告。最远点之间的值并不总是在一条直线上,但为了适当的距离,我需要做一些数学运算。我需要将所有中间点投影到两个最远点之间的直线上。我一直在使用一个公式。为了帮助可视化数据,我附上了收集的样本点的图像。想象在两个端点之间绘制一条线段,然后将所有其他点投影到该位置并为投影点创建一个新的 x,y 值。那个新的 x,y 最终是我想要创建的。从那里我可以计算我需要的一切。

那么有人对如何在 Excel 中处理这个问题有建议吗?我知道它可以在 Python 中以最小的努力完成,但我想将它集成到现有的 Excel 工具中,而不必重新创建所有内容。

提前感谢您的帮助,我想您已经得到了。

Point ID,northing,easting
0,1035968.533,2345983.331
1,1035982.422,2345983.331
2,1035994.228,2345982.637
3,1036006.728,2345980.554
4,1036017.839,2345976.387
5,1036037.978,2345977.081
6,1036046.311,2345984.72
7,1036057.422,2345993.054
8,1036069.922,2346001.387
9,1036089.367,2346002.081
10,1036103.256,2346002.081
11,1036116.45,2346012.498
12,1036129.644,2346011.109
13,1036147.006,2346004.165
14,1036158.811,2345998.609
15,1036176.867,2345993.748
16,1036188.672,2345993.054
17,1036205.339,2345990.276
18,1036215.061,2345981.942
19,1036230.339,2345984.72
20,1036240.756,2345995.831
21,1036256.728,2345999.998
22,1036272.006,2346000.692
23,1036285.2,2345993.054
24,1036301.172,2345988.887
25,1036319.922,2345985.415
26,1036331.033,2345979.165
27,1036344.922,2345976.387
28,1036359.506,2345970.831
29,1036372.7,2345956.248

这是这里的第一个剪辑 - 只是通过从所有点中减去第一个点然后使用 a standard formula

进行旋转来进行移位

其中 theta(命名范围 $E$2)的计算公式为

=ATAN2(C31-C2,B31-B2)

其中 C2 和 C31、B31 是第一个和最后一个东向和北向

另外两个公式是

=G2*COS(Theta)+F2*SIN(Theta)

=-G2*SIN(Theta)+F2*COS(Theta)

如果结果看起来在正确的行上,则可以进行整理。对于 Theta 大于 Pi 弧度(这意味着点向南,即最终北距小于初始北距)或直线与 x 轴完全成直角的情况,还有更多工作要做。

在 Excel 365 中,整个过程可以作为溢出公式使用 Let() 计算中间步骤来完成。