用途:在 laneweaverTMS 中构建地理围栏、空间查询、实时追踪与地图功能,适用于设施围栏、距离计算、围栏进出事件、ETA 与车队位置查询、地图前端(Mapbox、Leaflet)集成。
主要能力:区分 geography 与 geometry 类型,推荐用 geography 做真实距离计算;统一使用 SRID 4326,并注意 PostGIS 坐标顺序为(经度, 纬度);geofences 表设计含 boundary、radius_miles、geofence_type 等字段;用 ST_Buffer 生成圆形围栏、ST_GeomFromText 生成多边形围栏;为空间列建立 GIST 索引;常用查询包括 ST_Distance、ST_DWithin、ST_Contains、ST_Buffer;提供 check_geofence_entry 与 process_location_geofence 函数,基于 geofence_events 表记录 entry/exit/dwell 事件并计算停留分钟;提供基于直线距离与平均速度的 calculate_eta 函数;PGRouting 需道路网络表,资料提示生产环境可考虑 OSRM、Google Directions、Here 等外部路由 API 或预计算路距。
使用方式:按资料中的 SQL 迁移与函数定义执行建表、建索引与函数;空间查询需对地理字段做类型转换后调用。安装命令与官方文档暂未提供,实际落地依赖具体环境配置。
限制:PGRouting 部分为注释示例,需自行准备道路网络数据;ETA 为直线距离估算,非真实路网;不保证适用于所有数据库版本。