天道酬勤

博观而约取,厚积而薄发!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 最近刚修改整理了原来写的一些文字,主要是讲固定范围的基于ArcIMS的地图预生成技术,有完整的算法阐述,贴出来供需要的朋友参考。所有内容均来自于自己的项目经历、对互联网上的相关资料的学习,最近发现不少朋友都在研究这方面的问题,所有希望也能参与做点事并对大家的工作或多或少有一点帮助。

文中主要简述了地图切图,并且简单地介绍了一下当前基于预生成技术的Web地图服务现状。

由于时间仓促,中间肯定有不准确或错误的地方,希望高手不吝赐教以方便我能将其整理得更完善!

谢谢!相关附件

速度的提高需要借助缓冲机制,有点复杂。我也在做影像图显示的,所以肯定要借助这个在线系统,用ArcIMS非常慢,借助预生成可以节省服务器生成图片的时间。

这在国外已经很流行,国内也有一些公司实现,但都没有完整的学习文档,所以我就将平时收集的资料加工整理了一下,不知有没有表述清楚,希望多指正!

如果对文中某些与投影和坐标等问题不甚明白的请参阅:
不知道现在51ditu之类的在线地图服务,直接对数据处理成各级别图片,还是首先将数据装入一个数据库平台中,利用这个平台生成各级图片数据。利用该平台对数据的管理和维护应该方便一些。我现在就是这么考虑的,不知道通用做法是怎么弄的?


 

总体思路都是基于地图图片预生成,但地图文件的存储及请求机制各不相同。
比如YahooMaps的一个地图请求如下:
http://maps.yahoo.com/#mvt=m&trf=0&lon=-94.619236&lat=40.22817&mag=6

GoogleMaps的一个地图请求如下:
http://mt3.google.com/mt?n=404&v=w2.43&x=2&y=5&zoom=13

Mapbar的一个地图请求如下:
http://img.mapbar.com/maplite/mapbank/baidu/7/56_14/9_0.png

51ditu的一个地图请求如下:
http://bimg.51ditu.com/12/13194143727625.png

SogouMap的一个地图请求如下:
http://pic1.go2map.com/seamless/0/174/722/0/0/25_7.GIF

etc...

由上可见,Google&Yahoo都借助通用或其系统自定义的地图位置参数进行请求,而国内的这几家都是使用直接图片URL链接方式获取图片,这样安全性略差(当然Google的图也很容易下载)。

上述公司服务器的图片反应机制不甚清楚,但Google的地图服务器很快就能识别用户是否是在批量下载地图,很快就会封住客户的IP段,使得整个LAN内的电脑都暂时不能请求地图图片。

至于各自的缓冲机制尚未系统研究,我只测过像51ditu等地图服务在网卡断开后依然可以浏览原来浏览过的图片,说明的确是缓冲在客户端了,至于如何缓冲,希望高手指教!

对于简单的矢量数据栅格化,借助ArcIMS的ArcXML切图应该是最佳的方案。对类似E都市都市圈这样的3D数据,则需要借助CAD&3DMax及其插件完成,正在研究中,搞定之后再写一篇文字共享给大家。

上面的是固定范围的地图瓦片预生成,固定比例尺的刚整理好,传上来供大家参考,欢迎指教!


附件