python3 通过百度地图API获取城市POI点并存于CSV格式

原文信息:

作者:WenWu_Both 
出处:http://blog.csdn.net/wenwu_both/article/ 
版权:本文版权归作者和CSDN博客共有 
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文链接;否则必究法律责任

话不多说,由于兴趣,需要一些POI点的位置信息,于是找到了这篇博客,因为原作是基于python2.写的,出于python2.和python3.的些许不同,而小编一直再用python3.,所以准备小做一波笔记。

关于API以及创建百度地图应用可以参见原作者文章:https://blog.csdn.net/WenWu_Both/article/details/70187605,原作者大牛写的非常详细。

主要问题在于:

Python官方基础模块:urllib2 第三方功能包:requests

python 3.x中urllib库和urilib2库合并成了urllib库。 其中urllib2.urlopen()变成了urllib.request.urlopen() urllib2.Request()变成了urllib.request.Request()

同时我们将获取到的POI点信息存于CSV格式,代码如下:

# -*- coding: utf-8 -*-
# Python 3.6
import json  import requestsimport pandas as pdleft_bottom = [120.008235,30.121327];  # 设置区域左下角坐标(百度坐标系)
right_top = [120.188758,30.316061]; # 设置区域右上角坐标(百度坐标系)
part_n = 5;  # 设置区域网格(5*5)url0 = 'http://api.map.baidu.com/place/v2/search?';
x_item = (right_top[0]-left_bottom[0])/part_n;
y_item = (right_top[1]-left_bottom[1])/part_n;
query = '公园'; #搜索关键词设置
ak = 'XXXXXXXXXXXXXXXX'; #百度地图api信令
n = 0; # 切片计数器
feature_data=[]
for i in range(part_n):for j in range(part_n):left_bottom_part = [left_bottom[0]+i*x_item,left_bottom[1]+j*y_item]; # 切片的左下角坐标right_top_part = [right_top[0]+i*x_item,right_top[1]+j*y_item]; # 切片的右上角坐标for k in range(20):url = url0 + 'query=' + query + '&page_size=20&page_num=' + str(k) + '&scope=1&bounds=' + str(left_bottom_part[1]) + ',' + str(left_bottom_part[0]) + ','+str(right_top_part[1]) + ',' + str(right_top_part[0]) + '&output=json&ak=' + ak;      print(url)data = requests.get(url).textprint(data)hjson = json.loads(data);if hjson['message'] == 'ok':datalist=hjson['results']for each in datalist:feature_data.append(each)# feature=pd.DataFrame(feature_data)# else:breakn += 1;print ('第',str(n),'个切片入库成功')
feature=pd.DataFrame(feature_data)
feature.to_csv('data/Graden.csv')

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用dropwizard(3)-加入DI-dagger2

前言 习惯了Spring全家桶,对spring的容器爱不释手。使用dropwizard,看起来确实很轻,然而,真正使用的时候不得不面临一个问题。我们不可能一个resource就能把所有的业务逻辑囊括!那么,必然就要有负责处理逻辑…

日历对象导哪个包_微信新表情瞬间炸裂,文物表情包永恒萌呆!

11月18日晚微信上架了6个全新表情瞬间炸裂网友一天时间阅读达16.2亿,讨论15.8万次#微信新表情#话题翻白眼、666、让我看看叹气、苦涩、裂开微信新表情虽然666但文物表情包的呆萌也能让人瞬间裂开更能完全诠释我的各(bu)种(wen ding)情绪先对比一下最新的6个表情[翻白…

Tensorflow一些常用基本概念与函数(1)

文章转至 作者:林海山波出处:https://me.csdn.net/lenbow版权:本文版权归作者和CSDN博客共有 写这篇博客只为自己学习路上做个笔记,方便自己学习记忆,大家如果想看详细文章可以去原作者主页去看,同时他…

Lineageos14 20180525更新

一、ROM注意事项 拒绝任何无意义二次打包! C大停止更新Lineageos14,我来接力。 二、ROM更新日志 20180525更新: 1、常规更新 2、安全补丁2018年5月5日 20180406更新: 1、增加通话录音,常规更新 2、安全补丁2018年3月…

蓝牙连接不上车要hfp_如何正确使用车载蓝牙播放器呢?

车载蓝牙是以无线蓝牙技术为基础而设计研发的车内无线免提系统。可以连接我们设计进行听歌和打电话十分方便,下面诺金小编带大家一起来看看!下面诺金小编带大家一起来看看一、首先是把手机和车载蓝牙播放器打开,搜索车载蓝牙播放器“809”&am…

使用Eclipse+PyDev创建Django项目一windows下

开发条件:eclipsepydev插件django editor插件 关于eclipse安装小编就不多做介绍,我自己用的版本如下 1.安装pydev插件 启动Eclipse, 点击Help->Install New Software 弹出如下框 点击add 分别在 Name中填:Pydev, Location中填http://pydev.org/up…

如何避免踩坑--初创技术团队组建风险预估

闲来无事翻翻微信,发现有不少朋友公司在招技术负责人,跟他们聊了几句,发现大多数认知都是技术部门的效率与进度达不到要求,机缘巧合下,有幸到了Y公司跟其Boss会面,得知其技术团队效率低下,总是不…

查询空缺_携程旅行2021校招开启,9大类职位,1000+岗位空缺,本科及以上学历...

携程旅行2021秋季校招正式开启!携程集团(纳斯达克股票代码:TCOM)是一家领先的在线旅游服务提供商,旗下品牌包括携程、Trip.com、天巡和去哪儿。携程集团能够整合复杂的旅游相关信息并通过其先进的移动端App、网站以及24小时无间断的免费客户服…

Django web开发笔记

一、Django开发环境搭建: 1.安装python:django可运行于版本python 2.7、3.x 2.安装相应的IDE 3.安装pip:sudo apt-get install python-pip(linux为例) 4.安装django:1)pip安装:sudo pip ins…

android 前置摄像头预览时 镜像翻转_全面屏时代,原来手机前置摄像头都隐藏着一些缺点,你发现了吗?...

随着真全面屏时代的到来,人们已经不再满足于刘海屏、水滴屏以及挖孔屏等,越来越多的手机厂商和消费者开始追求"100%全面屏"。于是如何解决手机前置摄像头便成了最大的难题,毕竟只要在屏幕上放置摄像头必然会影响屏占比,…

Java 调用 Python 方法学习笔记

文章转载自: 作者:IT_xiao_bai 来源:CSDN 原文:https://blog.csdn.net/IT_xiao_bai/article/details/79074988 前一阵自刚好用python做了一个sae的算法模型,结果公…

catia怎么将特征参数化_VSLAM中特征点的参数化表示

VSLAM中特征点的参数化表示有很多,最直接的是用三维坐标XYZ来表示,但通常大家更喜欢用逆深度表示,因为逆深度优势在于能够建模无穷远点。Open VINS文档中给出了五种特征参数化表示:Global XYZ,Global Inverse Depth&am…

【广州】Web前端工程师

互联网公司找人咯~ 我们公司:道乐科技(Dollar Tech)成立于2013年11月,是一家致力于为资产管理和财富管理行业提供技术、产品和运营服务的科技金融企业。三年来,道乐人始终坚持“以客户为中心,为客户提供高品…

Java 调用 Python 方法学习笔记---之---java调用python深度学习模型运算并返回运算结果给前端(2)

上一章写到Java 调用 Python 方法学习的三种方法,这里强调第三种方法。第三种方法本质上和第二种方法是一样的,都是应用到 Runtime.getRuntime().exec() 去执行文件。要深度理解这种方法,首先要先理解一下Runtime.getRuntime().exec() 。 R…

tbslog乱码转换_日文游戏乱码怎么办 乱码转换工具LocaleEmulator

by Nicho Feb.23,2017许多日文游戏有诸多地区限制,在 win7、win8、win10 上玩时候会经常遇到日文游戏乱码的情况,这时候就得用到乱码转换工具了,下面我们就来详细说明下使用方法。常用的有 microsoft locale、applocale、NTLEA 等&…

haarcascades---各种分类器xml文件下载地址

安装好opencv想找个人脸识别的小实验做做,后来发现没有配置文件,于是乎就找到了这个,所以就转载过来了。 下载地址:https://github.com/opencv/opencv/tree/master/data/haarcascades 转载地址:https://blog.csdn.ne…

vue 组件属性监听_vuejs组件内的对象属性监听问题

跟数据类型是有关的。当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。但是不是所有的变动都可以通过set/get捕捉到,比如一个数组l…

Part 2: Containers

要求 安装了1.13或者更高版本的Docker阅读了Part1中的定位(我没写)介绍 是时候用Docker构建一个app了。我们会从构建这样一个app的最底层开始,容器——我们这节所介绍的内容。在这层之上是服务,服务定义了容器们的在生产中的行为&…

(论文)WS-DAN (弱监督数据增强)

背景 近期在做外卖分类的项目,外卖分类属于细粒度图像分类,在分类的过程中要从图片的行人中和非机动车中区分出各类外卖(主要是美团、饿了吗)。刚好近期发现了一片关于细粒度图像分类较新的论文(See Better Before Lo…

罗马音平假名片假名转换器_关于五十音你所要知道的一切!文末附日网高清字帖...

今天开始,木子小花日本语教室将开始同时更新日语文法系列文章 和 日语真题详解系列文章,从五十音图的记忆方法到日语助词的用法整理,从N5的简单句子构成到N1复杂文法的接续记忆方法,力求做出全知乎(小声:全…