如何计算经纬度的差?
创作时间:
作者:
@小白创作中心
如何计算经纬度的差?
引用
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;
}
完~
热门推荐
深度宁静:十分钟冥想的神奇效果!
这个......盘点那些春节福字和春联
污水处理厂的环保标准与指标
过渡养老金的计算方法是什么?这种计算方法存在哪些影响因素?
考研前端如何选择方向
肚脐眼周围痒:是艾滋病的征兆吗?解开健康谜团
PNP晶体管的工作原理与结构特性介绍
自制油条,1碗面粉能做3大筐,步骤详细简单,外酥里嫩个个酥脆
好好睡一觉,记忆力更强!最新《科学》确认睡眠“重启”大脑的学习功能
英国大学泰晤士排名根据什么
悉尼大学 | 解开晚期资本主义
蔬菜营养价值:维生素、矿物质、纤维素和抗氧化剂的全面解析
超高度近视如何配合适的眼镜?
尚姓的起源与来历:源于姜子牙的后裔子孙
幼儿园飞机基础知识培训
磁盘工作原理详解:从物理结构到逻辑寻址
双重人格是怎么形成的
诸葛亮和周瑜,谁更厉害?
三大指数全线调整 发生了什么?
1928年张学良东北易帜的历史意义是什么?
医疗具身智能发展到哪了?看这一篇综述就够了
骨骼肌收缩机制是什么
老年人饮食,为啥要强调低糖、低盐和低脂?
中专毕业后如何上大专,中专刚毕业想上个大专怎么办
中国古代的城市防御体系:城墙与护城河的历史作用
我国智慧医疗市场规模逐年增长 资本市场则逐渐降温 回归理性
公积金的计算方式是什么?
租房未到期想退租要赔偿吗?一文详解退租纠纷处理要点
离婚后办理过户析产可以单方去吗
如何高效撰写目标任务完成情况汇报?