Python实现(百度地图API)地理编码与逆地理编码
地理编码:
地理编码是指将地址或地名等位置描述转换为经纬度坐标的过程。得到的坐标信息,可以用于制图或空间分析操作。(出于国家安全考虑,公布出来的坐标信息一般是经过加偏的。)
通过地理编码可快速查找到各类位置。比如建筑物名称、地址、位置描述、名胜景区等等。
逆地理编码:
逆地理编码可将经纬度坐标转换为详细、标准的地址信息。由于逆地理编码服务是根据坐标返回地址信息,所以前期提供给逆地理服务引擎的数据有下面几类:行政区划、道路、POI、AOI、门址等。行政区划数据可以告诉用户当前这个坐标点所属的省市区,道路数据保存的是所有的道路坐标点串,POI/AOI记录的是重要的点和面信息(POI是指兴趣点,AOI是指兴趣面),门址一般是指某某门牌号信息。
逆地理服务实际是一个空间查询的过程,通过输入经纬度坐标,查找这个坐标所在的行政区划,所属道路,最近的POI/AOI等。这些数据一般比较庞杂,所以合理组织这些数据结构非常关键。
相互关系如下图示:
Python具体实现:
思路:首先申请百度API的key,通过调用接口就可实现操作,需要注意的是,地理编码返回的是百度坐标。而进行逆向地理编码地址查询所输入的为WGS84坐标。
Python地理编码:
from urllib.request import urlopen,quote
import json
import coordinateTransformaddress="西安市"
ak='FA8atAaqd1wajikD56lPqtiaNCleCeyz'
url='http://api.map.baidu.com/geocoder/v2/?address='
output = 'json'
#ak = '你的ak'#需填入自己申请应用后生成的ak
add = quote(address)#本文城市变量为中文,为防止乱码,先用quote进行编码
url2 = url+add+'&output='+output+"&ak="+ak
req = urlopen(url2)
res = req.read().decode()
temp = json.loads(res)
lng = temp['result']['location']['lng'] # 获取经度
lat = temp['result']['location']['lat'] # 获取纬度
list1=[lng,lat]
print('百度坐标为:',list1)
结果图示:
Python逆地理编码:
import requests
address = '39.83637707633588,115.58006911450369'
# address=str(i[0])+','+str(i[1])
url = 'http://api.map.baidu.com/geocoder?output=json&key=f247cdb592eb43ebac6ccd27f796e2d2&location=' + str(address)
response = requests.get(url)
answer = response.json()
print(answer)
结果图示:
Python逆地理编码返回的是字典类型数据,可以通过解析字典的方式获取想要的信息。
---------------------中遥信息数据中心支持
Python实现(百度地图API)地理编码与逆地理编码相关推荐
- python 实现对地图的点击_利用python和百度地图API实现数据地图标注的方法
如题,先上效果图: 主要分为两大步骤 使用python语句,通过百度地图API,对已知的地名抓取经纬度 使用百度地图API官网的html例程,修改数据部分,实现呈现效果 一.使用python语句,通过 ...
- [Python]调用百度地图API对地点进行搜索,利用 JSON 返回纬度/行政区域编号
1.创建百度API应用 类似爬虫程序,在百度地图API进行注册 在此处点击控制台,在应用管理------我的应用处 创建自己的应用. 创建应用如图所示,在请求校验方式处选择sn校验方式 记住自己的AK ...
- 【百度地图API】如何制作班级地理通讯录?LBS通讯录
原文:[百度地图API]如何制作班级地理通讯录?LBS通讯录 摘要:班级通讯录必备的功能,比如人员列表,人员地理位置标注,展示复杂信息窗口,公交和驾车等.一般班级人员都不会超过300个,因为可以高效地 ...
- 【python】python利用百度地图API:获取经纬度、地图撒点
本文目的: python通过百度地图API,获取所给地址的经纬度,并且在百度地图上进行撒点. 另:百度地图API功能强大,如: GPS功能(单个点沿线运动). 信息窗口示例(添加纯文字的信息窗口). ...
- python调用百度地图实现导航pc_利用python和百度地图API实现数据地图标注
如题,先上效果图: 主要分为两大步骤使用python语句,通过百度地图API,对已知的地名抓取经纬度 使用百度地图API官网的html例程,修改数据部分,实现呈现效果 一.使用python语句,通过百 ...
- python调用百度地图实现导航_利用python和百度地图API实现数据地图标注
如题,先上效果图: image.png 主要分为两大步骤 使用python语句,通过百度地图API,对已知的地名抓取经纬度 使用百度地图API官网的html例程,修改数据部分,实现呈现效果 一.使用p ...
- python百度地图标注_利用python和百度地图API实现数据地图标注
如题,先上效果图: 主要分为两大步骤使用python语句,通过百度地图API,对已知的地名抓取经纬度 使用百度地图API官网的html例程,修改数据部分,实现呈现效果 一.使用python语句,通过百 ...
- python调用百度地图API 实现单点沿线轨迹运动
百度地图API 可以做很多好玩的事情,自己闲来无事,先是照着一些资料做了热力图,然后借助pyqt5做了一个简单的界面,实现gps单点沿线(行车)的轨迹. 先上程序界面和效果图: 过程:1. 申请百度地 ...
- python调用百度地图API爬取西安市POI数据
任务前提 做该项目之前,首先得有基础知识: 编程语言:python 编译工具:PyCharm 网络爬虫相关知识,xpath库,numpy,pandas等库. 任务准备: 去百度地图开放平台申请密匙:h ...
- python 调用百度地图api 实现批量经纬度转换为实际省市地点(api调用,json解析,mysql读取与写入)
1.获取秘钥 调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥.链接如下:添加链接描述 下面是百度创建的app设置: 2.调用API将经纬度信息解析成json信息 def ...
最新文章
- 【数据平台】Eclipse+Scala开发环境(本机和集群两个运行模式)
- java中迭代方式_JAVA中LIST迭代的方式汇总
- mysql死锁解决办法
- what are the added values for the research?
- pat天梯赛L1-053. 电子汪
- php类使用自己的静态方法吗,php在类中使用静态方法有几种方式
- 说到 SASE,新的安全范式有哪些
- 双边滤波器—— Matlab实现
- Laravel核心解读--Database(四) 模型关联
- java中方法未定义_java - Java SE中的未定义方法错误 - 堆栈内存溢出
- LoadRunner10自带的WEBTOURS,无法显示Flights页面问题解决办法
- ZOJ1003 Crashing Balloon【水题】
- 编辑器输入中文怎么整_微软证实:Windows 10五月更新中输入法有问题
- 随机森林原始论文_【论文笔记】韩家炜团队AutoPhrase:从大量文本库中 自动挖掘短语...
- 工业相机二次开发简约教程
- C++:重载、重写、重定义
- IDEA自动生成 Author 注释 签名
- 悉数美剧《黑客军团》中的黑客工具
- Unity场景渲染之自发光材质
- c语言error语句错误,【资料】C语言错误信息中文解释