Python调用高德地图API实现经纬度换算、地图可视化
前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出的轻量级可视化平台上实现一键式地图可视化,这其中需要申请密钥、批量经纬度换算、地图平台可视化操作等等。
初始数据里面有数据的省、市、县、街道、门牌号等详细地址,但是这类的详细地址是无法利用现有的函数做可视化分析的,所以需要python调用高德地图的API查询经纬度。
在高德地图API上相关位置的展现是以经纬度为基础的,为了批量获取位置的经纬度,我们按接口调用的要求先注册高德地图API以获取免费的密钥,这样才能使用该API。地址:https://lbs.amap.com/ ,在注册成功后,在应用管理里面点击“创建新应用”,填写相关信息,提交后在key栏即可获得你的密钥。
得到密钥后,可以在高德地图web服务API下的地理编码接口获取经纬度,地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。我们需要参考接口参数文档发起HTTP/HTTPS请求,第一步申请的 Key 需作为必填参数一同发送。接收请求返回的数据(默认JSON格式),参考返回参数文档解析数据。
地理编码 API 服务地址
https://restapi.amap.com/v3/geocode/geo?parameters
parameters代表的参数包括必填参数和可选参数。所有参数均使用和号字符(&)进行分隔。
这里我只填了必要的参数,key和address两个参数,key是密钥参数。address是需要转换的地址。网页中有相关说明,根据示例URL,采用python3写出如下函数:
1import pandas as pd
2import requests
3from requests.exceptions import ReadTimeout, ConnectTimeout
4import csv
5
6
7def transform(geo):
8 parameters = {
addr