SuperMap Deskpro预缓存切图数目计算探究

今天客户问起预缓存生成需要多少时间、多上张图片,上次计算缓存张数已经是去年的事情了,时间较久就翻了翻以前的记录和研发的同事记录如下,以供后续参考吧。

 

计算前需要准备的内容:

1、DPI,一般普通PC的DPI为72-96,此处考虑Deskpro出预缓存时候设置出图与设备无关,所以直接通过CustomMapRatioX及CustomMapRatioY值计算了,DPI = CustomMapRatioX * 25.4(一般CustomMapRatioX = CustomMapRatioY,CustomMapRatioX值可以参考Deskpro安装目录/bin/supermap.ini文件中值) 。

2、地图范围,即左右及上下距离,此处参考Deskpro 出预缓存索引范围如下图

image

得出上下距离:如图得出 7612.6676397641 米

左右距离:如上图得出  8910.4536856326 米

3、图片大小 一般 为256或者512像素。

4、英寸 = 2.54 厘米

5、地球赤道长度 = 40073700 米

6、比例尺。

 

计算思路如下:

1、推算出每张图片的实际地理距离  ((512 像素  / DPI)  * 2.54 * 比例尺) / 100 。

2、如果数据单位是米,则上下左右距离 / 每张图片的实际地理距离  ----取整后 相乘即可。

3、如果数据单位是度,则根据  (地球赤道长度  / 360 ) * 上下 (左右)实际地理距离,此处实际上要考虑高纬度及低纬度的区别,由于此处是估算,所以暂且考虑相同。

注意:此处由于是切图,所以计算出左右 应该切的地图张数后 +1 或者 +2即可。

 

例子:

长春地图:

参数值:图片大小 512像素,上下 (7612.6676397641  )、左右(8910.4536856326 ) ,比例尺1000,DPI = 3.5 * 25.4 = 88.9

 

即值为上下切的图块 数目为 =  7612.6676397641 / ((( 512 / 88.9 ) * 2.54 * 1000 ) / 100)  = 53 + 1

左右的图块 数目为 = 8910.4536856326  / ((( 512 / 88.9 ) * 2.54 * 1000 ) / 100)  = 61 + 1

图块个数为  = 上下图块数目 *  左右图块数目 = 54 * 62 =  3348 可以参考和Deskpro计算相同。

 

中国地图:

参数值:图片大小 512 像素 ,上下(49.724654913)、左右(61.5884246827),比例尺 1000000,DPI = 88.9

每度代表的 地理长度 = 40073700  / 360

上下切块数目 = ((40073700 / 360 )*49.724654913) / ((( 512 / 88.9 ) * 2.54 * 1000000 ) / 100) = 38 + 1

左右切块数目 = ((40073700 / 360 )*61.5884246827) / ((( 512 / 88.9 ) * 2.54 * 1000000 ) / 100) =  47 + 1

图块个数为 = 上下图块数目 * 左右图块数目 = 48 * 39 = 1872,如下图所示

image

总结:上面粗略的估计了地图的缓存切块的个数,由于SuperMap Deskpro中地图是以比例尺,而不是空间分辨率来表达地图的,所以会涉及到DPI的相关计算,相关概念可以参考WIKI百科。

posted @ 2011-07-13 22:50  awei20081  阅读(551)  评论(0编辑  收藏  举报