ArcGIS查询总结

 ArcGIS查询主要是三个类:IdentifyTask,.FindTask,QueryTask

1.IdentifyTask   

      仅仅是空间查询,对一个地图服务多个图层(全部,或者指定几个ID索引)做空间识别查询,IdentifyTask仅仅用于空间信息查询
用法简介:

//identifyTask 是对一个地图服务多个图层(全部,或者指定几个ID索引)做空间识别查询</span>
	    identifyTask = new esri.tasks.IdentifyTask(featureSearch_queryUrl);
	    identifyParams = new esri.tasks.IdentifyParameters();
	    identifyParams.tolerance = 3;//必须的
	    identifyParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;//必须的,LAYER_OPTION_ALL:所有图层被识别,包括不可见图层,还有:LAYER_OPTION_TOP、LAYER_OPTION_VISIBLE可选
	    identifyParams.width = map.width;//可选
	    identifyParams.height = map.height;//可选
	    identifyParams.layerIds = featureSearch_layerId;////必须的,查询的图层id
	    identifyParams.returnGeometry = true;//可选,默认不返回,false,是否返回图形


 
 

2.FindTask   仅仅是属性查询,对一个地图服务多个图层(全部,或者指定几个ID索引)做属性查询

用法简介:

 //FindTask 对一个地图服务多个图层(全部,或者指定几个ID索引)做属性查询
	    findTask = new esri.tasks.FindTask(featureSearch_queryUrl);
	    findParams = new esri.tasks.FindParameters();
	    findParams.layerIds = [2,3,4,5,6,7,8,0,1,9];//必须的,查询的图层id
	    findParams.returnGeometry = true;//可选,默认不返回,false,是否返回图形
	    findParams.searchFields = ["NAME"];//可选,查询的图层字段,可设多个,若没有设置,则默认查询所有字段


3.QueryTask
   可以同时进行空间和属性的综合查询(框选与属性,缓冲区与属性),对一个地图服务的某个子图层内进行查询

用法简介:

//QueryTask 对一个地图服务某个图层做空间、属性查询
	facilitySearch_queryTask = new esri.tasks.QueryTask(服务的某个图层的URL);
	facilitySearch_queryParams = new esri.tasks.Query();
	facilitySearch_queryParams.returnGeometry = true;//可选,默认不返回,false,是否返回图形
	facilitySearch_queryParams.outFields = ["*"];//可选,但是不设置将不会返回任何字段
        facilitySearch_queryParams.where = "字段1 like '%" + 变量1 + "%' and 字段2 like '%" + 变量2 + "%'";//必须的
        facilitySearch_queryParams.where = null;
	facilitySearch_queryParams.geometry = geometry;//必须的
	facilitySearch_queryTask.execute(facilitySearch_queryParams, showResults, errors);



猜你喜欢

转载自blog.csdn.net/zhangchun888/article/details/50395535