如何计算经纬度的差?
创作时间:
作者:
@小白创作中心
如何计算经纬度的差?
引用
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;
}
完~
热门推荐
重庆东站即将迎来开通,打造西部最大交通枢纽
沙发床保养方法及挑选指南
关于爱国的诗有哪些,经典与现代的爱国诗篇赏析
如何合理规划利润分配以促进企业发展?这种分配策略对员工激励有何作用?
工业废水处理工艺详解:原理与设计计算
琵琶的分类:从音域、地域到演奏技法
定语从句中的八个易错点
ABB变频器ACSX80产品家族PT100电阻使用指南
揭示转录因子位置依赖性:解密基因调控的空间密码
夏天晒太阳会影响新能源车吗
布偶猫:温柔大块头的全方位指南
底背离和顶背离的技术分析意义是什么?在实际操作中如何应用?
科技赋能“水上春耕”,渔业养殖播下“智慧种子”
代餐减肥的正确方法,代餐减肥的正确方法是什么
银行的信用卡积分有效期一般多久?
“传庭死,则明亡矣”家喻户晓,它的原因却鲜有人知
稀饭的烹饪技巧与食谱推荐
葡萄酒分类大揭秘:让你成为品酒高手
广东连续6年蝉联全国第一生育大省!原因是→
凉薯生吃藏隐患:寄生虫风险与正确食用之道
Midjourney动漫角色设计提示词全攻略
中国足协布局青训体系,U字号+四级联赛,让中国足球迎来春天
氯气中毒如何处理
脂溶性辅酶Q10和水溶性辅酶Q10的区别到底在哪里?
王丽坤老公涉嫌诈骗案引发关注:诈骗罪法律要点全解析
减肥期间感觉不到饿了是什么情况?
《春江花月夜》文本分析与解读
宝可梦:剑盾铠之孤岛小约克属性图鉴
去恩施探寻人间仙境,湖北恩施10大好玩景点不可错过
趣教相融:儿童乐园安全创新