You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 04:49:59