Kah*_*Kah 3 python geometry geospatial
我正在尝试复制我在该网站上找到的一个公式,它与计算给定纬度的地球半径有关。
https://rechneronline.de/earth-radius/ 或 https://planetcalc.com/7721/
然后我使用网站上的计算器来确定我是否正确复制了公式。
我编写了以下代码,但无法复制网站上给出的答案(除非纬度等于零)。由于方程非常复杂,我什至将每个部分分成一个单独的变量。然而,我的结果仍然不正确。
import math
def radius (B):
a = 6378.137 #Radius at sea level at equator
b = 6356.752 #Radius at poles
c = (a**2*math.cos(B))**2
d = (b**2*math.sin(B))**2
e = (a*math.cos(B))**2
f = (b*math.sin(B))**2
R = math.sqrt((c+d)/(e+f))
return R
Run Code Online (Sandbox Code Playgroud)
例如,使用纬度 2(变量 B),网站计算出地球半径为 6378.111 公里。我的答案是6360.481公里。
任何帮助将不胜感激。先感谢您
小智 5
python数学库将弧度作为三角函数的输入,
所以请确保将 B 的值转换为弧度
可以通过以下方式完成B=math.radians(B)
最终代码:
import math
def radius (B):
B=math.radians(B) #converting into radians
a = 6378.137 #Radius at sea level at equator
b = 6356.752 #Radius at poles
c = (a**2*math.cos(B))**2
d = (b**2*math.sin(B))**2
e = (a*math.cos(B))**2
f = (b*math.sin(B))**2
R = math.sqrt((c+d)/(e+f))
return R
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2245 次 |
| 最近记录: |