arcgis js 4.x加载SceneLayer并实现基于属性查询定位及高亮

一、代码

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"><title></title><link rel="stylesheet" href="https://js.arcgis.com/4.24/esri/themes/light/main.css" /><script src="https://js.arcgis.com/4.24/"></script><style>html,body,#viewDiv {padding: 0;margin: 0;height: 100%;width: 100%;position: absolute;}</style></head><body><div id="viewDiv"><div style="position:absolute;right:10px;top:10px">请输入<input type="text" id="myInput" /><button onclick="search()">查询</button></div></div><script>var view, sceneLayer;var Map, Graphic, MapView, MapImageLayer, GraphicsLayer, SpatialReference, Extent, Point, WMTSLayer, esriConfig,TileLayer, Polygon;var trajectoryData = [];require(["esri/Map", "esri/Graphic","esri/views/SceneView", "esri/layers/MapImageLayer", "esri/layers/GraphicsLayer","esri/geometry/SpatialReference", "esri/geometry/Extent", "esri/geometry/Point","esri/layers/WMTSLayer", "esri/config", "esri/layers/TileLayer", "esri/geometry/Polygon", "esri/layers/WMSLayer","esri/core/urlUtils", "esri/layers/VectorTileLayer", "esri/WebScene", "esri/layers/SceneLayer","esri/portal/Portal", "esri/portal/PortalItem", "esri/views/layers/SceneLayerView"], function (Map, Graphic,SceneView,MapImageLayer, GraphicsLayer,SpatialReference,Extent,Point,WMTSLayer, esriConfig, TileLayer, Polygon, WMSLayer, urlUtils, VectorTileLayer, WebScene, SceneLayer,Portal, PortalItem, SceneLayerView, Query) {Map = Map;Graphic = Graphic;MapView = MapView;MapImageLayer = MapImageLayer;GraphicsLayer = GraphicsLayer;SpatialReference = SpatialReference;Extent = Extent;Point = Point;WMTSLayer = WMTSLayer;esriConfig = esriConfig;TileLayer = TileLayer;Polygon = Polygon;const map = new Map();sceneLayer = new SceneLayer({url: "https://edutrial.geoscene.cn/geoscene/rest/services/Hosted/test_WSL1/SceneServer/layers/0",//outFields: ["*"]//最好不要把SceneLayer的outFields设置为"*",这个图层中要素的字段很多,如果把所有字段信息都传输到客户端,网络传输的压力会比较大,您可以观察此前network中请求数量是100多,设置为"*"后,请求数量变成800多了});view = new SceneView({container: "viewDiv",map: map,});map.add(sceneLayer);});let highlight;function search() {var inputElement = document.getElementById('myInput');// 获取input的值var inputValue = inputElement.value;view.whenLayerView(sceneLayer).then(function (layerView) {let query = sceneLayer.createQuery();query.where = "OBJECTID =" + inputValue;//场景图层使用的OBJECTID字段是OBJECTID_1,在查询返回的字段中,要包含OBJECTID_1字段信息(通过设置outFields信息),这样才可以高亮这个要素。//可以设置returnGeometry,返回该要素对应的footprint,然后定位过去query.multipatchOption = "xyFootprint";query.outFields = ["objectid_1"];query.returnGeometry = true;sceneLayer.queryFeatures(query).then(function (result) {console.log(result)if (result.features.length > 0) {view.goTo(result.features)}if (highlight) {highlight.remove();}highlight = layerView.highlight(result.features);})});}</script></body>
</html>

二、效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/652067.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2周速通春招联想Lenovo机器学习算法岗-面经篇

联想校招官网-联想校园招聘 不得不夸一下联想的效率&#xff0c;笔试到offer只用了两周。 先说教育背景&#xff1a;河南科技大学 本科&#xff0c;南京邮电大学 硕士。 时间线 4.x投简历&#xff0c;我一志愿是天津的岗位&#xff0c;想着天津新盖了厂房&#xff0c;容易进一…

政安晨:【Keras机器学习示例演绎】(十九)—— 可视化网络学习内容

目录 简介 设置 建立特征提取模型 设置梯度上升过程 设置端到端滤波器可视化回路 可视化目标层中的前 64 个滤波器 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益&…

Java集合相关的List、Set、Map基础知识

目录 一、集合介绍 二、List 三、Map HashMap的数据结构 如何理解红黑树 四、set 一、集合介绍 在Java中&#xff0c;集合是一种用于存储对象的数据结构&#xff0c;它提供了一种更加灵活和强大的方式来处理和操作数据。Java集合框架提供了一系列接口和类&#xff0c;用…

[极客大挑战 2019]Upload、[ACTF2020 新生赛]Upload、[MRCTF2020]你传你呢

[极客大挑战 2019]Upload 打开环境&#xff0c;是上传一句话木马的题 先上传1.php试试&#xff0c;发现不可以 试试改后缀为phtml&#xff0c;提示语句中不能包含<?&#xff0c;只能改木马&#xff1a; <script language"php">eval($_POST[line]);</sc…

牛客NC368 质数的计数【中等 基础数学,数论 C++/Java/Go/PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/190167d1990442da9adb133980259a27 思路 判断x是否是质数&#xff1a;这是判断质数最好的代码了public boolean isPrime(int x){if(x 2 || x3) return true;if(x%6!1 && x%6!5) return false; //不在6倍…

C语言:插入排序

插入排序 1.解释2.步骤3.举例分析示例结果分析 1.解释 插入排序是一种简单直观的排序算法&#xff0c;它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上&#xff0c;通常采…

【10-逻辑回归分类器:Scikit-learn中的二元分类实战】

文章目录 前言逻辑回归简介设置Scikit-learn环境选择数据集数据预处理训练逻辑回归模型模型评估优化模型结论前言 分类问题是机器学习中最常见的任务之一,而逻辑回归是处理二元分类问题的一种强大且直观的技术。本篇博文将深入探讨如何在Scikit-learn中实现逻辑回归分类器,并…

Hadoop之路

hadoop更适合在liunx环境下运行&#xff0c;会节省后期很多麻烦&#xff0c;而用虚拟器就太占主机内存了&#xff0c;因此后面我们将把hadoop安装到wsl后进行学习,后续学习的环境是Ubuntu-16.04 &#xff08;windows上如何安装wsl&#xff09; 千万强调&#xff0c;有的命令一…

深度学习运算:CUDA 编程简介

一、说明 如今&#xff0c;当我们谈论深度学习时&#xff0c;通常会将其实现与利用 GPU 来提高性能联系起来。GPU&#xff08;图形处理单元&#xff09;最初设计用于加速图像、2D 和 3D 图形的渲染。然而&#xff0c;由于它们能够执行许多并行操作&#xff0c;因此它们的实用性…

java-Spring-(MyBatis框架-xml管理)

目录 前置条件 xml与注解比较 1.1 xml定义 1.2 和SQL注解比较 建包准备 插入数据 ​编辑 更新数据 删除数据 查询数据 查看单字段查询 &#x1f3f7;&#x1f4a3;前置条件 创建一个spring boot 初始化的项目 &#x1f3f7;&#x1f4a3;xml与注解比较 1.1 xml定义 …

VBA技术资料MF145:清空回收站

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

ElasticSearch语句中must,must_not,should 组合关系

前言&#xff1a; 在实际应用中&#xff0c;发现当bool中同时使用must和should 没有达到想要的想过&#xff0c;而是只展示了must中的命中数据&#xff0c;所以打算探究一下bool中 三种逻辑关系的组合。 上述查询语句只展示了must的结果&#xff0c;没有should中的结果&#…