excel - X和Y坐标到纬度和经度的公式?
问题描述
我必须使用没有 Z 坐标的 Excel 公式将 X 和 Y 坐标转换为纬度和经度。
X=6371*COS(C2)*COS(D2)
Y=6371*COS(C2)*SIN(D2)
C2( Lat), D2(long)
我已经尝试过上述公式的逆,但无法做到这一点。
解决方案
通过一些数学(随后),您可以获得以下信息:
经度
=ATAN(F2/E2)
其中 E2 和 F2 是 X 和 Y
纬度
=ACOS(SQRT(E2^2+F2^2)/6371)
所以下面我从一个北方著名城市的经纬度开始,将它们转换为X和Y坐标,然后将它们转换回经纬度。因为平方根,在南半球其实有一个镜像。
原方程可以写成:
X=R cos(lat) cos(long) ...(1)
Y=R cos(lat) sin(long) ...(2)
其中 R 是地球的半径,以英里为单位。
将 (2) 除以 (1) 得到
Y/X = tan (long)
或者
long = atan(Y/X) ....(3)
将 (3) 代入 (1) 给出
X = R cos(lat) cos(arctan(Y/X))
但
cos(arctan(Y/X)) => X/sqrt(X^2 + Y^2)
(通过考虑具有较短边 X 和 Y 的直角三角形)
所以
X=R cos(lat) X / sqrt(X^2+Y^2)
cos(lat) = sqrt(X^2+Y^2) / X
lat = acos(sqrt(x^2+Y^2)/X) ....(4)
等式 (3) 和 (4) 用于从 X 和 Y 确定纬度和经度。
推荐阅读
- pdf - 将 ColorSpace 添加到资源会导致流关闭
- outlook - 如何在邮件中输出 UTF-8 格式和换行符
- netlogo - 如何让海龟在规定的繁殖季节繁殖一次?
- auth0 - 我可以将 checkSession 与 SAML 一起使用吗?
- angular - 角 | Ionic 3:如何根据条件隐藏和更改按钮的宽度?
- c++ - c++异常:抛出std::exception
- c++ - 通过引用传递隐式调用复制ctor以获得不兼容的参数?
- java - ini4j INI 密钥长度 > 80 个字符
- javascript - 当用户移动到另一个页面时如何停止滚动事件功能
- regex - 可以使用正则表达式来索引/切片字符串的一部分吗?