高德地图API全家桶python3

高德地图全家桶

首先写下这几个标准操作

import pandas as pd # 实用的制表标准库
from pandas.io.json import json_normalize # 这个可以将json变成表格

import requests # 网络爬虫标准配置
key ="3f773d**********62d221d"

获取地理编码

def geocode(address,city=None,batch=None,sig=None)->dict:
    """获取地理编码"""
    url = 'https://restapi.amap.com/v3/geocode/geo?parameters'
    params={
        'key': key,
        'address':address,
        'city':city,
        'batch':batch,
        'sig':sig,
        'output':'json'
    }
    response = requests.get(url,params=params)
    data = response.json()
#     data_df = json_normalize(response.json()['geocodes'])
    return data

家 = geocode('广…省潮…市潮…区潮……') # 写下家的详细地址
家_location = 家['geocodes'][0]['location'] # 这就是家的地理编码

逆地理编码

将经纬度转换为详细结构化的地址,且返回附近周边的POI、AOI信息。

def regeocode(location,poitype=None,radius=None,extensions="base",batch=False,roadlevel=None,sig=None,homeorcorp=None)->dict:
    """获取逆地理编码"""
    url = 'https://restapi.amap.com/v3/geocode/regeo?parameters'
    params={
        'key': key,
        'location':location,
        'poitype':poitype,
        'radius':radius,
        'extensions':extensions,
        'batch':batch,
        'roadlevel':roadlevel,
        'homeorcorp':homeorcorp,
        'sig':sig,
        'output':'json'
    }
    response = requests.get(url,params=params)
    data = response.json()
    return data

同时可以将地理编码和你地理编码的两个函数包装在一起,

def df_regecode(locale):
    地理编码 = geocode(locale)['geocodes'][0]['location']
    逆地理编码 = regeocode(地理编码,extensions="all")
    df_逆地理编码 = json_normalize(逆地理编码['regeocode']['pois'])
    return df_逆地理编码
df_regecode('广东省*****察大队')

路线规划

在此之前我们获取我所在的高中的地理编码“中学_location”。

步行

def walking(origin,destination,sig=None)->dict:
    url = 'https://restapi.amap.com/v3/direction/walking?parameters'
    params={
        'key':key,
        'origin':origin,
        'destination':destination,
        'output':'json'
    }
    response = requests.get(url,params=params)
    data = response.json()['route']['paths'][0]['steps']
    data_df = json_normalize(data)
    return data_df

家_中学 = walking(家_location,中学_location)

(tips:这个函数是直接返回一个表格,如果想返回json格式则是

# 将
    data = response.json()['route']['paths'][0]['steps']
    data_df = json_normalize(data)
# 改成
    data = response.json()

公交车

def bus(origin,destination,city,cityd,strategy,nightflag)->dict:
    url = 'https://restapi.amap.com/v3/direction/transit/integrated?parameters'
    params={
        'key':key,
        'origin':origin,
        'destination':destination,
        'city':city,
        'cityd':cityd,
  
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值