python调用高德地图api 可视化_Python调用Gaude地图Web服务API,实现地址、经纬度的批量转换和地图可视化操作,高德,web,与,及...

网上在线经纬度批量转换资源(准确度稍微有偏差):

高德API官方文档地址:

调用高德地图API前,需先申请高德地图key

https://lbs.amap.com/

单条地址转经纬度:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

"""

@author:ZSW

@file:long_lat.py

@time:2020/11/07

Python调用高德地图web服务API实现地理/逆地址编码

"""

import requests

import json

def geocode(address):

params = {'address':address,

'key':'你的高德密钥',

# 'city':'上海市'

}

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

res = requests.get(url, params)

# 输出结果为json,将其转为字典格式

result = json.loads(res.text)

# 或者直接调用json的方法,返回python下的字典数据

# result = res.json()

# print(result)

res = result['geocodes'][0]['location']

return res

if __name__=='__main__':

address = '上海市徐汇区'

res = geocode(address)

print(res)

利用高德地图api实现 地址 到 经纬度 的批量转换

#!/usr/bin/python

# -*- coding: UTF-8 -*-

"""

@author:ZSW

@file:batch_addr_longlat.py

@time:2020/11/09

利用高德地图api实现 地址 到 经纬度 的批量转换

"""

import requests

import pandas as pd

import json

# 读取csv文件中 organization 的列,并添加在列表中,示例['地址1','地址2',……,'地址n']

def parse_csv_addr():

datas = []

totalListData = pd.read_csv('test.csv')

totalListDict = totalListData.to_dict('index')

for i in range(0,len(totalListDict)):

datas.append(str(totalListDict[i]['organization']))

return datas

# 地址转经纬度 选用的是地理编码的接口

def geocode(address):

params = {

'address': address,

'key': '你的高德密钥',

'city': '上海市'

}

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

data = requests.get(url, params)

result = data.json()

res = result['geocodes'][0]['location']

print(res)

return res

if __name__ == '__main__':

i = 0

count = 0

df = pd.DataFrame(columns=['long_lat'])

locations = parse_csv_addr()

for location in locations:

long_lat = geocode(location)

df.loc[i] = [long_lat]

i = i + 1

df.to_csv('locdetail1.csv', index=False, encoding='utf-8')

利用高德地图api实现 经纬度 到 地址 的批量转换

#!/usr/bin/python

# -*- coding: UTF-8 -*-

"""

@author:ZSW

@file:batch_longlat_addr.py

@time:2020/11/09

利用高德地图api实现 经纬度 到 地址 的批量转换

"""

import requests

import pandas as pd

# 读取csv文件,将列longitude 和列latitude 进行拼接 并添加在列表中 示例['123.57293,32.287868',……]

def parse_csv_longlat():

datas = []

totalListData = pd.read_csv('test.csv')

totalListDict = totalListData.to_dict('index')

for i in range(0, len(totalListDict)):

datas.append(str(totalListDict[i]['longitude']) + ',' + str(totalListDict[i]['latitude']))

return datas

# 为了使用高德服务,用户需要将非高德坐标转换为高德坐标。

# 将用户输入的非高德坐标(GPS坐标、mapbar坐标、baidu坐标)转换成高德坐标

def transform(location):

params = {'coordsys': 'gps', 'locations': location, 'key': '你的高德密钥'}

url = 'http://restapi.amap.com/v3/assistant/coordinate/convert'

result = requests.get(url, params)

res = result.json()

return res['locations']

# 纬度转换为地址,选用的是逆地理编码的接口

def regeocode(location):

params = {'location': location, 'key': '你的高德密钥'}

url = 'http://restapi.amap.com/v3/geocode/regeo'

result = requests.get(url, params)

res = result.json()

return res['regeocode']['addressComponent']['district'], res['regeocode'][

'formatted_address']

if __name__ == '__main__':

i = 0

count = 0

df = pd.DataFrame(columns=['location', 'detail'])

locations = parse_csv_longlat()

for location in locations:

dist, detail = regeocode(transform(location))

df.loc[i] = [dist, detail]

i = i + 1

df.to_csv('locdetail.csv', index=False, encoding='utf-8')

地图可视化

登录高德开放平台后, 点击头像,即可看到 数据可视化平台,点击进去,如下:

里面有相关的案例教程:

简单实例, 经纬度坐标可视化,导入csv文件,选择需要可视化的经纬度列即可(平台中一些细节配置可以自己去尝试):

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值