ArGIS Server 服务的更新

对于普通地图服务更新

【产品版本】:arcgis for server 10.1,10.1 sp1,10.2及以上 
【问题分析】: 由于在10.1中地图服务的发布采用的是msd的形式,也就是虽然在ArcMap中准备的地图文档是mxd,但是发布服务的过程中会将mxd转换成msd,然后将msd以sd文件的形式上传到服务器发布服务,服务发布成功后sd文件被删除掉,sd文件的零时目录路径默认如下:C:\Users\<用户名>\AppData\Local\ESRI\Desktop10.1\Staging 
sd存储在 ArcGIS Server 上并在发布过程中进行解压缩。该服务器上的默认存储位置为\arcgisserver\directories\arcgissystem\arcgisinput\<服务名称>.<服务类型>\extracted。 
10.1以前的,如果mxd发生更新,直接对该mxd对应的服务重新启动,服务就发生更新,但是由于上面所述原因,10.1中是没有 
【解决办法】:mxd的更新,服务更新办法分为以下两种情形: 
1、在10.1中,如果mxd更改的是某个图层中的要素且mxd的数据路径已经在注册给ArcGIS server(数据发布服务没有拷贝到服务器上)此时服务可以刷新更新。 
2、如果mxd的更改涉及到图层的增删等操作 或者 虽然操作对象是图层中的要素,但是没有注册data store的话,通过重启服务是没有办法更新的,唯一的办法就是重新发布服务或者发布服务的时候选择overwiter。 
【分享人】:江民彬

 

关于镶嵌数据集影像服务的更新

在确保镶嵌数据集所在文件夹和镶嵌数据集中所包含的栅格数据所在文件夹注册到ArcGIS for Server上的情况下(确保数据源注册而不是拷贝到arcgis for server): 
1 调用Add Raster to Mosaic Dataset 添加栅格数据到镶嵌数据集 
2 运行 Build Overview并选中Define Missing Overview Tiles 和 Generate Overviews选项。 
添加新的影像都镶嵌数据集之后,需要重启影像服务,才能彻底完成影像服务的更新。 

另外,如果镶嵌数据集创建的时候是以workspace的方式添加的栅格数据,后续所有新的栅格数据都直接拷贝到这些workspace中,那么在拷贝后只需要运行 Synchronize Mosaic Dataset工具来实现镶嵌数据集的实时更新即可。 

关于缓存服务的更新

对应数据源更新后,分两种情况来更新缓存: 
①如果您此时并未创建新缓存:在 Catalog 中的 server 节点下,右键单击已发布的缓存服务,manage cache -> manage tile -> 在Manage Map Server Cache Tiles窗口中基于要素类边界执行RECREATE_ALL_TILES操作 
②如果您已经创建了更新后的新缓存:在 Catalog 中的 server 节点下,右键单击待更新缓存的服务,选择 manage cache ->Import tile ,基于要素类边界导入上一步生成的切片,注意选中 Overwrite Tiles,这样会替换感兴趣区域中的所有像素,而不是与接收缓存中的图像合并或混合。  

 

缓存服务的更新需要注意的地方应该有:是否注册数据?先删除,再重新创建是否可以?

缓存服务的更新上面的方法①似乎有错误,现在成功的案例是:

【问题描述】:

发布缓存服务后,数据源部分区域有更新。数据源为全国范围,其中沿海位置有十二个点图层有更新,怎样更新缓存?

【解决办法】:
建议您的操作:
①创建覆盖12个点区域的面要素。
②取消点要素和刚创建的面要素的显示,保存地图文档,发布和之前不同名的缓存服务(缓存比例尺等设置一致。
③新服务手动创建缓存,按照感兴趣区域即刚创建的面要素去创建。
④Catalog中,对需要更新的缓存服务上右键→管理缓存→导入缓存,将新服务的缓存按照感兴趣区域(面要素区域)导入,
选择覆盖原有缓存。

未避免操作失误导致原有缓存丢失,建议先对原有缓存进行备份。

导入缓存的官方文档:http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#/na/0154000003sq000000/

posted @ 2016-11-01 13:56  mumu122  阅读(887)  评论(0编辑  收藏  举报