赞
踩
官方文档中给定的出租车数据在transbigdata/docs/source/gallery/data/TaxiData-Sample.csv at main · ni1o1/transbigdata (github.com)
- data=pd.read_csv('TaxiData-Sample.csv',names= ['VehicleNum', 'Time', 'Lng', 'Lat', 'OpenStatus', 'Speed'])
- data
- sz=gpd.read_file('sz.json')
- sz
sz.plot(figsize=(15,8))
- data = tbd.clean_outofshape(data, sz, col=['Lng', 'Lat'], accuracy=500)
- data
异常记录点,指的是记录点前后的出租车状态(有乘客/无乘客)和自己的出租车状态不一样
- data = tbd.clean_taxi_status(data, col=['VehicleNum', 'Time', 'OpenStatus'])
- data
官方样例是取了经纬度的四个极值,其实直接把sz作为参数输进去也可以
- params=tbd.area_to_params(sz,accuracy=500)
- params
- '''
- {'slon': 113.74627986426263,
- 'slat': 22.39928709355355,
- 'deltalon': 0.0048717524501333395,
- 'deltalat': 0.004496605206422906,
- 'theta': 0,
- 'method': 'rect',
- 'gridsize': 500}
- '''
这里LONCOL和LATCOL列就可以指定一个网格
- data['LONCOL'], data['LATCOL'] = tbd.GPS_to_grid(data['Lng'], data['Lat'], params)
- data
- dataset=data.groupby(['LONCOL', 'LATCOL'])['VehicleNum'].count().reset_index()
- dataset
- dataset['geometry'] = tbd.grid_to_polygon([dataset['LONCOL'], dataset['LATCOL']], params)
- dataset
- datatest=gpd.GeoDataFrame(dataset)
- plt.figure(1,(16, 6), dpi=300)
- #图的大小和size
- ax1 = plt.subplot(111)
- #在图形中创建了一个子图。111 表示图形布局是1行1列,且这是第1个子图。
- datatest.plot(ax=ax1,column='VehicleNum',legend=True)
- '''
- 在子图ax1上绘制数据。
- column='VehicleNum' 指定了要绘制的数据列。
- legend=True 表示在图表中包含图例。
- '''
- plt.xticks([], fontsize=10)
- plt.yticks([], fontsize=10)
- #设置x轴和y轴的刻度(为空)
- plt.title('Counting of Taxi GPS Trajectory Points', fontsize=12);
- #设置标题

geopandas 笔记:plot 的scheme-CSDN博客
- plt.figure(1,(16, 6), dpi=300)
- #图的大小和size
- ax1 = plt.subplot(111)
- #在图形中创建了一个子图。111 表示图形布局是1行1列,且这是第1个子图。
- datatest.plot(ax=ax1,column='VehicleNum',legend=True, scheme='quantiles')
- '''
- 在子图ax1上绘制数据。
- column='VehicleNum' 指定了要绘制的数据列。
- legend=True 表示在图表中包含图例。
- scheme指定数据分类方案
- '''
- plt.xticks([], fontsize=10)
- plt.yticks([], fontsize=10)
- #设置x轴和y轴的刻度(为空)
- plt.title('Counting of Taxi GPS Trajectory Points', fontsize=12);
- #设置标题

- oddata = tbd.taxigps_to_od(data,col = ['VehicleNum', 'Time', 'Lng', 'Lat', 'OpenStatus'])
- oddata
- od_gdf = tbd.odagg_grid(oddata, params)
- od_gdf
- fig = plt.figure(1, (16, 6), dpi=150)
- # 确定图形高为6,宽为8;图形清晰度
- ax1 = plt.subplot(111)
-
- od_gdf.plot(ax=ax1, column='count', legend=True)
- plt.xticks([], fontsize=10)
- plt.yticks([], fontsize=10)
- plt.title('OD Trips', fontsize=12);
- data_deliver, data_idle = tbd.taxigps_traj_point(data,
- oddata,
- col=['VehicleNum',
- 'Time',
- 'Lng',
- 'Lat',
- 'OpenStatus'])
返回载客行程和空闲行程的轨迹点
data_idle
data_deliver
注:官方文档里写的points_to_traj已经无了,现在是traj_to_linestring
- traj_deliver = tbd.traj_to_linestring(data_deliver)
- traj_deliver
tbd.visualization_trip(data_deliver)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。