원클릭으로
transbigdata-grid
使用 TransBigData 库进行地理数据栅格化处理。适用于将GPS轨迹数据映射到栅格、生成矩形/三角形/六边形栅格、Geohash编码、栅格参数优化等空间数据分析任务。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
使用 TransBigData 库进行地理数据栅格化处理。适用于将GPS轨迹数据映射到栅格、生成矩形/三角形/六边形栅格、Geohash编码、栅格参数优化等空间数据分析任务。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
TransBigData 交通时空大数据分析工具集。适用于轨迹数据栅格化、轨迹清洗处理、出租车OD提取、公交地铁网络分析、坐标转换、数据可视化等交通大数据分析任务。
使用 TransBigData 进行坐标系转换和距离计算。适用于 WGS84、GCJ02、BD09 坐标系互转,以及两点间距离计算。
使用 TransBigData 获取公共交通和地理数据。适用于获取公交线路站点、行政区划边界、等时圈分析等任务。
使用 TransBigData 构建公交地铁网络拓扑和路径分析。适用于地铁网络建模、最短路径查询、换乘分析、公交 GPS 到站识别等任务。
使用 TransBigData 进行数据预处理与质量评估。适用于数据质量检查、采样间隔分析、边界过滤、ID重编号等任务。
使用 TransBigData 处理出租车 GPS 数据。适用于出租车状态清洗、OD 提取、载客/空驶轨迹分离等任务。
| name | transbigdata-grid |
| description | 使用 TransBigData 库进行地理数据栅格化处理。适用于将GPS轨迹数据映射到栅格、生成矩形/三角形/六边形栅格、Geohash编码、栅格参数优化等空间数据分析任务。 |
TransBigData 是一个用于交通时空大数据处理的 Python 库。本 skill 指导如何使用其栅格化功能。
pip install transbigdata
推荐使用方形栅格(矩形栅格),常用精度:
accuracy=500 - 适合城市级别分析,平衡精度与计算效率accuracy=1000 - 适合区域级别分析,数据量较小时使用import transbigdata as tbd
# 500米方形栅格(默认推荐)
params = tbd.area_to_params(bounds, accuracy=500)
# 1公里方形栅格
params = tbd.area_to_params(bounds, accuracy=1000)
栅格化将连续的地理空间划分为离散的网格单元,便于数据聚合和分析。TransBigData 支持三种栅格类型:
area_to_params()根据研究区域生成栅格化参数。
import transbigdata as tbd
# 从边界框生成参数
bounds = [lon_min, lat_min, lon_max, lat_max]
params = tbd.area_to_params(bounds, accuracy=500) # 500米精度
# 从 GeoDataFrame 生成参数
params = tbd.area_to_params(gdf, accuracy=500, method='rect')
参数说明:
location: 边界框 [lon_min, lat_min, lon_max, lat_max] 或 GeoDataFrameaccuracy: 栅格大小(米)method: 'rect'(矩形)、'tri'(三角形)、'hexa'(六边形)返回值: 栅格参数字典或列表
area_to_grid()在指定区域内生成栅格几何对象。
# 生成矩形栅格
grid, params = tbd.area_to_grid(bounds, accuracy=500, method='rect')
# 生成六边形栅格
grid, params = tbd.area_to_grid(gdf, accuracy=500, method='hexa')
返回值: (GeoDataFrame 栅格, 栅格参数)
GPS_to_grid()将经纬度坐标匹配到栅格ID。
# 矩形栅格:返回 LONCOL, LATCOL
data['LONCOL'], data['LATCOL'] = tbd.GPS_to_grid(
data['longitude'],
data['latitude'],
params
)
# 三角形/六边形栅格:返回单一索引
data['grid_id'] = tbd.GPS_to_grid(
data['longitude'],
data['latitude'],
params
)
grid_to_centre()根据栅格ID获取栅格中心坐标。
# 矩形栅格
data['HBLON'], data['HBLAT'] = tbd.grid_to_centre(
[data['LONCOL'], data['LATCOL']],
params
)
# 三角形/六边形栅格
data['HBLON'], data['HBLAT'] = tbd.grid_to_centre(
data['grid_id'],
params
)
grid_to_polygon()根据栅格ID生成几何多边形。
# 矩形栅格
data['geometry'] = tbd.grid_to_polygon(
[data['LONCOL'], data['LATCOL']],
params
)
# 创建 GeoDataFrame
import geopandas as gpd
grid_gdf = gpd.GeoDataFrame(data, geometry='geometry', crs='EPSG:4326')
grid_to_area()将栅格数据映射到行政区域等地理多边形。
result = tbd.grid_to_area(grid_data, area_gdf, params)
grid_params_optimize()优化栅格参数以提高数据分析质量。
optimized_params = tbd.grid_params_optimize(
trajectory_data,
params,
method='centerdist' # 或 'gini', 'gridscount'
)
优化方法:
centerdist: 最小化点到栅格中心的距离gini: 优化数据分布均匀性gridscount: 优化栅格数量geohash_encode()data['geohash'] = tbd.geohash_encode(
data['longitude'],
data['latitude'],
precision=6 # 精度级别 1-12
)
geohash_decode()data['lon'], data['lat'] = tbd.geohash_decode(data['geohash'])
geohash_togrid()data['geometry'] = tbd.geohash_togrid(data['geohash'])
import pandas as pd
import geopandas as gpd
import transbigdata as tbd
# 1. 加载数据
data = pd.read_csv('taxi_data.csv')
# 2. 定义研究区域边界
bounds = [113.75, 22.4, 114.62, 22.86] # 深圳市范围
# 3. 生成栅格参数(500米精度)
params = tbd.area_to_params(bounds, accuracy=500)
# 4. 将GPS点映射到栅格
data['LONCOL'], data['LATCOL'] = tbd.GPS_to_grid(
data['longitude'],
data['latitude'],
params
)
# 5. 按栅格聚合数据
grid_agg = data.groupby(['LONCOL', 'LATCOL']).size().reset_index(name='count')
# 6. 生成栅格几何
grid_agg['geometry'] = tbd.grid_to_polygon(
[grid_agg['LONCOL'], grid_agg['LATCOL']],
params
)
# 7. 创建 GeoDataFrame 并可视化
grid_gdf = gpd.GeoDataFrame(grid_agg, geometry='geometry', crs='EPSG:4326')
grid_gdf.plot(column='count', cmap='hot', legend=True)
grid_params_optimize() 优化参数Q: 如何选择 Geohash 精度? A: 精度越高越精确但字符串越长。常用精度:
Q: 栅格参数可以复用吗?
A: 可以。使用 grid_to_params() 从已有栅格数据重新生成参数。
完整文档: https://transbigdata.readthedocs.io/en/latest/grids.html