ArcGis中MapServer查询使用

为君一笑 提交于 2019-12-09 14:34:46

方式一、ArcMap

  1. 打开ArcMap,或者已经存在的mid格式文件。

    1. 双击图层信息

    2. 选择 - 定义查询

 

2.点击查询生成器

    1. 选择查询的图层要素的字段

    2. 选择一个逻辑判断符

    3. 查询出要素字段去重后的值

    4. 选中其中一个值


方式二、JS调用方式

  1. 进入到ArcGis的Rest请求地址(http://27.0.0.1:6080/arcgis/rest)

    1. 进入到对应的图层MapServer中

    2. 进入到Export Map操作界面中

]

2.  Layer Definitions意思差不多就是图层中的结果过滤

    1. 可以使用JSON格式,或者键值格式可参考文档中内容


ArcGISServer中的ExportMap使用方法

目的:为了得到某一范围的地图服务图片;

存在问题:

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请求示例:

http://192.168.5.253/ArcGIS/rest/services/test/MapServer/export?bbox=-197.259167,-84.50000035,208.475833,87.83333335&bboxSR=&layers=&layerDefs=0:COM1%3D%27COPPER%27&size=&imageSR=4326&format=&transparent=false&dpi=&f=html

2、 使用ExportMap需要注意的问题:

1)、地图发布的服务,不管是动态服务还是切片服务,都可以使用ExportMap方法;

2)、自己使用的时候,测试后感觉,切片服务的请求速度要比动态服务的请求速度要快;

3)、如果使用切片服务,需要在建立Tiled的时候,将所有需要的级别都添加上,可以不做缓存处理;如果不加上级别,当请求的范围较小时,图片会寻找当前裁切比例尺的最适合的级别显示,将会出现不正确的图片,当加上比例尺后,虽然没有做缓存处理,仍然可以获得正确的图片;

4)、裁切服务时,可以选择分图层裁切,在Advance options里可以选择;




参考文章如下:

ArcGISServer中的ExportMap使用方法

http://wenku.baidu.com/link?url=MO1EkpUSPQ7MvIt5ShOwpxi4lyEb18x-pVxQkeqvlk_Ty5dMXNyKWVbe6Ka7egVv4SCiYvbK0IGvH7bHbJ3QUpADh8HjNhS5gb0l_p4SHTm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!