一、需求背景:
最近碰到这样的需求,就是手头拥有他人给的切片文件,但是想在自己服务器中将该切片文件发布成切片服务。如何实现?
二、解决办法:
此类需求是非常常见的,arcgis server 提供了Servering tools工具箱,如何使用这些工具可以参考:
和本人另一文章:
http://www.cnblogs.com/myyouthlife/p/3260240.html
在这些工具箱中,有导入地图缓存切片的工具import map server cache ,可以将切片导入已有的切片服务。使用该工具可以用来更新已有的切片服务,其原理是将指定切片文件夹中的切片去叠加或者覆盖切片服务中的切片,区别在于是否指定overwrite参数,未指定该参数,就采用新旧混合图像的形式,而指定了该参数,旧的切片会被删除。
通过上面的描述可知,要使用导入切片,必须得有个已有的切片服务,如果只有切片,必须根据切片的切片方案去发布一个空的切片服务,然后往该空的切片服务中导入切片。
由于影像切片采用jpeg格式,jpeg不透明,即使没有指定overwrite的参数,新导入的切片会叠加到旧的切片上面,不会以两者的混合出现!
三、具体操作步骤:
STEP1:发布一个空的切片服务
为了使得空的切片服务中可以容纳导入的切片,故切片服务必须与原有切片文件切片方案一致。假设有切片文件如下,
conf.cdi中包含了切片的范围信息,而conf.xml中含有切片的空间参考信息和比例级别信息,这两个文件组成了切片方案,如果没有这两个文件,很难构建一个空的切片服务与切片的方案一样。
通过arccatalog创建一个空shapefile文件,设置文件的空间参考信息和extent,通过打开conf.xml 中获取,也可以从conf.cdi 中获取extent,设置extent。由于mxd中没有图层的话是没有办法发布服务的,故采用此办法添加个空白图层。
将该地图文档发布成切片地图服务,在选择切片方案的时候选择,a tiling scheme file,将conf.xml添加上,这样保证空切片地图服务和切片的方案一致。
STEP2:导入切片文件到切片服务
从 server tools 中选择import map server cache
在打开的界面中填写相关参数,1为刚才发布的空切片服务 ,2为切片类型,可以是切片包,也可以是切片 3.要导入的切片,或者4要导入的切片包
tips:在导入的时候最好勾选overwrite的参数,没有勾选overwrite参数可能出现错误
执行完后,打开原有的切片服务,可以发现切片服务的服务目录下具有了切片。