鋭意開発中 — h4ck1ng.scienceリアルタイム共同編集キャンバス地図に紐づくカーソルとプレゼンスPMTiles, COG, GeoParquet, GeoJSON, ZarrHTTPレンジリクエストで、置かれた場所のまま読むドロップで切り抜き。ベクタは絞り込み、ラスタはマスク測地線での計測と、貼り付けたメモ共有タイムラインとシーケンサーDuckDB-WASMで、ブラウザ内の空間SQLSPARQLレイヤー3DモードMCPとPythonエージェント、全プランで無料オフラインでも動く自分のサーバーで動かせるテレメトリなし

ドキュメント

はじめてのキャンバス

ここに書かれていることは、すべてブラウザのタブの中で起きます。アカウントも、インストールも、設定もいりません。だいたい五分で、部屋が開き、同僚が入り、地図にデータが載り、気になっているところを囲んだ図形が引けています。各手順には、パソコンでの操作とスマートフォンでの操作を分けて書いてあります。本当に違うからです。

キャンバスを開く 新しい部屋が開きます。このページの隣に並べて、読みながら手を動かしてください。

手順1

部屋を開く

こちらへ: canvas.driades.app。ボタンが二つある開始画面が出ます: 🌲 新しい公開ルームはリンクを知っている人なら誰でも開ける部屋を作り、🔒 プライベートワークスペースは自分だけのものにします。その下には、すでに動いている公開の部屋の一覧と、部屋のリンクを貼り付ける欄があります。どちらもアカウントは不要です。

ノートパソコンで見たDriadesの開始画面。「共同編集できる地理空間キャンバス」という見出し、「新しい公開の部屋」と「プライベートな作業場」のボタン、できることを説明する四枚のカード、そして動いている公開の部屋の一覧。 同じ開始画面をスマートフォンで。一列に積み上がっています
たどり着く場所を、ノートパソコンとスマートフォンで。押すのは新しい公開ルームから始める。

中に入ると、部屋の名前はアドレスの#。たとえば#driades-ba4580f7以降の部分です。これから行うことはすべてその部屋の中に残ります。描いたもの、メモ、レイヤー、タイムライン。

セッションごとの名前も与えられます。形容詞と木の組み合わせ、たとえばSwift Oakのように。色も一つ割り当てられます。共同作業する人たちが動いているのを見るのは、これです。

新しい部屋は衛星画像の上に開きます。まず、実際に地上にあるものから始められます。🗺という操作で背景を変えられ、その選択は部屋と共有されます。地形に切り替えれば、全員のキャンバスがついてきます。

手順2

誰かと共有する

押す:ルームを共有を部屋のパネルで押します。アドレス全体がクリップボードにコピーされます。誰にでも送ってください。開けばその部屋に入ります。承認する招待も、権限のダイアログもありません。はアクセスそのもの。

ノートパソコンで見たDriadesの部屋。左上に「部屋を共有」ボタンのある部屋パネル、右にGeoJSONレイヤーと不透明度スライダーのあるレイヤーパネル、下に時間のスライダー。
レイヤーが一つ載った部屋。ルームを共有は左上、レイヤーの重なりは右、タイムラインとツールバーは下辺に並びます。

パソコンでは

部屋のパネルは左上にあり、全員のアバターが並びます。アバターをクリックすると、その人と一緒に飛べます。自分の地図に触れるまで相手に追従し、触れた時点で追従は切れます。

スマートフォンでは

同じパネルがあり、最小化すれば画面を地図に返せます。指の位置はカーソルとして送られるので、ノートパソコンで見ている人にも、あなたがどこにいるか分かります。

人を相手に試す前に、ウィンドウ二つで試してみてください。コピーしたアドレスを別のウィンドウで開き、片方で図形をドラッグします。もう片方でも動きます。

手順3

動き回る

地図は画面いっぱいに広がるので、まず慣れておくとよいのは移動のしかたです。

そのためにはパソコンではスマートフォンでは
パン左ボタンでドラッグ1 本指でドラッグ
ズームホイール、またはダブルクリックピンチ、またはダブルタップ
回転右ドラッグ、または長押しCtrlを押しながらドラッグします。回転ボタンは一度に30°ずつ回り、コンパスを押すと北に戻ります二本指でひねります。北に戻すにはコンパスをタップ
傾けて 3D に同じく右ドラッグを上方向へ。あるいは3Dボタンから、強調のスライダーつきで二本指で画面を上へドラッグ
中を歩く🚶 歩くドラッグのかわりにゲーム風の操作になります: WASDで移動、QEで旋回、RFで上下、Shiftでダッシュ、Escで終了タッチ向けではありません。キーボードが要ります

回転と傾きが変えるのは自分の見え方だけです。ほかの人の地図は回りませんし、データそのものも動きません。レイヤーの不透明度を選ぶのと同じことです。

手順4

地図にデータを載せる

Driadesはクラウドネイティブな形式を、置かれた場所のまま読みます。たいていはHTTPレンジリクエストを数回だけ。ですから大陸規模のアーカイブでも、かかるのは画面に映るタイルの分くらいです。

パソコンでは

ファイルを地図にドラッグします。一つでも複数でも、テキストとしてドラッグしたURLでも構いません。ドロップ用の面が出るので、どこで放しても大丈夫です。

スマートフォンでは

使う:+ レイヤーを追加をレイヤーパネルで、または+ データセットを読み込む…をギャラリーで。スマートフォンにドラッグ&ドロップはないので、これはファイル選択を通した同じ操作です。

どちらの場合でも、あと二つの道がどこでも使えます:

  • URL を貼るの欄に入れます🗂にURLを入れてEnterを押します。URLで読み込んだレイヤーは部屋と共有されるので、全員が同じものを読み込みます。
  • この🌍カタログ。場所は+ レイヤーを追加: 選んだ公開データの棚です。国境、地域、都市、河川、湖。それぞれにサイズ、出所、ライセンスがついています。ひと押しで載ります。
  • この📚ギャラリーには、部屋の誰かが放り込んだファイルがすべて並びます。ピアツーピアで配られたものです。+マップを一つ、地図に載せます。

受け付ける形式: .pmtiles, .tifと.tiff(Cloud-Optimized GeoTIFF)、.parquetと.geoparquet, .geojsonと.json、ふつうの画像、そして.zarrをURLで。それ以外は、黙って載せるのではなく、メッセージを出して断ります。

切り抜くには、先に描く。範囲を描いてからファイルを落とすとをそのかたちに、レイヤーは切り抜かれた状態で届きます。ベクタは形に絞り込まれ、ラスタはポリゴンにピクセル単位でマスクされます。

手順5

レイヤーの重なり

この🗂は、画像編集ソフトでいうレイヤーの重なりです。各行に不透明度のスライダーと👁表示・非表示の切り替えがあり、行は並べ替えられます。その並び順が、地図で見えるものです。

パソコンでは

パネルは右側にあります。行を右クリックすると残りが出ます。名前の変更、そこへ移動、単独表示、削除。

スマートフォンでは

画面の右端からスワイプすると開きます。長押し行を半秒ほど押し続けると、右クリックと同じメニューが出ます。これはタッチでの同等物であって、簡略版ではありません。

追加したレイヤーは、その出どころごと部屋と共有されます。説明、クレジット、ライセンス、元のURLがレイヤーと一緒に運ばれるので、受け取った人にも自分が何を見ているのか分かります。

手順6

描く、注釈をつける、測る

ツールバーにあるのは✋ パン, ⬚ 選択, 📍 ポイント, 〰 ライン, ⬠ エリア, ▭ 矩形, ✏️ フリーハンドと📝 メモ。パソコンでは左側に縦に並び、スマートフォンでは下辺に固定されます。親指で押せる大きさの的で。

描いたものはすべて地図に紐づき、描いている最中から流れます。ほかの人には、完成した図形ではなく、形ができていく過程が見えます。付箋は座標に貼りつき、二人が同時に書き込めます。

計測するには計測するには、✋ パンを選んで図形をクリックまたはタップします。測地線での面積と周長がチップで出ます。名前をつければ、その名前は文書と一緒に運ばれます。

手順7

時間を行き来する

下辺のスライダーが、部屋の共有タイムラインです。● ライブはすべてを表示します。後ろへ引けば、その部屋の絵がどう組み上がってきたかをキャンバスが再生します。日付を持つデータ — 植栽年の入った樹木目録など — も、それに合わせて現れたり消えたりします。

問い合わせはSQLだけではありません。空間SQLはブラウザ内のDuckDBで、読み込んだレイヤーに対して走ります。そしてSPARQLはどのエンドポイントに対しても走ります。Wikidata、自前のストア、あるいは.reteどちらも結果をレイヤーとしてキャンバスに戻します。詳しくは.reteのグラフを扱う.

その隣に二つあります。🎞は、重ねた画像をパラパラ漫画、ブレンド、あるいはピクセルごとの本当の平均として再生します。下のバーを引き上げると出てくるのが時間チャンネル: 誰かと一つのタイムラインを一緒に編集するのか、相手のものを読み取り専用で追いかけるだけなのかを選べます。

スマートフォンで違うところ

簡略版ではありません。同じ部屋、同じ文書、同じ人たちです。変わるのは、そこへの手の届かせ方だけです:

同じ部屋をスマートフォンで。上に部屋パネルと「部屋を共有」、右端に丸いツールボタンが縦に並び、左下にライブのピル表示。
同じ部屋をスマートフォンで。ツールは右端に並ぶ丸いボタンになり、パネルは地図の横ではなく上に開きます。
  • ツールバーは下辺に固定され、押す的は44px。レイヤーパネルは邪魔にならないよう畳まれます。
  • 右端からスワイプレイヤー用、画面左端から。スワイプは端から32pxほどの範囲から始めたときだけ有効なので、画面の残りは地図のものであり続けます。
  • 長押し右クリックしたであろう場所で、半秒ほど押し続けます。
  • 二本指でひねると回転、上へドラッグすると傾きます。
  • 指の位置がそのままプレゼンスのカーソルになるので、ノートパソコンの人はあなたが何を指しているか追えます。
  • スマートフォンにドラッグ&ドロップはありません。かわりに+ レイヤーを追加、🌍カタログ、あるいは📚ギャラリーを使う。

扱う対象:.reteグラフ

A .reteは、自分で自分を説明する知識グラフです。ヘッダーが各セクションを指し示し、中のデータセットカードが、作った人、ライセンス、出どころを記録しています。歴史地図は、そのうちの一つで、ブラウザ上で直接読まれています。

キャンバスに.reteファイルをドロップすることはできない。地図が読む形式ではないので、そのまま落とすと「対応していないファイル形式です」と出ます。かわりにDriadesがしているのは、問い合わせの層でreteと出会うことです。

SPARQLのクエリをレイヤーとして走らせる

まず🗂パネルを開き、▸ SPARQL クエリにエンドポイントとクエリを渡して、押します: ▶ レイヤーとして実行。行はそれぞれ点の地物になり、レイヤーにはSPQバッジが付く。

座標はバインディングから探します。まずPoint(x y) WKTリテラルをまず見ます。これはWikidataのwdt:P625が返すものです。なければ、次の名前の変数を探します: ?x/?lng/?lon/?long/?longitudeと?y/?lat/?latitude。3 つめの値や?z/?elev/?alt/?heightという変数は標高になり、?t/?date/?year/?inceptionなどがあると、レイヤーは共有の時間スライダーに追従します。年だけの値でも構いません。ほかのバインディングは属性として一緒に運ばれます。

このクエリが共有されるのであって、結果ではありません。エンドポイントとクエリの文面が部屋の文書に入り、参加者それぞれが自分で実行します。

リンクを渡す

どんなページでも — 地図帳でも、ノートブックでも、ダッシュボードでも — リンクするだけでデータを送り込めます:

https://canvas.driades.app/?layer=<data-url>#your-room
https://canvas.driades.app/?endpoint=<sparql-url>&sparql=<query>#your-room

?layer=は繰り返せるので、複数のレイヤーを一度に届けられます。パラメータは使い切りです。取り込まれた時点でアドレスバーから消えます。

ノードエディタから、その場で送り込む

パイプラインがreteのノードエディタにあるなら、Driadesをiframeに埋め込むかポップアップで開いて、メッセージを送ってください。

driadesWindow.postMessage({ type: 'driades:add-layer', url }, '*')
driadesWindow.postMessage({ type: 'driades:add-layer', data: geojson, name }, '*')
driadesWindow.postMessage({ type: 'driades:add-layer', endpoint, query, name }, '*')

返ってくる答えはちょうど一つです — driades:layer-addedに名前を添えるか、driades:errorというメッセージつきで。インラインのGeoJSONは、落としたファイルと同じ経路を通るので、z座標はそのまま残り、時間らしい属性は今までどおりスライダーを光らせます。

次はどこへ

このページは短い版です。完全なリファレンスでは、切り抜き、データの書棚、ブラウザ内の空間SQL、SPARQLレイヤー、シーケンサー、分析ジョブ、エージェントAPI、自分での運用を扱います。各ページはmarkdownでも公開していて、知識MCPが読んでいるのはそちらです。

行き詰まったら、フッターバー右端の?のボタンを押すと、アプリ内のクイックガイドが開きます。地図から離れずに、同じ内容が読めます。

読むかわりに、アシスタントに聞く

読むより聞きたい人のために、このプロジェクトはChatGPTとClaudeの中で直接答えます。Model Context Protocolを話す場所はhttps://driades.app/mcp。データセットの目録、ツリー、このドキュメントの全ページ、そしてそれら全部に対するSQLを知っています。

鍵もアカウントも要りません。届く範囲のものはすべてこのサイトで公開済みで、備わっている道具はすべて読み取り専用です。ですから最悪でも、データセットについて話してくれるだけです。

ChatGPT

コネクタはPlus、Pro、Business、Enterprise、Eduの機能で、設定はモバイルアプリではなくウェブから行います。

  1. オープン設定 → アプリ&コネクタ → 詳細設定を開き、開発者モード.
  2. コネクタの画面に戻って、選ぶのは作成.
  3. 貼り付け:https://driades.app/mcpをURLに入れ、名前をDriadesにして、認証は認証なし.
  4. 作成したら、チャットの+メニューから選ぶ。

ディープリサーチの情報源としても使えます。ChatGPTが目録を検索し、必要な項目を丸ごと読み、使ったデータセットを引用します。

Claude

ターミナルで一行:

claude mcp add --transport http driades https://driades.app/mcp

Claudeのデスクトップ版とウェブ版では、次の場所から追加します: 設定 → コネクタ → カスタムコネクタを追加に同じ URL を入れる。

MCPを話すものなら、どれも同じURLで動きます。JSONの設定なら、こう書きます: {"type": "http", "url": "https://driades.app/mcp"}.

聞いてみると役に立つこと: 樹冠高をカバーしているデータセットはどれで、ライセンスは何か? · スペインの保護区のファイルには何が入っている? · ラスタはどうやって切り抜く? · データセットをライセンス別に数えて。

こちらは読む側の半分です。キャンバスに対して実際に手を動かせるMCPサーバーがもう一つあります。描く、メモを置く、レイヤーを載せる、時間を動かす。そちらは完全なドキュメントのエージェントAPIのページで扱っています。