记录学习!
缓存服务发布后,如果数据发生了更新,希望更新局部范围的切片,有以下两种方法:
方法一:更新缓存引用的数据源内容,然后通过Manager tiles重新创建切片
1、1)、如果数据源所在的文件夹或者数据库已经被注册过,那么直接修改文件夹或者数据库中相关的源数据(例如添加、删除图层中的要素), 然后执行2;
2)、如果数据源所在的文件夹或者数据库没有被注册,那么之前在发布服务的时候,源数据会被备份到 GIS服务器的 arcgisinput 目录下,直接修改这个目录下的相关源数据(例如添加、删除图层中的要素), 然后执行2;
3)、如果想把地图文档中引用的图层直接替换成另外的同名图层,那么修改 GIS服务器的 arcgisinput 目录下相关的msd文件,具体修改方法为在 ArcMap 的 Catalog 窗口中连接 msd 文件所在的文件夹,右键 msd 文件,选择 Set Data Sources,更改图层的Connection Properties, 然后执行2;
2、右键单击已发布的缓存服务,manage cache -> manage tile -> 在Manage Map Server Cache Tiles窗口中基于要素类边界执行RECREATE_ALL_TILES操作。
方法二:重新发布缓存服务,并将新生成的切片导入到之前的缓存服务中。步骤如下:
1、将更新后的数据组织为地图文档,并发布为缓存服务,切片方案和图像格式需要与之前服务的相同,可基于要素类边界只对变化区域进行切片;
2、在 Catalog 中的 server 节点下,右键单击待更新缓存的服务,选择 manage cache ->Import tile ,基于要素类边界导入上一步生成的切片。
值得注意Overwrite Tiles(覆盖切片),如果选中会替换感兴趣区域中的所有像素,这样会导致相邻部位出现空白区域;如果不选中会与原来的缓存图像合并或混合。
因此,如果要更新的区域与原始数据位置相距甚远可以勾选,如果相邻或很近不要勾选。