name: transbigdata description: TransBigData 交通时空大数据分析工具集。适用于轨迹数据栅格化、轨迹清洗处理、出租车OD提取、公交地铁网络分析、坐标转换、数据可视化等交通大数据分析任务。
TransBigData 交通时空大数据分析
TransBigData 是一个用于交通时空大数据处理、分析与可视化的 Python 库。本插件提供了完整的使用指南。
安装
pip install transbigdata
功能模块
根据你的任务选择对应的模块:
| 模块 | 适用场景 | 调用命令 |
|---|---|---|
| 栅格化 | GPS点映射到栅格、生成方形/六边形栅格、Geohash编码 | /transbigdata:transbigdata-grid |
| 轨迹处理 | 轨迹清洗(漂移、冗余)、平滑、分段、停留识别、路网匹配 | /transbigdata:transbigdata-traj |
| 数据预处理 | 数据质量检查、采样间隔分析、边界过滤、ID重编号 | /transbigdata:transbigdata-preprocess |
| 出租车分析 | 出租车状态清洗、OD提取、载客/空驶轨迹分离 | /transbigdata:transbigdata-taxi |
| 可视化 | 热力图、轨迹动画、OD流向图、底图加载 | /transbigdata:transbigdata-visualize |
| 坐标转换 | WGS84/GCJ02/BD09互转、距离计算 | /transbigdata:transbigdata-coordinates |
| 公交地铁 | 地铁网络建模、最短路径、换乘分析、公交到站识别 | /transbigdata:transbigdata-metroline |
| 数据获取 | 获取公交线路站点、行政区划、等时圈 | /transbigdata:transbigdata-getdata |
快速开始
典型工作流:出租车数据分析
import pandas as pd
import transbigdata as tbd
# 1. 加载数据
data = pd.read_csv('taxi_gps.csv')
data['Time'] = pd.to_datetime(data['Time'])
# 2. 数据预处理(参考 transbigdata-preprocess)
bounds = [113.75, 22.4, 114.62, 22.86] # 深圳范围
data = tbd.clean_outofbounds(data, bounds=bounds, col=['Lng', 'Lat'])
# 3. 轨迹清洗(参考 transbigdata-traj)
data = tbd.traj_clean_redundant(data, col=['VehicleNum', 'Time', 'Lng', 'Lat'])
data = tbd.traj_clean_drift(data, col=['VehicleNum', 'Time', 'Lng', 'Lat'])
# 4. OD提取(参考 transbigdata-taxi)
od_data = tbd.taxigps_to_od(data, col=['VehicleNum', 'Time', 'Lng', 'Lat', 'OpenStatus'])
# 5. 栅格化分析(参考 transbigdata-grid)
params = tbd.area_to_params(bounds, accuracy=500) # 500米栅格
od_data['LONCOL'], od_data['LATCOL'] = tbd.GPS_to_grid(od_data['slon'], od_data['slat'], params)
# 6. 可视化(参考 transbigdata-visualize)
import geopandas as gpd
grid_count = od_data.groupby(['LONCOL', 'LATCOL']).size().reset_index(name='count')
grid_count['geometry'] = tbd.grid_to_polygon([grid_count['LONCOL'], grid_count['LATCOL']], params)
gdf = gpd.GeoDataFrame(grid_count, geometry='geometry', crs='EPSG:4326')
gdf.plot(column='count', cmap='YlOrRd', legend=True)
常用默认配置
- 栅格精度: 500米(城市级)或 1公里(区域级)
- 栅格类型: 方形栅格(
method='rect') - 停留判定: 1800秒(30分钟)
- 漂移清洗: 速度上限 80-100 km/h
使用建议
- 新手入门: 从
transbigdata-grid(栅格化)开始,这是最核心的功能 - 数据清洗: 先用
transbigdata-preprocess检查数据质量,再用transbigdata-traj清洗 - 出租车分析: 按顺序使用 预处理 → 轨迹清洗 → OD提取 → 栅格化 → 可视化
- 坐标问题: 如果数据来自高德/百度地图,先用
transbigdata-coordinates转换坐标