AI・機械学習
Geosql: 地理空間データのためのClaude/Codexスキル
Geosql: A Claude/Codex skill for geospatial data (github.com)
要約
GeoSQLは、PostGIS、BigQuery、Snowflakeなどの地理空間データを扱うデータサイエンティストやアナリスト向けのClaude/Codexスキルです。ローカルまたはセルフホストで動作し、AIモデルと連携して地理空間タスクを効率化します。特に、地図を介したフィードバックループにより、従来のテキストベースのAIよりも4倍の精度向上を実現します。
全文翻訳
GeoSQL Claude、Codex、およびGitHub Copilotは、PostGIS、BigQuery、Snowflake、Wherobotsで地理空間データを扱うデータサイエンティストやアナリスト向けのスキルです。
注: SaaSアカウントは不要です。100%ローカルまたはセルフホストで動作します。地図をループに組み込むことで、地理空間タスクのパフォーマンスが4倍向上します。
Pythonによるクイックスタート(インタラクティブモード):
pip install geosql && geosql
サポートされているエージェントに直接インストール:
geosql install claude
geosql install codex
geosql install copilot
またはClaude Code内:
/plugin marketplace add dekart-xyz/geosql
/plugin install geosql
geosql install copilot の後、VS Code CopilotまたはCopilot CLIで次のようなプロンプトを使用してGeoSQLを使用します:
/geosql 主要道路沿いのEV充電ステーションの密度を表示し、地図をレンダリングします
地図のレンダリングとPostGISサポートのためにDekartをインストールします
GeoSQLはオプションでDekartを使用します。Dekartは、PostGIS、BigQuery、Snowflake用のコネクタを備えたオープンソースのKepler.glバックエンドです。Dekartは、1つのdockerコマンドでローカル実行したり、独自のインフラストラクチャ上でセルフホストしたり、Dekart Cloudを使用したりできます。
Dekartをローカルで実行します(Dekart Cloudを使用する場合はこのステップをスキップしてください):
docker run -p 8080:8080 dekartxyz/dekart
Dekart CLIをインストールします:
pip install dekart && dekart init
CLIとdekartのプロンプトに従って、PostGIS、BigQuery、Snowflake、またはWherobotsデータベースを接続します。
エージェントで試すプロンプトの例:
不動産分析: /geosql オタワで学校へのアクセスが低い建物を表示し、地図としてレンダリングします
立地選定: /geosql POIの共存と最寄りの競合他社からの距離に基づいて、シアトルでスポーツ用品店に最適なトップ10の場所を見つけます。地図を作成します。
EV充電インフラストラクチャ: /geosql ルーマニアの主要道路沿いのEV充電ステーションの密度を示す地図を作成し、各高速道路、幹線道路、または主要道路セグメントから5km以内にある充電ステーションの数を示します。
仕組み
GeoSQLは、地図を組み込んだエージェントループを実行します。
発見: スキルはスキーマを推測するのではなく、ウェアハウスのメタデータ(テーブル、列、タイプ)を探索します。BigQueryとSnowflake上のOverture Maps共有、およびPostGIS、BigQuery、Snowflake、Wherobots上のプライベートテーブルと連携します。
SQL: エージェントは、エンジンに適した関数(ST_INTERSECTS、ST_DISTANCE、H3、パーティションプルーニングのためのbboxオーバーラップなど)を使用して空間SQLを記述します。
コストチェック: BigQueryでは、すべてのクエリはスキャンされるバイト数を推定するために最初にドライランされます。デフォルトで10 GiBの請求上限が適用されます。予算超過クエリは実行されるのではなく、より安価に(よりタイトなbbox、より低いH3解像度、より多くのフィルターで)書き直されます。
ジオメトリ検証: エージェントは、合計面積(ポリゴン)または合計長さ(ライン)を健全性チェックとして計算し、ドメイン知識と照合します。
地図フィードバック: 利用可能な場合、エージェントはDekartを通じて結果をレンダリングし、レンダリングされた画像を見て、テキストのみのループでは見逃すようなジオメトリの間違いを修正します。これが4倍の改善をもたらすループです。
スキルはローカルCLI認証(bq、snow、dekart)を使用するため、ウェアハウスの認証情報はエージェントに送信されません。
ベンチマーク
GeoSQLは、evals/の下に再現可能な評価スイートを提供します。各ケースは、「エージェントが回答したか」だけでなく、特定の動作(コストガードレール、検証ステップ、正しい結果)をアサートします。現在のスイートでの結果:
ケース アサーション 合格率
london-boroughs 4 100%
berlin-create-map 3 100%
paris-boundaries 1 100%
合計 8 100%
平均: ターンあたり3,085トークン、ターンあたり72秒。
上記の4倍改善チャートは、地図なしループステップと地図ありループステップで同じタスクセットを比較したものです。地図がない場合、エージェントのテキストのみの検証では、ジオメトリクラスのエラー(近隣ポリゴンをメトロエリアの境界線と間違える、重複するフィーチャを二重にカウントする、座標参照システムで間違った結合キーを選択するなど)を見逃します。レンダリングされた地図をツールコールとして追加することで、エージェントはこれらの間違いを見て自己修正できます。
スイートを自分で実行します: python evals/run.py セットアップと新しいケースの追加方法については、evals/RUNBOOK.mdを参照してください。新しい評価を含むPRを歓迎します。