利用高德API获取公交线路点并可视化

前言

    深圳公交线路查询:https://shenzhen.8684.cn/

 

代码

# _*_ coding:utf-8 _*_
import requests
import json
import time
import sys
sys.path.append('D:/坐标系转换') #导入不在同一文件夹下的py文件
import transfer # 导入transfer.py文件

def BusLines(buslist):
    busname = buslist['key_name'] #线路名
    buslinename = buslist['name'] #线路名+起终点
    print(buslinename)
    fromname = buslist['front_name'] #起点
    terminalname = buslist['terminal_name'] #终点
    x = buslist['xs'].split(',')
    y = buslist['ys'].split(',')
    busPoint = []
    for i in range(len(x)):
        lng,lat = transfer.gcj02_to_wgs84(float(x[i]),float(y[i])) # 转换为wgs84坐标系
        linetmp = str(round(lng,6)) + "," + str(round(lat,6))
        busPoint.append(linetmp)
    return busPoint


if __name__ == '__main__':
    linename=['68路']
    
    for i in range(len(linename)):
        city = "440300" #深圳
        zoom = "11"
        busNum = linename[i]
        url="https://www.amap.com/service/poiInfo?query_type=TQUERY&pagesize=20&pagenum=1&qii=true&cluster_state=5&need_utd=true&utd_sceneid=1000&div=PC1000&addr_poi_merge=true&is_classify=true&zoom="+ zoom +"&city="+city+"&geoobj=114.235102%7C22.569015%7C114.276323%7C22.603105&keywords="+busNum

        response = requests.get(url)
        data = json.loads(response.text)

        if data['data']['message']=="Successful." and data['data']['busline_list']:
            buslists = data['data']['busline_list']
            buslist = buslists[0]
            buslines = BusLines(buslist)
            files = open('./公交线路' + busNum + '.txt','w')
            for i in range(len(buslines)):
                files.writelines(buslines[i]+'\n')
            files.close()

 

结果

利用高德API获取公交线路点并可视化_第1张图片

 

ArcGIS可视化

      菜单栏【文件】-【添加数据】-【添加XY数据】

利用高德API获取公交线路点并可视化_第2张图片

      工具箱【数据管理工具】-【要素】-【点集转线】

利用高德API获取公交线路点并可视化_第3张图片

      最终结果

利用高德API获取公交线路点并可视化_第4张图片

你可能感兴趣的:(GIS)