supermap IS.net地图缓存配置(数据库工作空间)
地图数据量大的时候速度问题是必须要考虑的,而且也确实是个大问题。所以各种webgis都提供了缓存机制。本文试图从头到尾把supermap IS的缓存操作理清楚,权当是最近几天的研究心得。便于以后查阅也供有用到我的朋友参考。
1.发布数据库工作空间类型的地图服务:首先,测试连接SQL工作空间
其次,在IS Manger中配置地图
输入内容
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中生成缓存图片:使用“地图”菜单->“地图缓存”,设置如下:
设置缓存图片的输出路径:当在缓存策略为“快速缓存”时,此处选择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>
效果图
最后效果很明显,做了缓存之后操作起来流畅多了。
另外:数据源存放在数据库中,用Deskpro打开数据都很慢。那是因为没有做缓存,每次操作地图即使是简单的平移 Deskpro都会去数据库中重新读取数据。在局域网中一般传输速度也就1M/s 所以普普通通几百M的数据都会卡上好几十秒。我们设置下缓存就可以了
选择数据集---属性--数据集属性 勾上用户缓存 这样就行了





浙公网安备 33010602011771号