API获取交通计数存至Pandas DataFrame遇阻,求可行方案或替代API
解决路线车辆计数数据获取及Pandas存储问题
一、当前代码的核心问题
你调用的TomTom incidentDetails 接口仅用于获取**交通事件(事故、施工、管制等)**信息,并非路线车辆计数类数据,因此无法得到预期结果。
二、TomTom/HERE API的正确用法
1. TomTom 流量数据API
使用TomTom的Traffic Flow API(部分高精度计数数据需付费套餐支持),可获取路段流量密度、车速等指标,部分字段可推导或直接提取车辆计数:
import requests import pandas as pd import json apiKey = "你的API密钥" # 调用单路段流量数据接口,可根据需求调整为区域查询 url = f"https://api.tomtom.com/traffic/services/4/flowSegmentData/absolute/10/json?key={apiKey}&point=-35.8712,140.9106&unit=KMPH" response = requests.get(url) if response.status_code == 200: flow_data = json.loads(response.content) # 提取关键字段并转换为DataFrame df = pd.DataFrame([{ "路段ID": flow_data['flowSegmentData']['segmentId'], "当前流量密度": flow_data['flowSegmentData']['currentFlow'], "自由流密度": flow_data['flowSegmentData']['freeFlow'], "车辆计数估算": flow_data['flowSegmentData']['currentFlow'] * flow_data['flowSegmentData']['length'] / 1000 }]) print(df) else: print(f"请求失败,状态码:{response.status_code}")
2. HERE 交通流量数据API
HERE的Traffic Flow Data Service可返回区域内路段的实时流量数据,通过解析流量密度字段可估算车辆计数:
import requests import pandas as pd import json apiKey = "你的API密钥" # 按 bounding box 查询区域内流量数据 url = f"https://traffic.ls.hereapi.com/traffic/6.3/flow.json?apiKey={apiKey}&bbox=-35.8712,140.9106;-28.9024,153.5669" response = requests.get(url) if response.status_code == 200: flow_data = json.loads(response.content) segments = [] # 遍历解析所有路段数据 for road in flow_data['RWS'][0]['RW']: for flow_info_set in road['FIS']: for flow_info in flow_info_set['FI']: segments.append({ "路段名称": road['DE'], "当前车速": flow_info['SP']['value'], "流量密度": flow_info['JF']['value'], "车辆计数估算": flow_info['JF']['value'] * flow_info['SHP']['value']['length'] / 1000 }) df = pd.DataFrame(segments) print(df) else: print(f"请求失败,状态码:{response.status_code}")
三、替代API推荐
若TomTom/HERE无法满足需求,可尝试以下提供车辆计数类数据的API:
- Google Maps Traffic API:结合道路信息返回实时流量,可推导路段车辆计数(需付费)
- Mapbox Traffic API:提供路段流量、拥堵等级,部分套餐支持高精度计数指标
- OpenTraffic:开源交通流量平台,适合非商用或研究类场景
四、注意事项
- 多数API的车辆计数为估算值,需以官方文档定义为准
- 高精度流量/计数数据通常需付费套餐权限
- 数据解析逻辑需根据API返回的JSON结构动态调整
内容的提问来源于stack exchange,提问作者shi ft
相关产品推荐
相关产品推荐

