Land Lines 的卫星图像来自哪里?

Land Lines 的卫星图像来自 Google Earth。这个 Chrome Experiments 实验项目把 Google Earth 的卫星影像作为素材库,让你用画线或拖动的方式去匹配地球表面已有的线条。它不生成新图像,也不实时抓取地图,而是从预先筛选好的图像数据集里找匹配项。

图像从原始数据到可用素材的处理流程

项目团队没有直接把 5 万多张卫星图全部塞进应用,而是先做了一轮筛选。

第一步:分析 5 万多张初始图像

初始数据集包含 50,000 多张图像。团队用两种工具来识别图像中的主要视觉线条:

  • OpenCV Structured Forests:用于分析图像结构
  • ImageJ 的 Ridge Detection:用于检测脊线

两者结合,找出每张图里最显著的线条走向。

第二步:筛选出几千张“最有趣”的图像

线条检测的结果用来做减法。原始数据集被大幅缩减,只保留 几千张 线条特征最明显、最适合匹配的图像。这一步决定了你画一条线时,系统能给出的候选图质量。

第三步:把线条数据存进 Vantage Point Tree

“Draw”模式要实时匹配你画的线,靠的是一种叫 vantage point tree 的数据结构。它把筛选后的线条数据组织起来,让浏览器能在本地快速查找相似线条,不需要请求后端服务器。

图像存在哪里、怎么送达

所有图像托管在 Google Cloud Storage 上。这样做的目的是让全球用户都能较快地加载图像。图像本身不经过应用服务器中转,而是直接从云存储分发。

为什么这个架构值得注意

Land Lines 的一个关键设计是:整个实验在手机浏览器里就能跑,不需要后端服务器。支撑这一点的是三样东西的组合:

环节 用到的技术 作用
线条识别 OpenCV + ImageJ 从 5 万张图里找出有线条特征的图
快速查找 Vantage point tree 在本地实时匹配你画的线
图形渲染 Pixi.js(基于 WebGL) 快速绘制和重绘 2D 图形
图像分发 Google Cloud Storage 全球快速加载图像

机器学习负责前期筛选,优化算法负责运行时查找,显卡负责渲染——三者配合,才让“画一条线,让地球补全画面”这件事在浏览器里流畅发生。

如果你想进一步了解实现细节,项目页面提供了技术案例研究和 GitHub 上的开源代码两个入口。

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