目的:为了得到某一范围的地图服务图片;
存在问题:
1、由于数据量比较大,利用动态图的方式获取,服务响应太慢;
2、由于数据经常更新,利用切片图的方式获取,存在随时需要重新切片;
3、解决问题的办法:利用ArcGISServer中的ExportMap方法;
ExportMap中支持的参数:
1、F:返回类型,支持html | json | image | kmz四种格式,我们请求的是图片,选择f=image即可;
2、Bbox:地图的左下角坐标和右上角坐标,排列顺序是<xmin>, <ymin>, <xmax>, <ymax>。例如bbox=-104,35.6,-94.32,41;
3、Size:返回图片的大小,宽度和长度,例如:size=600,550;
4、imageSR:请求图片的坐标系统;
5、format:请求图片的格式,有以下几种:png | png8 | png24 | jpg | pdf | bmp | gif | svg | png32
6、layers:请求图片的图层,有四个关键词:show(显示)hide(隐藏)include(包括)exclude(不包括);例如:show:1(表示显示第一层数据),同样hide:1(表示隐藏第一层数据);
7、layer Definitions:表示获取满足当前条件的数据,相当于where条件或者是Filter;例如:layerdefs=0:COM1='COPPER'(表示第0层,字段COM1中的值等于“COPPER”)的所有要素;
8、transparent:透明度,只对png格式有效;
注意事项:
1、 有效的EpxortMap请求示例:
2、 使用ExportMap需要注意的问题:
1)、地图发布的服务,不管是动态服务还是切片服务,都可以使用ExportMap方法;
2)、自己使用的时候,测试后感觉,切片服务的请求速度要比动态服务的请求速度要快;
3)、如果使用切片服务,需要在建立Tiled的时候,将所有需要的级别都添加上,可以不做缓存处理;如果不加上级别,当请求的范围较小时,图片会寻找当前裁切比例尺的最适合的级别显示,将会出现不正确的图片,当加上比例尺后,虽然没有做缓存处理,仍然可以获得正确的图片;
4)、裁切服务时,可以选择分图层裁切,在Advance options里可以选择;