Google 街景:另一种获取街景数据的方式

Google street view: Alternative way to getting street view data

我尝试从 Google 街景中获取数据已经有一段时间了。出于研究目的,我需要能够估计某些特定地图位置的天空面积。这就是为什么我需要估计球形视图,并且我认为使用 Google 街景是个好主意。我真正需要的是给定一个 3d 方向,我应该能够分辨出这个方向上像素的颜色是什么。

我想出的是以下内容。我正在使用 Google Street View Image API 下载 6 张图像以将它们用作立方体纹理(特别是我提交了 6 个带有参数的查询:

(heading, pitch) = {(0, 0), (90, 0), (180, 0), (270, 0), (0, 90), (0, -90)}

当我将这 6 张图像映射到一个立方体时,我得到的结果如下:

问题是似乎有一些数值错误和角落不匹配。我知道如何修复它,但复杂性增加了很多。

我也看过 JavaScript API 但找不到从那里访问数据的方法。官方指南页面上提到了 UV 贴图

但这似乎只是针对用户生成的内容。

我错过了什么吗?有没有其他方法可以做到这一点?

基本上您想做 google 已经在做的事情,但您需要它的 3d 表示。

使用下面的方法(并不容易),你可以得到更好的结果,但并不完美。基本理论是这样的:

  1. 获取图像列表(6 个或更多,有些使用 8 个;水平视图 6 个,顶部和底部视图 2 个)。
  2. 使用您喜欢的方法将图像拼接在一起,您可以找到有关拼接图像的帮助here
  3. 拼接后您将得到一张图像,这将是您的纹理
  4. 构建 3D 形状(球体、六边形或圆柱体)
  5. 将纹理应用于 3D 形状
  6. 继续尝试:a) 下载图片。 b) 缝合。 c) 纹理映射。获得更好的结果

这是(可能)google 遵循的过程,以便您可以在他们的服务中看到 360 度视图,并且您需要执行相同的操作才能在代码中获得 3D 表示,但它赢了' 完美,因为您获得的图像不是 google 拍摄的原始图像(这使得拼接更难)。

了解更多 here and here