根据地理坐标查询地标
根据地理坐标查询城市名称
根据地理坐标查询街道名称
根据地理坐标查询地标建筑
根据坐标查周围地标POI
根据坐标查周围美食
逆地理编码
目录
背景知识
地理编码是将地理坐标(例如经纬度)赋予街道地址还有其他点位和地理特征的过程。
有了地理坐标,地理特征就可以被显示到地图上或运用到地理信息系统中。
相反的,由一个地理坐标得到相应的地址表述的过程,
就称作"逆地理编码(Reverse Geocoding)"。
逆地理编码的过程通常这样:
根据指定的地理坐标,
从空间数据库中分别查询出该坐标所在的城市名称、区域名称、街道名称以及附近的地标,
然后把这些信息组合成一个完整的地址描述。
例如:深证证券交易所附近。
逆地理编码服务提供将坐标点(经纬度)转换为对应位置信息功能。
代码
例如你想查查距离深证交易最近的金融地标
首先获取深证交易所的经纬度坐标
然后调用接口检索目标点周围1km内的地标
再过滤出金融类的
输出第一个,就是距离目标点最近的地标啦!
import json
from urllib.request import urlopen, quote
import requests
def getPois(lnglat,poi_types):
poi_types=quote(poi_types)
ak="" # 你申请的ak
url="https://api.map.baidu.com/reverse_geocoding/v3/?ak="+ak+"&output=json&coordtype=bd09ll&extensions_poi=1&poi_types="+poi_types+"&radius=1000&location="+lnglat
req = urlopen(url)
res = req.read().decode()
tmp=json.loads(res)
print(tmp)
name=tmp['result']['pois'][0]['name'] # 获取距离目标坐标最近的poi
city=tmp['result']['addressComponent']['city']
return city,name
lnglat = "22.547255,114.060499" # 深证交易所
poi_types = "金融"
getPois(lnglat,poi_types)