空间数据的存储和地图缓存容量估计
1、空间数据的存储
此次项目空间数据全部保存在空间数据库中,空间数据库是基于Oracle的,因此对空间数据的访问可等同于对Oracle数据库的访问,因此空间数据保存在数据库服务器连接的SAN存储上对GIS系统的应用没有影响。
ArcGIS的空间数据引擎(ArcGIS Server SDE)是数据库和GIS系统之间的桥梁,ArcGIS Server通过SDE访问数据库中的空间数据,而SDE系统会在Oracle中创建独立的表空间和Schema用于保存空间数据。
SDE本身对硬盘和CPU的压力很小,既可以部署到数据库服务器中也可以部署到GIS服务器中。
就本项目而言部署到GIS服务器中比较合适,SDE与数据库的通讯完全遵照Oracle 的数据访问协议,能够满足等保的要求。
2、地图缓存容量估计
目前所有的WebGIS都使用了缓存机制以提高地图访问速度。
原理都是将地图设定为多个比例尺,对于每个比例尺提前将地图分成若干小图片,存在服务器上,客户端访问时直接获取需要的小图片拼接成地图,而不是由服务器动态创建出一幅图片来送到客户端,极大程度的提高了响应速度。
地图缓存的原理是按照比例尺预先生成地图图片文件,比例尺级别越多图片量越大,占用空间越多,一般的地图缓存占用空间和地图的复杂度和图层数量无关仅与地图缓存的比例尺级别相关。
而且并不是所有地图服务都需要制作缓存,只有底图类的地图才有缓存的必要。
全国范围的地图缓冲比例尺级别一般为13级,就广东省而言,九到十级比例尺已经完全可以满足要求,最大比例尺可以达到1:5000左右。
各个级别图片数量见下表,10级比例尺图片总量为349524(三十四万)。
采用松散方式保存缓存
采用松散方式保存缓存,图片格式一般选用PNG24,512*512像素尺寸,一个缓存图片一般小于50Kb,NTFS磁盘最小单位一般为4K,即一个缓存图片占用磁盘空间52Kb,我们按照冗余的64K计算。
10级比例尺图片总量为349524,占用磁盘空间为349524*64K=1.6G.
ArcGIS Server的缓存有很多缓存机制,一般采用多图层整合切图的方式,也就是所有图层一起做缓存,实际应用中不排除使用分图层切图的可能性,因此我们在估算空间时作了大量的冗余考虑,并结合我们在防汛抗旱指挥系统一期工程中的实际缓存经验,估算一个地图服务占用5到8G磁盘缓存空间。
100G剩余磁盘空间可以支撑20左右地图服务。
以上是基于占用磁盘最多的松散方式缓存计算的,如果考虑磁盘空间不足可以全部采用紧凑式。
采用紧凑方式保存缓存
此次采购的ArcGIS Server10在缓存方面做了很好的优化,提供一种紧凑式缓存方式,其磁盘占用量可以大幅度减少,经过实际测试,采用第一标段提供的测试地图,9级比例尺切图,作512*512像素,PNG24图片格式,开图片反锯齿,实际占用磁盘空间仅154M,采用10级比例尺切图,作512*512像素,PNG24图片格式,开图片反锯齿,实际占用磁盘空间约350M;采用防汛抗旱指挥系统一期工程1:400万全国地图,8级比例尺切图,占用磁盘空间54M。
我们测试的其他底图统计见下表。
因此采用紧凑形式保存地图缓存,仅需要50G空间即可保存至少100个以上地图服务缓存。
以上是根据静态底图缓存进行的估算,实际应用中根据业务不同和地图不通可以进行多种优化,比如动态缓存、分图层缓存、缓存地图与分缓存地图结合、基于JPG的Mixed缓存、协作缓存、分布式缓存等多种机制。
基于以上的分析和计算我们认为目前采用GIS服务器保存缓存数据可以满足目前的业务应用需要。