ArcGIS JavaScript v3.17 - 空间查询,以查找与多边形要素相交的线要素数

时间:2016-08-18 18:13:36

标签: arcgis-js-api

我正在使用ArcGIS JavaScript v3.17创建一个工具来执行空间查询,以找出与多边形图层相交的线要素数。该过程适用于1个多边形图层,但不适用于其他3个多边形图层(导致错误)。我得到的错误是:"语法错误:意外的令牌<"当查询运行时,它并没有告诉我什么是错的。请参阅下面的示例代码有没有其他人见过这个?任何建议或帮助将不胜感激。

function submit() {
    $('#submit').on('click', function () {
        query;
    });
}
function query() {
    var polys = map.getLayer('lyr1');
    var lines = map.getLayer('lyr2');
    var queryTask = new QueryTask(lines.url);
    var query = new Query();
    query.geometry = polys.graphics[0].geometry;
    query.spatialRelationship = esri.tasks.Query.SPATIAL_REL_INTERSECTS;
    query.outFields = ['*'];
    queryTask.on("complete", queryTaskExecuteCompleteHandler);
    queryTask.on("error", queryTaskErrorHandler);
    queryTask.execute(query);
}
function queryTaskExecuteCompleteHandler(queryResults) {
    console.log("complete", queryResults.featureSet.features.length);
}
function queryTaskErrorHandler(queryError){
    console.log("error", queryError.error);
}

1 个答案:

答案 0 :(得分:1)

我已经通过不同的路线解决了我的问题,现在使用geometryEngine intersects过程来确定一条线是否与多边形相交。这涉及遍历每个线图的列表的for循环>运行将多边形特征与线图形几何比较的交叉过程>如果为true,则id被推送到数组>将使用该数组在线要素上获得总数和定义表达式。