GeoSQL
教 Claude/Codex/Copilot 在 BigQuery、Snowflake、PostGIS、Wherobots 上写成本安全的地理空间 SQL,并通过 Dekart 渲染地图、让 agent 看图自纠几何错误(map-in-the-loop,官方基准 4x 提升)。
仓库:dekart-xyz/geosql
热度证据:HN 帖『Geosql: A Claude/Codex skill for geospatial data』139 分(2026-07-08);GitHub 590 星,地理空间圈转发
五维评分
热度4/5
质量5/5
创新5/5
易用4/5
文档5/5
优秀点拆解
- 成本护栏前置为强制工作流步骤:bbox 扫描门 + BigQuery dry-run 成本检查 + 10 GiB 计费上限,超预算强制改写为更便宜的查询而非执行
- map-in-the-loop 视觉闭环:agent 通过 dekart snapshot 渲染 PNG 并亲自看图,修正纯文本验证发现不了的几何级错误(多边形边界错、重叠计数、坐标系 join key),README 以 4x 提升基准量化验证
- 方言差异用「主文档路由 + 每引擎 reference」分层吸收:SKILL.md 只写通用 5 步流程,BigQuery/Snowflake/PostGIS/Wherobots 的 SQL 示例、CLI 参数、坑各自成文,按需加载不膨胀
- eval 断言到行为而非答案:evals.json 用可执行条件断言(dry-run 先于执行、总面积 ±2%、snapshot 非空),当前 8 断言 100% 通过,支持 same-session/isolated 双评分防自评偏差
- 安装器工程化:pip install + geosql 一键装进 claude/codex/copilot/opencode,交互式终端才引导安装、非交互只打印命令,绝不自动装软件,遥测可 DO_NOT_TRACK 关闭
可复用的设计模式
- 五步强制工作流 + 未走完禁止输出的流程门禁(discover schema → resolve area → draft → validate → map)
- 先 dry-run 估成本、超限改写而非执行的安全/成本护栏模式
- 主文档只放通用流程与路由表、具体方言下沉 references/ 的按需加载分层
- eval 断言写成数值可验的行为条件 + exit code 让 CI 可接
适用场景
选址分析:基于 POI 共现与最近竞对距离找 top N 门店位置并出图基础设施密度分析:EV 充电桩沿主干道 5km 缓冲密度统计并渲染地图行政区边界提取与面积验证:Overture division_area 解析伦敦/巴黎/柏林边界并校验总面积私有空间表分析:用户自己的 PostGIS 表做地理聚合(H3 网格密度)
边界与注意:需要真实数据仓库账号(BigQuery/Snowflake/Postgres/Wherobots 之一);地图闭环强依赖 Dekart(cloud 或自托管);Wherobots 与 Postgres 无本地 CLI fallback 只能走 Dekart connector;安装器不自动装软件,全自动环境会停在交互确认;无 Overture 生态时需用户提供边界源。
完整拆解分析文档
本页为摘要版,完整精读分析(核心机制、逐条优秀点拆解、写作过程)见本地 Markdown 文档:
analysis/geosql-skill.md