Python中如何计算2个坐标之间的距离

本文最后更新于2018年12月26日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

缘由:

最近在分析一些日志,里面有涉及到经纬度以及相应的距离计算的问题,所以学习整理一下,方便以后参考。

正文:

参考解答:
1、经度、纬度、经纬度都分别是什么?

经纬度是经度与纬度的合称组成一个坐标系统又称为地理坐标系统,它是一种利用三度空间的球面来定义地球上的空间的球面坐标系统,能够标示地球上的任何一个位置。

经纬度 coordinates
经度 longitude #为方便记忆,可以认为long的是经度
纬度 latitude

地球上所有的经线都一样长,并汇集到两极。通过英国格林威治天文台的经线为零度,称作本初子午线。由此向东、向西各分成180°,分别称东经和西经。东、西经180°线是重合在一起的。

在地球表面与经线直交的线叫纬线,把地球分成南北两半,到南极和北极距离相等的纬线就是赤道。所有的纬线都呈东西方向、与赤道平行,但长短不等,愈往极地愈短。

赤道的纬度是0°,南北极是90°,赤道以北叫北纬,赤道以南叫南纬。习惯上,人们还把纬度0~30°叫低纬,30~60°叫中纬,60~90°叫高纬。南、北纬23.5°,分别被称为南、北回归线。

经度:东经为正数,西经为负数。
纬度:北纬为正数,南纬为负数。

2、如何取地图上某个点的坐标?

经纬度 -> 地址
http://www.gpsspg.com/maps.htm

地址 -> 经纬度
#百度拾取坐标系统
#高德地图获取鼠标点击经纬度
#腾讯地图坐标拾取器

3、坐标之间的距离该如何计算?

地球上的位置现在都用经纬度来进行精确标注,又因为地球是一个球体,两点之间的距离不能简单的用平面上的方法来算,要考虑球面的因素,而常用的是Haversine公式,这里公式细节不细说,直接放出用Python计算的方法,方便参考和使用。

注:虽然叫「经纬度」但一般坐标里面是把「纬度放在前面」,即:「坐标 = (纬度,经度)」。且对于国内的坐标情况,一般是纬度数值要小于经度的数值。

 

参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/4238.html

《Python中如何计算2个坐标之间的距离》上有5条评论

  1. “APP神探”可定位陌陌用户位置,查在线ID仅需1元/次
    https://www.thepaper.cn/newsDetail_forward_2322296

    陌陌是一款基于地理位置的移动社交工具,在用户界面中,每个好友或是周围的人都会显示与用户之间的距离。在最新版本的陌陌软件上,这个距离精确到了小数点后两位。对于用户而言,距离可能意味着心理上的接受程度,也有可能仅仅就是一个数字。但是,在复杂的网络世界,每当用户登录一次陌陌,就相当于在网络世界公布了自己现实世界的真实地理位置。你是否想过,如果这个信息一旦被泄露,会不会对现实生活造成影响。南京就有一些喜欢玩陌陌的用户,就因为陌陌这个软件“栽了”。

    有一款软件名叫“APP神探”,可以查找陌陌使用者的位置(基本上过个一两个小时就定位一次)。

    有一段使用经验的“圈内人士”告诉记者,本来APP神探这款软件可查询陌陌和QQ两款软件,可是QQ在很早之前已经通过更新,屏蔽了APP神探的查询功能,因此目前,APP神探也只能查询基于位置服务的陌陌这款软件。准确地说,可以查询陌陌用户最近一次登录陌陌时的位置。查询在线的陌陌ID,只需1元/次,查询隐身的陌陌ID则是10元/次。之前查询QQ位置需要100元/次。

    谈起该软件,吴某告诉民警,他是利用三角定位算法这一概念。原来,陌陌是一款基于位置的社交软件,使用该软件用户提供位置信息成了前置条件。
    所谓三角定位其实是一种数学原理,是利用2台或者2台以上的探测器在不同位置探测目标方位,然后运用三角几何原理确定目标的位置和距离。吴某称,他事先预设了另外三个坐标的位置,用户提交数据后,可以对查询用户和事先预设的三个坐标位置进行比对,通过一系列复杂的算法,从而精确算出用户的所在位置。

    拿3月份的事来说,“APP神探”能查出陌陌用户位置过时了吗?
    https://zhuanlan.zhihu.com/p/41379542

    用“APP神探”来寻找陌陌用户位置的事都发生在2018年3月;
    怕用户位置被泄露,可以在手机里把位置定位关闭,位置定位都没有开启,就不会出现这些问题。

  2. 南京鼓楼警方破获国内首例技术定位侵犯公民个人信息案,涉恶涉黑团伙也用它
    https://mp.weixin.qq.com/s/26MRSUxDwvztxrE4klTBRg

    年满30岁的吴某是江西上饶人,计算机专业毕业后做起了技术员。他喜欢黑客技术,一个偶然机会看到网上有人卖手机聊天工具定位软件,但使用功能很一般,就想自己开发定位精度更高的。没多久,他破解了一款手机聊天程序的位置信息防护系统,捣鼓出一款新的定位软件,并命名为“APP神探”,通过QQ群、微信群、聊天室等网上渠道销售。

    “用户要先在该APP软件上注册成为会员,充值后才能使用定位功能。如果对方在线,定位一次只要1元;如果对方不在线,定位一次要10元。他后来还开发出针对多款主流聊天工具的定位功能,定位一次100元。”杨桂年说。(第一个APP指的是陌陌,100的那个指的是QQ)

    这款APP定位精度多高?南京鼓楼网安大队做了多次侦查实验:民警在盐仓桥附近的家乐福超市打开聊天工具,与之相距数公里的同事用该软件进行定位,精确位置只相差20—50米。

  3. 从手机定位谈谈科技
    https://mp.weixin.qq.com/s/jeGzj_Cmyx1DpuqO1EtoXQ

    一、手机是怎么定位的?

    手机定位一般有三个方法。

    方法1:基于你当前所接触的WIFI热点,如果这个WIFI热点是公开可查询的热点,存在地址信息对应的。那么你的位置可以锁定在该位置的一定半径内。
    通过WIFI定位,你的位置只能被确认在一定半径的范围内,并不能精确识别你的位置,速度。

    方法2:基于移动基站定位,你的手机信号是通过移动基站交互的。移动基站的地理位置是清晰明确的,当你手机可以获得多个基站的信号,并且不同基站信号存在不同的强弱衰减,那么可以根据这几个基站的位置和你信号衰减的情况,大致获得你的当前位置范围,以及大致的移动速度,如果你处于具有一定速度的交通工具之内的话。

    方法3:最精准的,是通过卫星定位,你看,虽然WIFI,基站,卫星,具体是从近到远;但定位准确度确实越来越精确。

    那么卫星定位,其实也包括不同的选择,以前是GPS一统天下,大家一提卫星定位就是GPS,但其实现在有很多家不同的卫星定位系统,GPS依然是全球规模最大的,此外欧洲的伽利略,中国的北斗系统等等。

    实际上很多国产智能手机和卫星导航的芯片已经支持北斗系统,用户看到的标志可能还是GPS,但提供定位服务的,实际上可能是来自于不同的系统。

    那么手机会自动根据信号强弱选择合适的系统进行定位导航,通常情况下,用户无需自己选择用哪个卫星系统。所以你就不用问我怎么切换到北斗系统啊,手机会在它认为合适的情况下用到的。

    二、卫星定位的原理

    实际上,导航卫星的工作极为简单,就是广播,广播自己的位置,自己的时间。每个所谓GPS芯片(习惯这么叫,现在很多已经整合了多个卫星系统)就是接受这些信号,然后处理。

    怎么处理呢?你如果知道它信号发出的时间,知道自己接受的时间,乘以传播速度,也就是光速,就知道自己和卫星的距离了对不对。当你的手机可以获得多个卫星信号的时候,比如三颗及以上,由于你知道卫星当前的位置数据,就可以通过数学公式,算出自己的所在位置。

    但是,且慢,这里有个严峻的问题,因为光速太大,需要极高的时间精确度,卫星上有原子钟,可以提供极为精确的时间,但你手机上没有。这时候,就需要把时间也当作变量,所以,需要四颗以上的卫星,才能精准定位你的位置。

    感谢科技的力量,现在的卫星定位极为精准,可以精确到米,从而让驾驶导航成为可能,实际上军方信号未解密,可以有更好的精确度。

    这里其实还隐藏了一个问题,就是,由于极高的时间精确度,那么卫星相对于地球是高速运动的,基于相对论,我们知道不同速度下的时间是不同的,在这样的精确度要求下,这个不一致也会很致命,所以,相对论公式被用于修正这一误差。

    所以真正的原理是这样的,卫星广播自己的时间(原子钟时间,极为精确到小数点后面n多位),当前位置。手机上的定位芯片获得多个卫星的信息,然后通过相对论公式修正时间误差,然后基于四颗或更多卫星的信息,测算自己的位置。这就是我说的,如此普及而成本低廉的定位芯片,其实技术含量还是蛮高的。

    那么这里还有一个冷知识,卫星还负责给你准确的时间,所以你看现在很多智能手机没有调时间的选项,因为完全不需要,只要有卫星信号,时间一定是准确的。再根据你的地理位置判定你所处的时区,给予你当地的时间。

发表评论

电子邮件地址不会被公开。 必填项已用*标注