经纬度坐标本身是不能直接运算的。原因是:经纬度坐标并非是直角坐标系。纬线圈间隔均匀,经线圈越靠近两级越密,如下图:
现在有个需求,已知两点和两点处射线斜率,求交点坐标。
虽然地球整体是个圆,但是局部地区计算可以看做是平面,仍然有计算的可能。这时候面临的主要问题是经线变密,一个经度长度和一个纬度长度是不同的,也就是说,两者不能直接进行运算和换算。在北半球,经线被“压缩”的情况下,直接计算导致交点下移,斜率变“大”,入下图。
这时候如果我们把斜率进行反算,让斜率先变“小”,到合适的程度,然后在地理坐标系之内就可以得到“正确的斜率”。
转换公式为(γ为已知直角坐标角度,β为地理坐标系内的角度,Lat为当前纬度值):
β=arctan(tanγ* cos(Lat))
实际效果: