SuperMap Deskpro预缓存切图数目计算探究
今天客户问起预缓存生成需要多少时间、多上张图片,上次计算缓存张数已经是去年的事情了,时间较久就翻了翻以前的记录和研发的同事记录如下,以供后续参考吧。
计算前需要准备的内容:
1、DPI,一般普通PC的DPI为72-96,此处考虑Deskpro出预缓存时候设置出图与设备无关,所以直接通过CustomMapRatioX及CustomMapRatioY值计算了,DPI = CustomMapRatioX * 25.4(一般CustomMapRatioX = CustomMapRatioY,CustomMapRatioX值可以参考Deskpro安装目录/bin/supermap.ini文件中值) 。
2、地图范围,即左右及上下距离,此处参考Deskpro 出预缓存索引范围如下图
得出上下距离:如图得出 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,如下图所示
总结:上面粗略的估计了地图的缓存切块的个数,由于SuperMap Deskpro中地图是以比例尺,而不是空间分辨率来表达地图的,所以会涉及到DPI的相关计算,相关概念可以参考WIKI百科。