使用Python从百度地图上批量下载兴趣点(POI)

1 篇文章 0 订阅

背景

编写这个工具完全是因为数据采集项目需要,由于POI野外采集十分繁琐,需要定位并录入名称、地址等信息,为了减轻外业人员的负担,我想到百度地图上有相关的POI接口可以调用,如果能从百度地图上下载到这些数据不是可以让外业人员轻松些。


问题

不过这里要让下载的数据可用需要解决百度地图坐标偏移的问题,由于一直从事相关软件开发工作,对坐标系统转换这块还是比较清楚的,因此编写了百度地图坐标与WGS84大地坐标转换接口(C++编写的动态链接库),坐标转换的精度之前对比过应该在亚米范围内,对于POI类型的数据应该够用。


程序

开发时本想着用C++来做,但为了尽快实现这个工具为实际生产所用,还是选用了Python来实现,事实证明Python更适合这样的任务,具体开发环境采用Python 2.7版本的运行时/库,在Windows操作系统下使用PyDev/Eclipse开发环境。

http://download.csdn.net/detail/meadowair/8808223

使用

batchCapturePOI <file> <path> <bbox>
file  - 需要下载的POI类别描述文件
path  - 下载的POI保存的路径
bbox  - 下载矩形范围

请参考并执行batch.bat文件,注意下载完成后删除目录下log.txt文件

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
使用Python获取百度地图POI数据,可以使用百度地图API提供的web服务来实现。首先,你需要申请一个百度开发者账号,并创建一个应用程序以获取访问API的密钥。 接下来,你可以使用Python中的requests库来发送HTTP请求并获取百度地图POI数据。首先,你需要构建一个HTTP请求URL,包括你的密钥和其他必需的参数,比如城市、关键词等。然后,发送GET请求到百度地图API,并获取返回的JSON数据。 下面是一个示例代码,演示如何使用Python获取百度地图POI数据: ```python import requests # 设置百度地图API的密钥和其他参数 api_key = "你的密钥" city = "北京市" keyword = "餐厅" # 构建HTTP请求URL url = f"http://api.map.baidu.com/place/v2/search?query={keyword}&region={city}&output=json&ak={api_key}" # 发送GET请求并获取返回的数据 response = requests.get(url) data = response.json() # 处理返回的数据 if data["status"] == 0: # 输出POI数据 for poi in data["results"]: print(poi["name"], poi["address"], poi["telephone"]) else: print("获取POI数据失败") ``` 在这个示例代码中,我们使用了requests库来发送GET请求并获取返回的JSON数据。然后,我们可以通过解析JSON数据来提取感兴趣POI信息,比如名称、地址和电话号码。 需要注意的是,在构建HTTP请求URL时,我们使用了f-string来方便地将参数插入URL中。此外,你还需要根据你的需求来调整代码中的其他参数,比如城市和关键词。 这只是一个简单的示例,你可以根据自己的需求来扩展和优化代码。希望这个答案能帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值