用途:该技能用于在 CARTO 中构建区域规划工作流,解决两类相关空间优化问题——把研究区域划分为均衡的区域(如销售区域、服务分区),以及寻找最优设施位置(最大化覆盖或最小化成本)。
前置条件:需先加载 carto-create-workflow 了解开发流程、JSON 结构与校验方式,覆盖 MCP 服务器的工作流工具(create_workflow、validate_workflow、run_workflow)与 carto workflows CLI 两条路径。两个组件都需要在连接上安装 Territory Planning 扩展包,否则校验会失败。
区域均衡流水线:源数据(点)→ 空间索引 → 按网格聚合 → 区域均衡 → 保存。用 native.gettablebyname 加载点数据,用 native.h3frompoint 或 native.quadbinfromgeopoint 分配网格单元,用 native.groupby 按索引列聚合成每格一行,再用 native.territorybalancing 设置 index_column、demand_column、可选的 similarity_feats、npartitions、keep_input_columns,最后用 native.saveastable 保存。城市级分析常用 H3 分辨率 8-9。
选址分配流水线:需求数据(网格/点)→ 候选位置 → 选址分配 → 保存。分别用 native.gettablebyname 加载需求与候选,用 native.wheresimplified 或 native.limit 过滤候选以减少计算量。最大化覆盖使用 native.locallocallocation_maximizecoverage(参数含 demand、demand_index_column、demand_column、candidates、candidates_index_column、nfacilities、coverageradius);最小化总成本使用 native.locallocallocation_minimizetotalcost,参数相同但无 coverageradius。
限制与注意:Snowflake 中未加引号标识符为大写,需引用为 H3、GEOM_COUNT 等;Territory Planning 扩展包非默认提供,必须已安装;候选位置过多时计算昂贵,数百个可能变慢、数千个可能超时;覆盖半径单位取决于空间参考系,使用 geography 时通常为米;区域均衡在空间连续性与均衡度间折中,不保证完全相等;网格分辨率会显著影响结果;需求数据必须覆盖研究区域,缺口区域对优化器不可见,可用 polyfill 加 COALESCE(value, 0) 补全。
常见变体:销售区域均衡、服务分区设计、仓库选址、应急响应枢纽、零售网络扩张,以及先选址分配再区域均衡的组合流程。资料未提供具体收费、价格或平台支持细节。