supermap IS.net地图缓存配置(数据库工作空间)

          地图数据量大的时候速度问题是必须要考虑的,而且也确实是个大问题。所以各种webgis都提供了缓存机制。本文试图从头到尾把supermap IS的缓存操作理清楚,权当是最近几天的研究心得。便于以后查阅也供有用到我的朋友参考。

1.发布数据库工作空间类型的地图服务:首先,测试连接SQL工作空间

image

其次,在IS Manger中配置地图

image

输入内容

SQL SERVER:

工作空间路径:Provider = SQLOLEDB;Driver = SQL Server;SERVER = server;Database = test;Caption = WksName;  

 

ORACLE:

工作空间路径:Provider = MSDAORA;Driver = Oracle ODBC Driver;SERVER = SUPERMAP;Database = SUPERMAP;Caption = WkspName;

 

工作空间密码:UID =SA;PWD = SA

//WksName为工作空间名称                            保存 OK!

 

2.IS 缓存的制作: 首先,根据实际需求确定地图显示的比例尺级别;以changchun地图为例,可设置为:100000,50000,25000,10000,5000等。根据比例尺级别,在SuperMap Deskpro中生成缓存图片:使用“地图”菜单->“地图缓存”,设置如下:

image

 

设置缓存图片的输出路径:当在缓存策略为“快速缓存”时,此处选择output目录下的quickcache文件夹;当缓存策略为“开启”时,此处选择output目录下的cache 文件夹(缓存策略在IS的管理页面中设置)

 

生成好缓存之后要重启下服务,如果没有看到效果 重启下机子。

3.缓存的使用

<SMIS:MapControl ID="MapControl1" runat="server" BorderColor="Gray" 
         BorderStyle="Solid" BorderWidth="2px" Buffer="256" CustomQueryString="" 
         DisableLogo="False" FixedView="False" Height="410px" ImageFormat="PNG" 
         MapHandler="http://localhost:1350/testISCache/" MapName="实验图123" 
         Redirect="True" TileCheckTime="2" TileSize="256" UseImageBuffer="True" 
         WheelZoomByMouse="True" Width="590px">
 <SMIS:MapScale  MapName="changchun"  Scales="90000,45000,22500,11250,5625,2812.5"></SMIS:MapScale>
 </SMIS:MapControl>

 

效果图

image

 

最后效果很明显,做了缓存之后操作起来流畅多了。

 

另外:数据源存放在数据库中,用Deskpro打开数据都很慢。那是因为没有做缓存,每次操作地图即使是简单的平移 Deskpro都会去数据库中重新读取数据。在局域网中一般传输速度也就1M/s 所以普普通通几百M的数据都会卡上好几十秒。我们设置下缓存就可以了

选择数据集---属性--数据集属性 勾上用户缓存               这样就行了

image

posted @ 2011-06-23 16:22  千禧牛  阅读(710)  评论(0)    收藏  举报