查找计算机地理位置python

时间:2017-04-10 22:05:32

标签: python gis

我希望能够跟踪我的计算机地理位置。到目前为止,我已经设法实现了一个策略,即使用我的IP地址来获取地理位置。不幸的是,这种方法不够精确。我希望能够以类似于Iphone可以执行的操作,房屋和街道号码的方式跟踪我的计算机。从阅读中我知道,人们仍然可以利用Wifi,手机和GPS对您当前的位置进行三角测量。有了谷歌地图等其他服务,我知道这绝对是可能的。我只是没有成功找到任何我可以实现到python代码中的东西。

总而言之,我会感谢任何有用的建议,允许有人找到计算机的地理位置;没有IP地址策略。谢谢!

编辑1: 如果您有兴趣了解到目前为止代码的样子,请参见示例:

import urllib2
import json


url = 'http://ipinfo.io/json'
response = urllib2.urlopen(url)
IP_Info = response.read()
IP_List = json.loads(IP_Info)

#info = json.loads(urllib2.urlopen(url).read())
ip = IP_List['ip']
loc = IP_List['loc']
print ip
print loc

1 个答案:

答案 0 :(得分:1)

手机通过Wi-Fi获取您的位置的方式是Google / Apple专有的。他们经常在设备在室外时对Wi-Fi接入点进行采样,并具有GPS锁定以将该AP与位置相关联。您必须使用专有服务才能从IP获得该级别的详细信息。

如果您想使用物理GPS设备获得精确位置,可以使用gpsd及其python绑定,如下所示:

from gps import gps, WATCH_ENABLE
import     

gps = gps(mode=WATCH_ENABLE)
lock = False
while not lock:
    report = gps.next()
    # 3D Fix
    if report['class'] == 'TPV' and report['mode'] == 3:
        print(report.lon)
        print(report.lat)
        print(report.alt)
        print(report.speed)
        print(report.track)
        print(report.climb)
    else:
        time.sleep(5)