以下是关于 TransBigData 的教程指南,结合搜索到的信息整理而成,帮助您快速上手这一交通时空大数据处理工具:
1. 安装TransBigData
通过 pip
或 conda
安装:
pip install -U transbigdata
注意:安装前需确保已安装 geopandas
包。若遇到依赖问题,可参考社区(如优快云)提供的解决方案。
2. 核心功能与使用示例
2.1 数据预处理
示例:清洗出租车GPS数据
import pandas as pd
import transbigdata as tbd
# 读取数据
data = pd.read_csv('TaxiData-Sample.csv', header=None)
data.columns = ['VehicleNum', 'time', 'lon', 'lat', 'OpenStatus', 'Speed']
# 剔除研究范围外的数据
bounds = (113.75, 22.4, 114.62, 22.86)
data = tbd.clean_outofshape(data, bounds=bounds, col=['lon', 'lat'], accuracy=500)
# 剔除异常状态记录(如载客状态突变)
data = tbd.clean_taxi_status(data, col=['VehicleNum', 'time', 'OpenStatus'])
2.2 数据栅格化
步骤:定义栅格参数 → 映射数据 → 聚合统计
# 定义栅格参数
params = tbd.area_to_params(bounds, accuracy=1000)
# 将GPS点映射到栅格
data['LONCOL'], data['LATCOL'] = tbd.GPS_to_grids(data['lon'], data['lat'], params)
# 统计栅格内数据量并可视化
grid_agg = data.groupby(['LONCOL', 'LATCOL']).size().reset_index(name='count')
grid_agg['geometry'] = tbd.grid_to_polygon(grid_agg[['LONCOL', 'LATCOL']], params)
grid_gdf = gpd.GeoDataFrame(grid_agg)
grid_gdf.plot(column='count', cmap='autumn_r')
2.3 从GPS数据提取OD(起讫点)
示例:出租车订单起讫点提取
# 提取OD数据
od_data = tbd.taxi_gps_to_od(data, col=['VehicleNum', 'time', 'lon', 'lat', 'OpenStatus'])
# 栅格化OD并统计
od_gdf = tbd.odagg_grid(od_data, params)
od_gdf.plot(column='count') # 可视化OD分布
2.4 数据可视化
利用 keplergl
在Jupyter中交互式展示:
# 可视化轨迹
tbd.plot_plot(data, col=['lon', 'lat'], zoom=12, height=600)
# 可视化OD热力图
tbd.plot_od(od_gdf, col=['count'])
3. 官方资源推荐
-
官方文档
TransBigData Documentation:包含完整API说明与示例。 -
GitHub仓库
ni1o1/transbigdata:获取最新代码与示例数据集。 -
实战教程
- 优快云博客:出租车GPS处理
- 交通大数据分析课程:系统学习时空数据分析方法。
4. 常见问题
- 安装问题:若安装失败,尝试先安装
geopandas
或使用conda install -c conda-forge transbigdata
。 - 坐标转换:支持GCJ-02、BD-09等坐标系转换,使用
tbd.gcj02_to_wgs84()
等方法。 - 性能优化:大数据处理时建议分块处理或启用并行计算。
如需进一步帮助,可参考官方文档或社区讨论。