您的位置:首页 > Web前端 > JavaScript

ArcGIS API For JavaScript——空间查询(QueryTask)

2017-05-26 14:23 357 查看
ArcGIS API For JavaScript提供了两个工具类用于查询任务

IdentifyTask
:利用该工具类可以对多个图层进行查询,主要利用
IdentifyParameters
对象来规定空间查询的参数。

QueryTask
:该工具只能对一个图层进行查询,但是利用该类进行查询的时候课指定属性过滤,所以可以同时进行几何和属性查询。该工具主要利用
Query
类来设定查询参数。

本文主要介绍利用QueryTask工具

首先构造一个
Query
对象,如果是几何查询,则设置
Query
对象的
geometry
属性为
true
。再通过设置
where
定义查询语句。

//String查询示例
query.where = "NAME = '" + stateName + "'";
//数字查询示例
query.where = "POP04 > " + population;


Query
为对象执行
QueryTask
对象的
execute
方法,返回一个要素集,调用
Graphic
attributes.fieldName
属性获取要素字段值。

下图是
QueryTask
要用到的类和方法。



以下是一个通过属性查询要素属性得到示例(已知OBJECTID,查询其他属性值)

var queryTask =new QueryTask("https://myserver:6443/arcgis/rest/services/esri/drivingSchool/FeatureServer/0");
var query=new Query();
query.outFields=["Name","OBJECTID","ds_count","ds_fee","de_desc","ds_phone","ds_pass2","ds_pass3","ds_evalute","ds_eval_nu"]
query.where="OBJECTID="+schoolObjecid;
queryTask.execute(query,function(fs){
var ds=fs.features[0];
//如果查询成功并有返回值,控制台输出其他属性
if(ds){
console.log(ds.attributes.Name+","+ds.attributes.ds_count+","+ds.attributes.ds_fee+"")
}else{
mui.alert("信息获取错误!!!!")
}
});


利用图形查询的例子,这里就不说了。方法就是设置
Query.geometry
为通过绘制工具得到的图形,然后再执行操作。大家可以参考:

ArcGIS API for JavaScript——绘制工具(Draw)

GIS技术交流:GISGO(http://www.gisgo.top)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐