ArcGIS JavaScript v3.17 - Пространственный запрос, чтобы узнать, сколько линейных объектов пересекают полигональный объект

Я работаю над инструментом, использующим ArcGIS JavaScript v3.17 для выполнения пространственного запроса, чтобы выяснить, сколько линейных объектов пересекают слой многоугольника. Процесс работает для 1 слоя многоугольника, но не работает для остальных 3 слоев многоугольника (приводит к ошибке). Я получаю сообщение об ошибке: "SyntaxError: Неожиданный токен <" при выполнении запроса, что не говорит мне много о том, что не так. Смотрите пример кода ниже. Кто-нибудь еще видел это раньше? Любые предложения или помощь будет принята с благодарностью.

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 ответ

Я решил свою проблему, выбрав другой маршрут, и теперь использую процесс geometryEngine intersects, чтобы выяснить, пересекает ли линия многоугольник. Это включает цикл for, который просматривает список каждой линейной графики> запускает процесс пересечений, сравнивая объект полигона с геометрией линейной графики> если true, идентификатор передается в массив> будет использовать этот массив для получения итогового значения, а также определение выражения на линии объектов.

Другие вопросы по тегам