SQL クエリから GIS データを可視化するには?
クエリのジオメトリをグリッド横の地図で見られ、テキストを別プログラムへコピーする必要はありません。範囲を描いて、ポリゴンを SQL に戻せます。
結果の POLYGON や POINT は、ほとんどテキストで出ます。WKT、EWKT、GeoJSON はセルに収まるので、普通はコピーして QGIS に貼るか、ブラウザーのビューアーを開きます。
クエリは SQL クライアントに残り、地図は別のプログラムにあります。描いた範囲はエディターに戻りません。
Kerry Studio は、そのジオメトリをグリッドの横に描きます。地図 ボタンで OpenStreetMap 上に分割が開きます。WKT、EWKT、GeoJSON のテキスト列があれば足ります。ネイティブ列(geometry、SDO_GEOMETRY、POINT など)は、エンジンの空間サポートが要ります。
範囲を見てポリゴンを描き、その SQL をエディターへ戻せます。別のプログラムへ移る必要はありません。
地図の開き方
開いた workspace、接続済みの SQL タブ、ジオメトリのある結果が必要です。空間列がなく、セルにもジオメトリがなければ、地図 ボタンは出ません。
- 空間列、WKT、EWKT、GeoJSON を返す
SELECTを実行します。 - 結果パネルで 地図 をクリックします。
- グリッドと地図が並びます。分割をドラッグすると、地図側を広げられます。拡大アイコンは地図を重ねウィンドウで開きます。地図を閉じる はスペース全部をグリッドに戻します。
パレット(⌘K / CtrlK)→ 結果マップの表示を切り替え も同じです。分割は勝手に開きません。開いたままにすると、タブが覚えます。
ジオメトリのセルでは、地図で表示 がその値だけを地図にします。JSON ボタンと同じです。
地図に表示されるもの
結果のジオメトリ列ごとに色が付きます。点と面は別のパレットです。凡例は列名、SELECT にエイリアスがあればそれを使います。SELECT が i.location AS home と z.geom AS flood なら、凡例は home と flood です。JOIN は SQL のままです。地図は、すでに結果に来たものだけを塗ります。
ピンをクリックすると、その列名をタイトルにしたカードが開き、行のほかの値が並びます。ジオメトリはカードに入りません。
全体を表示 は、結果のすべてのジオメトリを枠に入れます。地図を初めて開くとき、この枠はすでに掛かっています。経度と緯度を入れ替え は描画だけを変えます。グリッドの値は、データベースが返したもののままです。
描いてポリゴンを SQL に戻す
ラッソ、長方形、楕円 は地図上に描きます。既定のツールは 選択 です。ポリゴンを SQL に貼る は、エディターのカーソルへ、選んだポリゴンを入れます。何も選んでいなければ、描画のすべてです。1 つなら POLYGON になります。複数なら、タブの方言の空間和になります。
PostgreSQL と MySQL では Kerry は ST_GeomFromText を貼ります。Oracle では SDO_GEOMETRY、SQLite では GeomFromText です。この SQL はエンジンの空間関数を要します。ST_Intersects は、タブのエンジンの SQL のままです。
測量 は各ポリゴンの大きさを、選んだ単位で出します。m²、ha、km² です。結合 は選択をグループにし、和を塗ります。クエリのジオメトリと描画を結合できます。
地図をエクスポート メニューは PNG、SVG、WebP、GeoJSON を保存します。印刷 は同じスイッチを使います。
データベースごとに必要なもの
Kerry は空間拡張を代わりに入れません。セルにすでに返ってきた WKT、EWKT、GeoJSON は、拡張がなくても描きます。
PostgreSQL。 PostGIS 拡張が要ります。なくても、テーブル作成とテーブル変更には GEOMETRY と GEOGRAPHY が出て、Kerry はその型が PostGIS を要すると知らせます。PostgreSQL 本体では、CREATE EXTENSION postgis がデータベースに PostGIS を入れます。
MySQL と MariaDB。 空間型はネイティブです(GEOMETRY、POINT、POLYGON など)。追加の拡張はありません。
Oracle。 Locator または Spatial が要ります。データベースに SDO_GEOMETRY 型がなければ、Kerry はテーブル作成とテーブル変更で知らせます。
SQLite。 SpatiaLite が要ります。SQLite 接続の 拡張 で拡張ファイルを足し、接続時に読み込む をオンにします。
タブの 4 エンジン、PostgreSQL、MySQL/MariaDB、Oracle、SQLite で動きます。別プロジェクトの @プロジェクト.テーブル を含むクエリは、行をタブの接続へ実体化します。その先に GIS があれば、一時テーブルはネイティブの空間型です。なければ、ジオメトリは EWKT テキストになります。
各コントロールの説明は 結果の地図 にあります。