一键导入
transbigdata-getdata
使用 TransBigData 获取公共交通和地理数据。适用于获取公交线路站点、行政区划边界、等时圈分析等任务。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
使用 TransBigData 获取公共交通和地理数据。适用于获取公交线路站点、行政区划边界、等时圈分析等任务。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | transbigdata-getdata |
| description | 使用 TransBigData 获取公共交通和地理数据。适用于获取公交线路站点、行政区划边界、等时圈分析等任务。 |
pip install transbigdata
部分功能需要地图 API 密钥:
import transbigdata as tbd
# 高德地图(用于获取行政区划、等时圈等)
# 在高德开放平台注册获取
# Mapbox(用于底图和等时圈)
tbd.set_mapboxtoken('your_mapbox_token')
getbusdata()获取中国城市的公交线路和站点数据。
# 获取深圳 M433 路公交数据
line, stop = tbd.getbusdata(
city='深圳',
keywords=['M433'],
accurate=True, # 精确匹配
timeout=20
)
# line: 线路 GeoDataFrame (WGS84)
# stop: 站点 GeoDataFrame (WGS84)
获取多条线路:
line, stop = tbd.getbusdata(
city='深圳',
keywords=['M433', '1', '2', '地铁1号线'],
accurate=False # 模糊匹配
)
getadmin()获取中国行政区划边界数据。
# 获取深圳市边界
admin, districts = tbd.getadmin(
keyword='深圳',
ak='your_amap_key', # 高德 API Key
jscode='your_jscode', # 高德安全密钥(可选)
subdistricts=True, # 是否获取下级区划
timeout=20
)
# admin: 行政区边界 GeoDataFrame (WGS84)
# districts: 下级区划信息 DataFrame
按行政代码获取:
admin, districts = tbd.getadmin(
keyword='440300', # 深圳市行政代码
ak='your_amap_key'
)
get_isochrone_amap()获取指定点的公交可达范围。
isochrone = tbd.get_isochrone_amap(
lon=114.05, # 起点经度 (WGS84)
lat=22.55, # 起点纬度 (WGS84)
reachtime=30, # 可达时间(分钟)
ak='your_amap_key',
mode=2, # 0=公交, 1=地铁, 2=公交+地铁
timeout=20
)
# 返回 GeoDataFrame
get_isochrone_mapbox()使用 Mapbox 获取等时圈(支持驾车/步行/骑行)。
# 先设置 token
tbd.set_mapboxtoken('your_mapbox_token')
isochrone = tbd.get_isochrone_mapbox(
lon=114.05,
lat=22.55,
reachtime=15, # 分钟
mode='driving', # 'driving', 'walking', 'cycling'
timeout=20
)
import matplotlib.pyplot as plt
import transbigdata as tbd
# 获取深圳地铁1号线数据
line, stop = tbd.getbusdata(
city='深圳',
keywords=['地铁1号线'],
accurate=True
)
# 可视化
fig, ax = plt.subplots(figsize=(12, 8))
bounds = line.total_bounds
bounds = [bounds[0]-0.05, bounds[1]-0.05, bounds[2]+0.05, bounds[3]+0.05]
tbd.plot_map(plt, bounds, zoom=12, style=4)
line.plot(ax=ax, color='blue', linewidth=3, label='线路')
stop.plot(ax=ax, color='red', markersize=50, label='站点')
plt.legend()
plt.title('深圳地铁1号线')
plt.show()
import pandas as pd
import geopandas as gpd
import transbigdata as tbd
# 获取深圳市及各区边界
admin, districts = tbd.getadmin(
keyword='深圳',
ak='your_amap_key',
subdistricts=True
)
# 获取各区边界
district_list = []
for _, row in districts.iterrows():
d, _ = tbd.getadmin(keyword=row['adcode'], ak='your_amap_key')
district_list.append(d)
districts_gdf = gpd.GeoDataFrame(
pd.concat(district_list, ignore_index=True),
crs='EPSG:4326'
)
# 在各区内生成 500 米栅格
grid, params = tbd.area_to_grid(admin, accuracy=500)
# 空间连接
grid_with_district = gpd.sjoin(grid, districts_gdf, how='left')
import matplotlib.pyplot as plt
import transbigdata as tbd
# 福田CBD位置
center_lon, center_lat = 114.05, 22.55
# 获取不同时间的等时圈
iso_15 = tbd.get_isochrone_amap(center_lon, center_lat, 15, ak='your_key', mode=2)
iso_30 = tbd.get_isochrone_amap(center_lon, center_lat, 30, ak='your_key', mode=2)
iso_45 = tbd.get_isochrone_amap(center_lon, center_lat, 45, ak='your_key', mode=2)
# 可视化
fig, ax = plt.subplots(figsize=(12, 10))
bounds = iso_45.total_bounds
bounds = [bounds[0]-0.05, bounds[1]-0.05, bounds[2]+0.05, bounds[3]+0.05]
tbd.plot_map(plt, bounds, zoom=11, style=4)
iso_45.plot(ax=ax, alpha=0.3, color='blue', label='45分钟')
iso_30.plot(ax=ax, alpha=0.4, color='green', label='30分钟')
iso_15.plot(ax=ax, alpha=0.5, color='red', label='15分钟')
ax.scatter([center_lon], [center_lat], c='black', s=100, zorder=5, label='起点')
plt.legend()
plt.title('公交等时圈分析')
plt.show()
tbd.set_mapboxtoken() 设置公交数据:
accurate=True 用于精确匹配特定线路accurate=False 用于批量获取相似线路行政区划:
等时圈:
请求频率:
完整文档: https://transbigdata.readthedocs.io/en/latest/getbusdata.html
TransBigData 交通时空大数据分析工具集。适用于轨迹数据栅格化、轨迹清洗处理、出租车OD提取、公交地铁网络分析、坐标转换、数据可视化等交通大数据分析任务。
使用 TransBigData 进行坐标系转换和距离计算。适用于 WGS84、GCJ02、BD09 坐标系互转,以及两点间距离计算。
使用 TransBigData 库进行地理数据栅格化处理。适用于将GPS轨迹数据映射到栅格、生成矩形/三角形/六边形栅格、Geohash编码、栅格参数优化等空间数据分析任务。
使用 TransBigData 构建公交地铁网络拓扑和路径分析。适用于地铁网络建模、最短路径查询、换乘分析、公交 GPS 到站识别等任务。
使用 TransBigData 进行数据预处理与质量评估。适用于数据质量检查、采样间隔分析、边界过滤、ID重编号等任务。
使用 TransBigData 处理出租车 GPS 数据。适用于出租车状态清洗、OD 提取、载客/空驶轨迹分离等任务。