Python导出Google Maps卫星区域图
2014-02-09T18:36:00+08:00
再见理想
Google Maps拥有非常高质量的卫星图资源,我想要截取一个区域的卫星图片,但是Web界面的截图分辨率受限于屏幕的大小。
例如我想截取故宫的卫星图片,并且要求图片精度尽可能的高,一般的操作是在Google Maps上放大区域到最大,但放大后可能就只能看到故宫的局部图了,无法满足需求。
要满足精度,又要满足广度,只能是自己动手了。
我用Python实现了这么一个脚本,给定地图上两点的坐标和精度值,就自动导出对应区域指定精度的卫星图片。
脚本依赖
- 坐标系统转换{Tiles à la Google Maps}1
- 经纬度坐标获取{Google Maps}2
- 卫星图像获得{Google Maps API}3
- 瓦片无数据修复算法{By Smite}
- 完成z向z-1层次的坐标转换
- 完成像素相对位置计算
- 使用栈来控制多重修复情况下像素相对位置变化轨迹
- 使用
PIL
进行图像处理 - 使用
urllib2
进行http请求
源码
附故宫高清卫星图片
标签:
python