tracc是一个开源的Python库,专注于城市交通可达性分析。它提供了一套功能强大的工具,能够帮助用户加载、处理和分析交通数据,从而评估不同地区的交通可达性情况。
这个库结合了土地利用数据(例如工作地点、人口、商店、医疗机构等的位置)和预先计算的交通成本(例如旅行时间、公共交通票价等),生成交通可达性指标。大部分工作通过操作pandas DataFrames来完成。目前的功能允许计算三种类型的可达性指标。它们包括:
潜在可达性指标:从一个位置可达到的机会总和,按其距离加权(例如,访问一个地区的就业机会,比如在45分钟的通勤中可以到达多少工作岗位)
被动可达性指标:能够访问一个位置的人口总和,按其距离加权(例如,访问一个地区的劳动力人口,比如有多少工人可以在30分钟内通勤到达一个地点)
最小旅行成本指标:到达X个机会的最小旅行成本(例如,到达最近的杂货店的旅行时间,或到达最近的3个图书馆的最小旅行时间)
该库还包括以下功能:
计划中的未来功能将包括竞争性(即浮动网格)的可达性测量。待办事项还包括创建适当的文档。请看下面基本用法和示例。
pip install tracc
在进行交通可达性分析之前,我们需要准备两类数据:目的地数据和交通成本数据。
目的地数据:这些数据描述了各个地区的特征,比如工作岗位数量、服务设施等。在我们的例子中,我们使用LEHD提供的波士顿市的工作岗位数据。
交通成本数据:这些数据反映了不同地区之间的交通成本,通常是通过交通工具的时间、距离等指标来衡量。在我们的例子中,我们使用了波士顿市不同区域间的公共交通时间矩阵。
# 加载目的地数据dfo = tracc.supply( supply_df=pd.read_csv("examples/test_data/boston/destination_employment_lehd.csv"), columns=["block_group_id", "C000"] # C000表示工作岗位总数)
# 加载交通成本数据dft = tracc.costs( pd.read_csv("examples/test_data/boston/transit_time_matrix_8am_30_06_2020.zip", compression='zip'))
dft.data.time = dft.data.time / 60 # 将时间从秒转换为分钟
dft.impedence_calc( cost_column="time",
impedence_func="cumulative",
impedence_func_params=45,
output_col_name="fCij_c45",
prune_output=False)
acc = tracc.accessibility(
travelcosts_df=dft.data,
supply_df=dfo.data,
travelcosts_ids=["o_block", "d_block"],
supply_ids="block_group_id")
dfa = acc.potential(opportunity="C000",
impedence="fCij_c45")
这是 dfa 的前五行(例如,从区块组 250056001001 出发,某人可以在 45 分钟的交通行程中到达 4,061 个工作岗位)
o_block A_C000_fCij_c45
---------------------------------
0 250056001001 4061.0
1 250056001002 3960.0
2 250056002021 3608.0
3 250056002022 7845.0
4 250056002023 5124.0
然后可以通过加入与这些位置相关的空间数据,在 Python、QGIS 或任何其他地图软件中绘制此结果。这是一个简单的例子:
通过以上步骤,我们可以得到在给定时间阈值下,各个区域的工作岗位可达性情况。这样的分析有助于城市规划者和政策制定者更好地了解城市交通格局,优化交通资源配置,提升公众的生活质量。
tracc库提供了一个便捷而强大的工具,帮助我们进行交通可达性分析,并能够根据不同的研究目的进行定制化的分析和可视化。希望本文能够为您理解和应用交通可达性分析提供帮助!