如何解决在WGS84度经度和米之间转换?
因此,我正在处理INS单元中的数据,以便通过对一段时间内的速度数据进行积分以获取位置变化,然后将其与实际记录的变化进行比较来计算其读数中的误差。位置。问题在于它以度和经度来表示其位置(以小数点后11位为单位),并且其文档表明它们使用的是wgs84标准,而速度是以米/秒为单位(以小数点后10位)。 / p>
我找到了this个其他问题,但是答案是假设地球是一个球体,而WGS标准使用an ellipsoid,并且似乎有可能使用假设地球是球形的可能会在我的计算中引入误差。
我打算使用Python进行数据分析,因此理想情况下答案也应使用Python,但是只要我可以将已清理的数据保存到文本文件中,就可以使用另一种语言进行数据清理。 Python可以读取的内容。
解决方法
也许您可以使用LatLon(或对于python3 LatLon23),它确实可以将地球视为椭球。
查看针对Python3使用LatLon23
的示例代码:
from LatLon23 import LatLon,Latitude,Longitude
palmyra = LatLon(Latitude(5.8833),Longitude(-162.0833)) # Location of Palmyra Atoll
honolulu = LatLon(Latitude(21.3),Longitude(-157.8167)) # Location of Honolulu,HI
distance = palmyra.distance(honolulu) # WGS84 distance in km
print(distance)
print(palmyra.distance(honolulu,ellipse = 'sphere')) # FAI distance in km
initial_heading = palmyra.heading_initial(honolulu) # Heading from Palmyra to Honolulu on WGS84 ellipsoid
print(initial_heading)
hnl = palmyra.offset(initial_heading,distance) # Reconstruct Honolulu based on offset from Palmyra
print(hnl.to_string('D')) # Coordinates of Honolulu
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。