RSS| 首页| 山顶道| 布珞阁¹| GoodUI| 土产| 关于

获取google卫星图
2007.02.7 18:47 bruce:

这里下载 gsmm.zip
gsmm
根据经纬度、级别获取t值http://b.9zi.com/gsmap/
看看生成陆家嘴大图.html
下载五角大楼全图[2M多]

google map集成了那么多的卫星图数据。想把他们下下来合成一个大图,再用到其他地方。
除了官方API外,研究一下那些小格图片的url就可以写个程序下载了。

这种把grid-map,有的叫搜索引擎map的技术,就是把矢量图栅格化,分成不同的逐步放大层,然后裁剪成小块,通过ajax动态下载下来。
从无极缩放到有级缩放
从及时计算到图片缓存
把影响性能的最大头给消灭掉。这是google map类技术的可适合公众互联网的最大特点。

看一个影像图的URL
http://kh2.google.com/kh?n=404&v=14&t=tr
前面kh(n) 应该是为了做负载均衡的,通过域名解析到不同的服务器下载格子。

最后一个参数t表示了很多含义,google真是聪明呀。
t参数由q、r、s、t四个字母组成
整个参数的长度表示不同的放大级别,如果是2为,表示zoom=2,最长是20
中国的影像图最大到19。
每一个级别是上一级别的4倍大,t参数也加一位,4倍由4个小图组成,分别是增加qrst4个不同字母表示。
布局为:
qr
ts
q表示左上角,r表示右上角,t表示左下,s表示右下

我们举例
http://kh2.google.com/kh?n=404&v=14&t=trstrtrrqtrrttrqrrq

以左下角为基准,逐步放大,全图为http://kh2.google.com/kh?n=404&v=14&t=t

每一层的图片数目为
pow[2,2*(n-1)],最大一层理论上是274877906944张小图,一个524288*524288的矩阵

第1层,1×1矩阵
t
————————————
第2层,2×2矩阵
tq tr
tt ts
————————————
第3层,4×4矩阵
tqq tqr trq trr
tqt tqs trt trs
ttq ttr tsq tsr
ttt tts tst tss
————————————
第4层,8×8矩阵
tqqq tqqr tqrq tqrr trqq trqr trrq trrr
tqqt tqqs tqrt tqrs trqt trqs trrt trrs
tqtq tqtr tqsq tqsr trtq trtr trsq trsr
tqtt tqts tqst tqss trtt trts trst trss
ttqq ttqr ttrq ttrr tsqq tsqr tsrq tsrr
ttqt ttqs ttrt ttrs tsqt tsqs tsrt tsrs
tttq tttr ttsq ttsr tstq tstr tssq tssr
tttt ttts ttst ttss tstt tsts tsst tsss
————————————
……

往下数组都溢出了。
因此应该可以递推出一个图的上下左右的值。
要捕获一块的话,需要算出一个矩阵内的所有图值。

我写了一个程序,根据t值上下左右递归算出旁边的图t值,然后生成一张完整的大图,效果很好呀

这里下载 gsmm.zip
根据经纬度、级别获取t值http://b.9zi.com/gsmap/

分类  日经|


6个评论
  1. hyne 留言:

    zan!

  2. Quotation 留言:

    真是好方法啊,这都被你破译出来了,赞。

  3. zzw 留言:

    赞布

  4. lijie 留言:

    很感谢你,帮了我大忙

  5. hzh 留言:

    好东西,但我用到16×16时保存的文件名中有一部分不是kh[num]的形式,而是CA0HI3O1.jpg,…等形式,这是怎么回事?

  6. gz 留言:

    我截取广州地图,当z=13的时候就没有地图显示了,怎么解决?

垃圾太厉害了
说几句吧






*注意: 回复可能需要审查.您不必重复提交.