前言:(基于windows环境)
实际项目中可能由于机器之间的差异,基于ArcGIS Server进行切片缓存会很浪费时间。因此我们通常会先在一台性能很强的服务器上进行操作。
注意:此处对如何基于Arcmap进行服务发布不做详细说明,可参考其他博文或者官方文档。
首先:在windows服务器上将已经切片缓存好的切片文件拷贝出来。说明:通常情况下已经缓存好的切片文件都比较占空间,因此需要准备移动硬盘进行拷贝。
其次:基于Arcmap发布动态服务。随便找一个和切片范围相同的矢量图层,不用做任何的设置及符号渲染;我们的目的是将切片进行展示,其他花里胡哨设置的可以跳过。
第一种发布方法:
静态图层
- 根目录下的静态图层
- 发布动态地图,服务名为fuwu,分析后,直接发布,其他不用配置。停止该图层服务。
- gisserver的缓存目录下,即E:\arcgisserver\directories\arcgiscache下,(我的是在D盘下,你们寻找自己相对应的路径)创建新的文件夹,名字与上面发布的动态图层相同,为fuwu。
- 将切好的地图数据拷贝到新建的文件夹下。
- 打开gisserver管理页面,打开刚才发布的动态图层,启动该图层服务。打开缓存参数,查看在切片方案下是否有切片比例。若加载了切片方案,则保存并重新启动
二、文件夹下的静态图层
1、发布动态地图,分析后,直接发布,其他不用配置。发布位置为ditu文件夹,服务名为fuwu. 停止该图层服务。
- gisserver的缓存目录下,即E:\arcgisserver\directories\arcgiscache下,创建新的文件夹,名字为“服务发布文件夹名”+“_”+“服务名”。即ditu_fuwu.
- 将切好的底图数据拷贝到新建的文件夹下。
- 打开gisserver管理页面,打开刚才发布的动态图层,启动该图层服务。打开缓存参数,查看在切片方案下是否有切片比例。若加载了切片方案,则保存并重新启
三遇到问题
- 发布过程中,切片的坐标系config.xml与发布的arcmap中数据的坐标系不一致。
- 在发布完后,可能gisserver与arcmap安装为中文版的,导致切片中Layers为图层而不是拼音Layers,需要改为中文.
第二种发布方法:
1、发布缓存服务,在发布时,选择切图文件,并且设置为手动进行缓存。
2、停止该服务。
3、在缓存目录下,删除fuwu/Layers/_alllayers
4、将切片移动到fuwu/Layers下面
5、重新启动服务。