如何计算经纬度的差?
创作时间:
作者:
@小白创作中心
如何计算经纬度的差?
引用
1
来源
1.
https://acomma.github.io/2024/09/01/how-to-calculate-the-difference-in-latitude-and-longitude/
为了方便定位地球上的点,人为定义了经线和纬线,它们组成了一个经纬网。经度的范围为 [-180°, +180°],本初子午线的位置为 0°,向东走为东经,经度范围为 [0°, +180°],向西走为西经,经度范围为 [-180°, 0°],-180° 和 180° 对应同一根经线,也叫国际日期变更线。纬度的范围为 [-90°, +90°],赤道的位置为 0°,向北走为北纬,纬度范围为 [0°, +90°],向南走为南纬,纬度范围为 [-90°, 0°],-90° 和 90° 的位置对应南极点和北极点。
我们的问题是对于给定两个经度或纬度,如何计算它们之间的差值?
我们来复习一下如何计算数轴上两个点的距离
由于纬度和数轴类似,因此两个纬度之间的差可以类比数轴上两个点的距离进行计算
public static double calculateLatitudeDifference(double lat1, double lat2) {
return Math.abs(lat1 - lat2);
}
对于经度我们可以进行类似的计算
public static double calculateLongitudeDifference(double lon1, double lon2) {
return Math.abs(lon1 - lon2);
}
在上面的计算方式下 +170° 和 -170° 之间差为 340°,我们把世界地图打开,+170° 和 -170° 之间是很近的,它们是国际日期变更线两侧 10° 的经线,它们之间的差为 20° 看起来才合理。
其实上面的计算方式不能算是错误的,对于纬线来说它们只有在赤道的 0° 纬线是重叠的,但是对于经线来说它在本初子午线的 0° 经线和国际日期变更线的 +180°(-180°)两个位置重叠了。按照上面的计算方式计算的是两个经度最远的距离,对于经度来说我们期望计算它们最近的距离
public static double calculateLongitudeDifference(double lon1, double lon2) {
double difference = Math.abs(lon1 - lon2);
if (difference > 180) {
difference = 360 - difference;
}
return difference;
}
完~
热门推荐
净水器是否需要维护及保养?如何进行保养工作?
人力资源管理者必读:5大维度20项指标教你精准筛选优质中介合作伙伴
折弯机维护:综合指南
投资小知识:无人驾驶:资本狂欢背后的泡沫与机遇
咳血了,痰中有血丝怎么办?
工资证明怎么开具?——详解流程与实操指南
印度人说什么语言?了解印度的主要语言及其多样性
高中数学学习辅导资料推荐!
买入价和卖出价:金融市场中的关键概念及其影响
40天宝宝奶粉量揭秘,专家教你选奶粉!喂养小知识速览
哮喘患儿能不能运动?医生:适当锻炼有益处
马桶坑距国标是多少,装修时如何正确测量
建设工程招投标过程中五种常见的法律风险防范
中国信通院联合发布《低空经济政策与产业生态研究报告(2024年)》
中介服务的评估标准是什么?如何选择一个可靠的中介机构?
如何面对财务拮据的挑战
数字77有哪些象征意义?
几口水果下去,嘴肿舌头麻,她不仅仅是水果过敏这么简单
静电粉末喷涂设备:环保涂装技术的绿色革新
如何根据货物类型选择合适的集装箱尺寸?
战术解析:拉齐奥如何击溃卡利亚里的防线——一场精致的胜利
国学教育:传承传统文化,寻找现代生活中的精神归属与文化认同
什么是发动机型号
哇偶!这些特色的湖南浏阳菜,看看这些值得打卡吗?
猪肚汤的食材选购指南
20世纪漫画与21世纪少年
2025年电力行业热门招聘岗位有哪些?
欧标工字钢的材质分类
游泳前的必备功课:热身与拉伸指南
文登花饽饽:从传统手艺到4亿产值的非遗产业