天天看点

尝试了一下用高德lbs获取道路信息

参考https://blog.csdn.net/u011170540/article/details/52327796的文章,采用了文章提到的api,用matplotlib画了一下。对比使用导航的机关枪扫射式,使用道路名称获取路网信息比较靠谱高效,代码如下。

import requests
import pandas as pd
import os
import matplotlib.pyplot as plt
# from mpl_toolkits.basemap import Basemap
plt.rcParams['font.sans-serif'] = ['SimHei']
__author__ = "zhaoguang"

key = "xxxxxx"
url = f"http://restapi.amap.com/v3/road/roadname?city=022&key={key}&keywords=鞍山西道"
r = requests.get(url)
data = r.json()['roads']

df = pd.DataFrame(data, columns=data[0].keys())
segments = []
for line in df.polylines:
    for segs in line:
        segments.append(segs)

fig, ax = plt.subplots(1, 1)
for segment in segments:
    lng = [float(i.split(',')[0]) for i in segment.split(';')]
    lat = [float(i.split(',')[1]) for i in segment.split(';')]
    ax.scatter(lng, lat, c='k')
    ax.plot(lng, lat)

ax.set_title(url)
ax.set_yticks([max(lat)])
ax.set_xticks([max(lng)])
ax.axis('equal')
plt.show()
           

画出来图是酱婶的,貌似还比较准确,没有什么飞出去的点。

包括2段路,鞍山西道和鞍山西道环岛,另外还包括一些道路速度的字段等等。

尝试了一下用高德lbs获取道路信息