如何使用 Land Lines 进行绘制和拖动
Land Lines 是一个基于浏览器的交互实验,让你通过手势探索 Google Earth 卫星影像。打开 lines.chromeexperiments.com 后,你会看到两个核心操作:Draw(绘制)——画一条线,系统实时匹配数据集中形状相近的卫星图像;Drag(拖动)——持续拖动,生成一条由河流、高速公路、海岸线等真实地貌首尾相连的无限长线。两种操作都支持触摸屏手势和鼠标,无需注册或安装,直接在手机或桌面浏览器中运行。
开始前的准备
- 浏览器要求:页面依赖 Canvas 和 WebGL 渲染。如果浏览器不支持 Canvas,页面会直接提示 "Your browser doesn't support canvas",此时需要更换或升级浏览器。
- 网络要求:所有卫星图像托管在 Google Cloud Storage 上,需要保持联网才能加载图像。
- 设备:手机和桌面浏览器均可运行,实验经过优化,无需后端服务器参与实时匹配。
绘制(Draw):画一条线,找到匹配的卫星图像
Draw 模式的逻辑是"以线找图":你画出的线条形状,会被用来在图像数据集中检索轮廓相似的真实卫星影像。
操作步骤
- 进入网站后选择 Draw。
- 在画布上按住并拖动,画出任意一条线——可以是直线、弧线或随手涂鸦。
- 松开后,系统根据你这条线的走向和形状,从数据集中找出匹配的卫星图像并呈现出来。
预期结果与验证
- 画一条明显的弧线,通常会匹配到弯曲的河道、海湾或环形道路一类的影像。
- 画一条笔直的长线,更容易匹配到笔直的公路、运河或田埂。
- 如果结果不理想,直接重新画一条即可,每次绘制都是一次独立检索。
常见卡点
- 画得太短或太随意:线条特征不足时匹配结果会比较随机,画得更有形状感(明确的转折、弧度)通常能得到更贴合的图像。
- 页面无响应:先确认浏览器支持 Canvas 和 WebGL,这是运行的前提。
拖动(Drag):生成无限连接的地貌长线
Drag 模式不是"找一张图",而是"接一条线":你持续拖动,系统不断把与当前线条末端衔接的卫星图像拼接上来,形成一条理论上无限延伸的连续线条。
操作步骤
- 切换到 Drag。
- 按住并持续拖动,线条会随着你的手势不断延伸。
- 观察线条如何依次穿过河流、高速公路、海岸线等不同地貌,并保持视觉上的连续。
预期结果与验证
- 拖动方向会引导线条的走向,改变方向后接续的地貌类型也会随之变化。
- 线条是连续拼接的,不会出现明显断裂,这正是该模式的设计目标。
常见卡点
- 拖动过快:图像需要实时从数据集检索并渲染,拖动速度过快时可能来不及跟上,放慢速度体验更流畅。
- 中途停顿:停顿不会中断线条,继续拖动即可接着延伸。
两种模式怎么选
| 维度 | Draw(绘制) | Drag(拖动) |
|---|---|---|
| 交互方式 | 画一条线后松手 | 持续按住拖动 |
| 核心机制 | 用线条形状检索匹配图像 | 不断拼接图像形成连续长线 |
| 结果形态 | 单次匹配的卫星图像 | 无限延伸的连接线条 |
| 适合的场景 | 想看看某个形状对应地球上什么地貌 | 想连续漫游河流、公路、海岸线 |
想快速得到一张与你的线条呼应的卫星图,用 Draw;想获得连续、可无限延伸的探索体验,用 Drag。
背后的机制(了解即可,不影响使用)
- 线条检测:项目用 OpenCV Structured Forests 和 ImageJ 的 Ridge Detection 分析初始的 5 万多张图像,筛出几千张线条特征最明显的图像作为数据集。
- 快速检索:Draw 模式把线条数据存入 vantage point tree(优势点树),使得在手机或桌面浏览器中实时匹配成为可能。
- 渲染:使用基于 WebGL 的 Pixi.js 库快速绘制和重绘 2D 图形,保证性能。
- 图像分发:所有图像托管在 Google Cloud Storage,面向全球用户快速加载。
项目由 Zach Lieberman、Matt Felsen 和 Data Arts Team 制作。想深入了解实现细节,可查看官方技术案例研究,或在 GitHub 上浏览开源代码。