Geosql 为 Claude/Codex 提供地理空间数据分析能力,对地图/GIS 相关开发的程序员有直接参考价值。
为数据科学家和分析师打造的 Claude、Codex 和 GitHub Copilot skill,用于处理 PostGIS、BigQuery、Snowflake 和 Wherobots 上的地理空间数据。
注:无需 SaaS 账户。100% 本地或自托管运行。
地理空间任务性能提升 4 倍,地图在循环中。
使用 Python(交互模式):
pip install geosql && geosql
GeoSQL 首先将 skill 安装到你检测到的 agent 中。然后检查可选的 Dekart CLI 是否就绪,仅在需要时询问是否安装或初始化。提示会显示确切的命令,并默认推荐安装选项。
安装后,像这样提示你的 agent:
/geosql Show EV charger density along major roads and render a map
可选:使用 Dekart 的地图和数据库连接
GeoSQL 可以使用 Dekart,这样你的 agent 就能渲染地图、读回地图以修正几何问题,并连接到 PostGIS、BigQuery、Snowflake 或 Wherobots。
成功安装后,GeoSQL 提供设置 Dekart 的选项:
安装 Dekart CLI(推荐)运行 pip install 和 dekart init。已安装配置好了?GeoSQL 会检测到并跳过。
暂不安装(或按 Escape / Ctrl+C / 在非交互式终端中)会保持 GeoSQL 安装状态,并打印以后使用的命令:
python -m pip install dekart
dekart init
dekart init 连接到 Dekart Cloud(无需 Docker),或指向本地或自托管实例。
GeoSQL 发送尽力而为的版本检查,包含其包版本和不透明的随机安装 ID。GeoSQL 和 Dekart CLI 在 ${XDG_CONFIG_HOME:-~/.config}/dekart/installation_id 共享该 ID;删除该文件会重置它。在创建 ID 之前设置 DO_NOT_TRACK=1(或 DNT=1)以禁用版本检查。CI 会发送保留的非持久化测试 ID。
/geosql Show buildings with low school accessibility in Ottawa, render as a map
/geosql Find the top 10 locations for Sporting Goods Store in Seattle based on POI co-location and distance to the nearest competitor. Create a map.
/geosql create map EV charger density along major Romanian roads, highlighting how many charging stations are within 5 km of each motorway, trunk, or primary road segment.
该 skill 探索你的数据仓库元数据(表、列、类型),而不是猜测 schema。适用于 BigQuery 和 Snowflake 上的 Overture Maps 共享数据,以及你在 PostGIS、BigQuery、Snowflake 或 Wherobots 上的私有表。
agent 使用你的引擎特定的函数(ST_INTERSECTS、ST_DISTANCE、H3、用于分区剪枝的 bbox 重叠等)编写空间 SQL。
在 BigQuery 上,每个查询都会先进行干运行以估计扫描的字节数。默认强制执行 10 GiB 的账单上限。超出预算的查询会被重写为更便宜的版本(更紧的 bbox、更低的 H3 分辨率、更多过滤器),而不是直接执行。
agent 计算总面积(多边形)或总长度(线)作为健全性检查,并与领域知识交叉验证。
如果可用,agent 会通过 Dekart 渲染结果,查看渲染后的图像,并纠正仅文本循环会遗漏的几何错误。这是获得 4 倍改进的循环。
该 skill 使用你本地的 CLI 认证(bq、snow、dekart),因此数据仓库凭证永远不会发送给 agent。
GeoSQL 附带一个可重现的评估套件 evals/ 目录下。每个用例声明特定的行为(成本护栏、验证步骤、正确结果),而不仅仅是"agent 是否回答了"。
平均:每轮 3,085 tokens,每轮 72 秒耗时。
上面的 4 倍改进图表比较了有地图循环和无地图循环的相同任务集。没有地图时,agent 仅文本验证会遗漏几何类错误(将邻域多边形误认为城市区域周边、重复计算重叠特征、在坐标参考系上选择错误的 join 键)。将渲染地图添加为工具调用后,agent 能看到这些错误并自我纠正。
自己运行套件:
python evals/run.py
参见 evals/RUNBOOK.md 了解设置以及如何添加新用例。欢迎提交包含新评估的 PR。