如何使用 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 模式的逻辑是"以线找图":你画出的线条形状,会被用来在图像数据集中检索轮廓相似的真实卫星影像。

操作步骤

  1. 进入网站后选择 Draw。
  2. 在画布上按住并拖动,画出任意一条线——可以是直线、弧线或随手涂鸦。
  3. 松开后,系统根据你这条线的走向和形状,从数据集中找出匹配的卫星图像并呈现出来。

预期结果与验证

  • 画一条明显的弧线,通常会匹配到弯曲的河道、海湾或环形道路一类的影像。
  • 画一条笔直的长线,更容易匹配到笔直的公路、运河或田埂。
  • 如果结果不理想,直接重新画一条即可,每次绘制都是一次独立检索。

常见卡点

  • 画得太短或太随意:线条特征不足时匹配结果会比较随机,画得更有形状感(明确的转折、弧度)通常能得到更贴合的图像。
  • 页面无响应:先确认浏览器支持 Canvas 和 WebGL,这是运行的前提。

拖动(Drag):生成无限连接的地貌长线

Drag 模式不是"找一张图",而是"接一条线":你持续拖动,系统不断把与当前线条末端衔接的卫星图像拼接上来,形成一条理论上无限延伸的连续线条。

操作步骤

  1. 切换到 Drag。
  2. 按住并持续拖动,线条会随着你的手势不断延伸。
  3. 观察线条如何依次穿过河流、高速公路、海岸线等不同地貌,并保持视觉上的连续。

预期结果与验证

  • 拖动方向会引导线条的走向,改变方向后接续的地貌类型也会随之变化。
  • 线条是连续拼接的,不会出现明显断裂,这正是该模式的设计目标。

常见卡点

  • 拖动过快:图像需要实时从数据集检索并渲染,拖动速度过快时可能来不及跟上,放慢速度体验更流畅。
  • 中途停顿:停顿不会中断线条,继续拖动即可接着延伸。

两种模式怎么选

维度 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 上浏览开源代码。

lines.chromeexperiments.com
Land Lines is an experiment that lets you explore real Google Earth satellite imagery through gesture.