如何直接从Google Map批量下载大量高分辨率卫星图像?

时间:2013-01-16 00:50:29

标签: c++ python google-maps shell url

我正在帮助一位正在研究卫星图像分析项目的教授,我们需要将800张图像拼接成一个方形区域,每张图像分辨率为8000x8000,来自谷歌地图,可以逐个下载,但是我可以相信必须有一种方法来编写批处理脚本。

在这里,我想问一下如何使用shell或python脚本实现这一点,以及如何通过google maps url下载图像?

以下是网址的示例:

https://maps.google.com.au/maps/myplaces?ll=-33.071009,149.554911&spn=0.027691,0.066047&ctz=-660&t=k&z=15

但是我无法从中分析图像直接下载链接。

更新

实际上,我解决了这个问题,但是由于谷歌的意图,我不打算这样做。

2 个答案:

答案 0 :(得分:3)

您是否尝试过Google static maps API

您可以获得25 000个免费请求,但是您的限制为640x640,因此您需要以更高的缩放级别执行~160个请求。

我建议下载图片:Downloading a picture via urllib and python

开头的网址:http://maps.googleapis.com/maps/api/staticmap?center=-33.071009,149.554911&zoom=15&size=640x640&sensor=false&maptype=satellite

Static map

答案 1 :(得分:0)

我解决了这个问题已经有很长时间了,对不起延迟了。

我将代码发布到github here,plz star或fork,如你所愿:)

我们的想法是使用分辨率非常高的虚拟网络浏览器加载谷歌地图页面,然后进行页面捕获。缺点是每个图像上都会有谷歌符号,解决方法是对每个图像的分辨率应用过采样,然后使用stiching技术将它们粘在一起。