缓存的部分更新

局部切片更新
已邀请:

许丹石

赞同来自: 李昫瑄

【解决办法】:
缓存地图服务发布后,如果数据发生了更新,希望更新局部范围的切片,有以下两种方法:  

方法一: 更新缓存服务引用的数据源内容,并对已发布的服务在待更新区域重新创建切片。步骤如下: 
1)如果数据源所在的文件夹或者数据库已经被注册过,那么直接修改文件夹或者数据库中相关的源数据(例如添加、删除图层中的要素);  
如果数据源所在的文件夹或者数据库没有被注册,那么之前在发布服务的时候,源数据会被备份到 GIS服务器的 arcgisinput 目录下,直接修改这个目录下的相关源数据(例如添加、删除图层中的要素);  
如果想把地图文档中引用的图层直接替换成另外的同名图层,那么修改 GIS服务器的 arcgisinput 目录下相关的msd文件,具体修改方法为在 ArcMap 的 Catalog 窗口中连接 msd 文件所在的文件夹,右键 msd 文件,选择 Set Data Sources,更改图层的C onnection Properties; 
2)右键单击已发布的缓存服务,manage cache -> manage tile -> 在Manage Map Server Cache Tiles窗口中基于要素类边界执行RECREATE_ALL_TILES操作。  

方法二: 重新发布缓存服务,并将新生成的切片导入到之前的缓存服务中。步骤如下:  
1)将更新后的数据组织为地图文档,并发布为缓存服务,切片方案和图像格式需要与之前服务的相同,可基于要素类边界只对变化区域进行切片;  
2)在 Catalog 中的 server 节点下,右键单击待更新缓存的服务,选择 manage cache ->Import tile ,基于要素类边界导入上一步生成的切片,注意选中 Overwrite Tiles,这样会替换感兴趣区域中的所有像素,而不是与接收缓存中的图像合并或混合。
 
【分享人】:
谢军、许丹石

要回复问题请先登录注册