(PYTHION)地理编码(根据地址获取经纬度)

本文介绍了如何使用高德地图的地理编码API将详细地址转换为经纬度坐标。这个过程包括申请APIKey,发起HTTPGET请求并解析JSON格式的返回数据。示例代码展示了如何用Python的requests库处理请求,获取并打印出地理位置信息。
摘要由CSDN通过智能技术生成

地理编码:

将详细的结构化地址转换为高德经纬度坐标。且支持对地标性名胜景区、建筑物名称解析为高德经纬度坐标。

使用步骤:

第一步,申请Web服务API类型Key;

第二步,参考接口参数文档发起HTTP/HTTPS请求,第一步申请的 Key 需作为必填参数一同发送;

第三步,接收请求返回的数据(JSON或XML格式),参考返回参数文档解析数据。

地理编码 API 服务地址

URLhttps://restapi.amap.com/v3/geocode/geo?parameters
请求方式GET

在这里插入图片描述
服务示例
https://restapi.amap.com/v3/geocode/geo?address=北京市朝阳区阜通东大街6号&output=XML&key=<用户的key>

根据官网提供的资料可以看出有两个必填的参数,为key和address,key即为第一步申请得到的字符串,address为具体待查询的地址,为了避免出现多地同名的情况可以填入city。明白了输入参数,下面我们来看看返回的结果。

在这里插入图片描述
地理编码API返回的结果默认为JSON格式,返回参数主要分为结果状态值status、状态说明info、地理编码信息表geocodes三类。结果状态值和状态说明反映的是请求结果,主要数据都在地理编码信息表中。
下面我们测试一下:
示例代码:

import requests


address = '内蒙古自治区阿左旗嘉尔嘎勒赛汉镇巴兴图'

AK='22fcd3093365e8c****edaa86fb8b66e30b'   #  KEY

base = r'https://restapi.amap.com/v3/geocode/geo'

url = 'https://restapi.amap.com/v3/geocode/geo?address={0}&output=JSON&key={1}'.format(address, AK)

res= requests.get(url)

print(res.json())

print(res.status_code)

if res.status_code == 200:
    val = res.json()
    print(val['status'])
    if val['status'] == '1':
        location = val['geocodes'][0]['location']
        print(location)

打印结果

{'status': '1', 'info': 'OK', 'infocode': '10000', 'count': '1', 'geocodes': [{'formatted_address': '内蒙古自治区巴彦淖尔市乌拉特中旗巴兴图', 'country': '中国', 'province': '内蒙古自治区', 'citycode': '0478', 'city': '巴彦淖尔市', 'district': '乌拉特中旗', 'township': [], 'neighborhood': {'name': [], 'type': []}, 'building': {'name': [], 'type': []}, 'adcode': '150824', 'street': [], 'number': [], 'location': '108.841252,41.999346', 'level': '村庄'}]}
200
1
108.841252,41.999346

根据打印结果可以发现返回的地理编码信息表geocodes是一个列表类型,因此需要根据索引取出该列表中所包含的信息表。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值