正在密集开发 — h4ck1ng.science实时协作画布锚定地图的光标与在线状态PMTiles, COG, GeoParquet, GeoJSON, Zarr通过 HTTP 范围请求,就地读取数据拖放即裁剪:矢量筛选,栅格遮罩测地线量测与钉在图上的便签共享时间轴与序列器浏览器内的空间 SQL,基于 DuckDB-WASMSPARQL 图层3D 模式MCP 与 Python 智能体,所有方案免费离线优先可自建部署没有遥测

文档

你的第一块画布

这里的一切都发生在浏览器标签页里:不用账号、不用安装、不用配置。大约五分钟后,你会有一个打开的房间、一位同事在里面、地图上有数据,还有一个圈住你关心那块地方的图形。每一步都分别说明电脑上怎么做、手机上怎么做,因为这两者确实不一样。

打开画布 会打开一个新房间。把它放在这一页旁边,边读边做。

第 1 步

打开房间

前往canvas.driades.app。你会看到一个带两个按钮的起始页面:🌲 新建公开房间会创建一个任何拿到链接的人都能打开的房间,而🔒 私有工作区则只留给你自己。下面是一份已经在运行的公开房间列表,还有一个可以粘贴房间链接的输入框。两种方式都不需要账号。

笔记本上的 Driades 起始页面:一个「协作式地理空间画布」的标题,「新建公开房间」和「私有工作区」两个按钮,四张说明你能做什么的卡片,以及一份正在运行的公开房间列表。 同一个起始页面在手机上,堆成一列
你会落在哪里,笔记本和手机各一张。按新建公开房间即可开始。

进去之后,房间的名字就是地址里#,比如#driades-ba4580f7之后的那一段。你接下来做的一切都住在那个房间里:绘制、便签、图层、时间轴。

你还会得到一个本次会话的身份 —— 一个形容词加一棵树,比如Swift Oak,还有属于它自己的颜色。你的协作者看到在动的就是它。

新房间打开时是卫星影像,所以你是从地面上真实存在的东西开始的。🗺这个控件可以换底图,而且这个选择是和房间共享的 —— 切到地形,所有人的画布都会跟着变。

第 2 步

分享给别人

按下分享房间在房间面板里。它会把完整地址复制到剪贴板。发给任何人:打开就进了房间。没有要接受的邀请,也没有权限对话框。就是访问权限。

笔记本上的一个 Driades 房间:左上是带「分享房间」按钮的房间面板,右边是图层面板,里面有一个 GeoJSON 图层和它的不透明度滑块,底部是时间滑块。
一个上面放了一个图层的房间。分享房间在左上角;图层堆叠在右边;时间轴和工具栏沿着底部排开。

在电脑上

房间面板在左上角,里面是每个人的头像。点一个头像就能跟着那个人飞 —— 你的地图会跟着对方,直到你自己动了地图,跟随就断开。

在手机上

同一个面板还在,可以最小化把屏幕还给地图。你手指的位置会作为光标广播出去,所以用笔记本看的人能看到你在哪里。

在找人试之前,先用两个窗口试:把复制的地址在第二个窗口打开,然后在其中一个里拖动一个图形。另一个里它也会动。

第 3 步

四处移动

地图占满整个屏幕,所以最先值得上手的就是怎么移动。

要做到这一点在电脑上在手机上
平移按住左键拖动单指拖动
缩放滚轮,或者双击双指捏合,或双击
旋转右键拖动,或按住Ctrl然后拖动。旋转按钮每次转 30°,点指北针会一下子回到正北两指旋转;点指北针回到正北
倾斜进入 3D同样是右键上拖 —— 或者用 3D 按钮,带一个夸张系数滑块两指向上拖动屏幕
走进去看🚶 行走把拖动换成游戏式操作:WASD移动,QE转向,RF上下移动,Shift冲刺,Esc退出这不是触摸模式 —— 它需要键盘

旋转和倾斜改变的是你的只是视图而已。别人的地图不会转,数据本身也没动 —— 就像调一个图层的不透明度。

第 4 步

把数据放到地图上

Driades 就地读取云原生格式 —— 通常只要几次 HTTP 范围请求,所以一份洲级规模的档案,你付的代价也就是屏幕上那些瓦片。

在电脑上

把文件拖到地图上。一个或多个,或者把网址当文本拖进来。会出现放置层;在哪儿松手都行。

在手机上

使用+ 添加图层在图层面板里,或者+ 导入数据集…在图库里 —— 手机没有拖放,所以这是通过文件选择器做同一件事。

无论哪种方式,还有两条路到处都行得通:

  • 粘贴一个 URL填进🗂然后按回车。通过网址加载的图层会和房间共享,所以大家加载的是同一份。
  • 这个🌍目录,就在+ 添加图层:一排精选的公开数据 —— 边界、地区、城市、河流、湖泊 —— 每一份都标着大小、来源和许可证。点一下就挂上了。
  • 这个📚图库会列出房间里任何人拖进来过的所有文件,都是点对点传输的。+地图就能在你的地图上放上一个。

它接受的格式:.pmtiles, .tif与.tiff(云优化 GeoTIFF),.parquet与.geoparquet, .geojson与.json、普通的图片,以及.zarr通过网址加载。其他的会带着提示被拒绝,而不是悄悄挂上。

要裁剪,先画。如果你先画出一块区域,再拖进一个文件到那个形状上,图层送达时就已经裁好了:矢量被筛到那个形状里,栅格按像素遮罩到多边形上。

第 5 步

图层堆叠

这个🗂是图像编辑器意义上的堆叠。每一行都有一个不透明度滑块和一个👁可见性开关,行可以重新排序,而这个顺序就是你在地图上看到的样子。

在电脑上

面板在右边。右键点一行可以看到其余操作:重命名、缩放到它、单独显示、移除。

在手机上

从屏幕右边缘往里滑就能打开。长按按住一行半秒,就能得到和右键一样的菜单 —— 这是触摸上的等价操作,不是缩水版。

你添加的图层会连同它的来历一起分享给房间:描述、署名、许可证和源地址都跟着图层走,所以拿到它的人知道自己在看什么。

第 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。第三个值,或者一条?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作为网址,把它命名为 Driades,并把认证方式设为无需认证.
  4. 创建它,然后在聊天里从+菜单中选它。

它也能作为深度研究的来源:ChatGPT 在目录里检索,再把它想要的条目整份读完,并注明用了哪个数据集。

Claude

在终端里输入一行:

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

在 Claude 的桌面端和网页端里,从这里添加:设置 → 连接器 → 添加自定义连接器,填入同一个 URL。

任何其他会说 MCP 的东西,用的都是同一个网址。在 JSON 配置里就是{"type": "http", "url": "https://driades.app/mcp"}.

可以问它的一些实用问题:哪些数据集覆盖了林冠高度,它们的许可证是什么? · 西班牙保护区那个文件里有什么? · 栅格怎么裁剪? · 按许可证统计数据集数量。

这是「读」的那一半。还有第二个 MCP 服务器,它可以在画布上动手 —— 绘制、放便签、挂图层、拨时间 —— 那个在完整文档的智能体 API 页面里讲。