我首先使用图形查询多边形的要素图层。这成功运行然后我的回调函数旨在获取第一个查询的结果(作为多边形返回,然后使用Union合并为单个多边形)并再次查询它。但是,queryFeatures和queryTask仅适用于URL /要素图层。有没有办法在多边形上执行查询/子查询?
下面我有一个截断版本的代码。我在queryShapes中查看第一个查询,然后在结果中创建一个多边形,这是您在第二个函数末尾看到的 housUnionPoly 。 housUnionPoly 是我尝试再次查询的多边形。当然,我得到的错误是在最后一行说明queryFeatures不是多边形的函数。
queryShapes = function () {
var q = new Query();
q.geometry = unionGFX.geometry;
q.spatialRelationship = Query.SPATIAL_REL_INTERSECTS;
q.outSpatialReference = map.spatialReference;
q.outFields = ["*"];
q.returnGeometry = true;
//query floodzones
var qTask = new QueryTask("URL");
qTask.execute(q);
qTask.on("complete", subQuery);
};
function subQuery() {
var queryHouse = new Query();
queryHouse.geometry = floodUnionGFX.geometry;
queryHouse.spatialRelationship = Query.SPATIAL_REL_INTERSECTS;
queryHouse.outSpatialReference = map.spatialReference;
queryHouse.outFields = ["*"];
queryHouse.returnGeometry = true;
houseUnionPoly.queryFeatures(queryHouse, selectpolyHousing);
};
如果有帮助,子选择基本上是两个图形的交集。或者,如果我可以使用该图层上的两个图形的交集对原始图层执行查询,那将是很好的。