当前位置: 首页 > news >正文

ArcGIS JSAPI 学习教程 - 要素图层(FeatureLayer)分类、分组设置可视化样式(ClassBreaksRenderer)

ArcGIS JSAPI 学习教程 - 要素图层(FeatureLayer)分类、分组设置可视化样式(ClassBreaksRenderer)

    • 完整代码
    • 在线示例

本文主要介绍一下通过ClassBreaksRenderer创建自定义渲染渲染。

主要应用于给不同数据设置不同样式,用于可视化展示分类数据。详见代码。

在这里插入图片描述

本文包括 完整代码以及在线示例


完整代码


<!doctype html>
<html lang="en">
<head><meta charset="utf-8"/><meta name="viewport"content="initial-scale=1,maximum-scale=1,user-scalable=no"/><title>Generate a class breaks visualization | Sample | ArcGIS Maps SDK for JavaScript4.33</title><script type="module" src="https://openlayers.vip/arcgis_api/calcite-components/2.8.1/calcite.esm.js"></script><!-- 引入ArcGIS JS API样式和脚本 --><link rel="stylesheet" href="https://openlayers.vip/arcgis_api/4.33/esri/themes/light/main.css"/><script src="https://openlayers.vip/arcgis_api/4.33/init.js"></script><script>var _hmt = _hmt || [];(function () {var hm = document.createElement("script");hm.src = "https://hm.baidu.com/hm.js?f80a36f14f8a73bb0f82e0fdbcee3058";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();</script><style>html,body,#viewDiv {padding: 0;margin: 0;height: 100%;width: 100%;}#myCustomGroup {position: absolute;top: 16px;left: 64px;}</style>
</head><body><script type="module">const [Map,SceneView,FeatureLayer,colorRendererCreator,] = await $arcgis.import(["@arcgis/core/Map.js","@arcgis/core/views/SceneView.js","@arcgis/core/layers/FeatureLayer.js","@arcgis/core/smartMapping/renderers/color.js",]);const Legend = await $arcgis.import("@arcgis/core/widgets/Legend.js");// 添加图层数据const layer = new FeatureLayer({popupEnabled: true,outFields: ["*"],popupTemplate: {title: '图层弹窗Title',content: function (feature) {// 获取字段var attributes = feature.graphic.attributeslet html = '<div class="popup-template-content">'for (const key in attributes) {// 排除不要的属性if (['FID', 'OID_'].includes(key)) {continue}html += `<p class="field-row"><span class="dt">${key}:  </span><span class="db">${attributes[key]}</span></p>`}html += '</div>'return html},},url: 'https://gs3d.geosceneonline.cn/server/rest/services/Hosted/ShangHaiBuilding/FeatureServer/0',title: '模拟建筑',});const map = new Map({layers: [layer],});// 创建场景const view = new SceneView({container: "viewDiv",map: map,zoom: 15,center: [116.20926165518152, 39.96813090329214],});view.when(function () {view.extent = layer.fullExtent;let legend = new Legend({view: view});view.ui.add(legend, "bottom-right");})// 配置渲染样式let colorParams = {layer: layer,view: view,// 指定字段field: "SHAPE__Area",// 分类方法classificationMethod: "natural-breaks",// 表达式valueExpression: `$feature.SHAPE__Area`,// 主题theme: "high-to-low",// 类型的数量numClasses: 10,// 图例legendOptions: {title: "建筑面积",showLegend: true}};// 应用渲染样式function renderLayer() {// when the promise resolves, apply the renderer to the layercolorRendererCreator.createClassBreaksRenderer(colorParams)// colorRendererCreator.createContinuousRenderer(colorParams).then(function (response) {layer.renderer = response.renderer;});}renderLayer();const toggle = document.getElementById("renderNodeUI");toggle.addEventListener("calciteSwitchChange", (event) => {colorParams.symbolType ? colorParams.symbolType = null : colorParams.symbolType = '3d-volumetric';renderLayer();});</script>
<div id="viewDiv"></div>
<div id="myCustomGroup"><calcite-block open heading="立体建筑" id="renderNodeUI"><calcite-label layout="inline">关闭<calcite-switch id="renderNodeToggle"></calcite-switch>开启</calcite-label></calcite-block>
</div>
</body>
</html>

在这里插入图片描述


在线示例

ArcGIS Maps SDK for JavaScript 在线示例: 要素图层分类、分组设置可视化样式

http://www.dtcms.com/a/511276.html

相关文章:

  • 10天!前端用coze,后端用Trae IDE+Claude Code从0开始构建到平台上线
  • [JavaEE初阶] 传输层协议---UDP 相关笔记
  • 考研408《操作系统》复习笔记,第二章《2.3 进程调度》
  • 网站开发流程有哪几个阶段网站关键词多少个合适
  • GitHub 热榜项目 - 日榜(2025-10-21)
  • 如何提高中药饮片批发业务的市场竞争力?
  • 门户网站建设关键点网站开发编程入门学习
  • 多路由隔离:构建模块化Agent工具服务器
  • [云计算] Classic Network-->VPC: 用SDN和Overlay实现隔离
  • linux shell编程实战 04 条件判断与流程控制
  • 10.21云计算作业
  • 服务器数据恢复—EqualLogic存储硬硬盘坏道,数据恢复有妙招
  • 风险识别不充分会让项目付出什么代价
  • LeetCode 46. 全排列
  • 洛谷 - P13982 数列分块入门 7(线段树解法 - 超详细版)
  • 页面PDF文件格式预览(不使用pdf.js)
  • Prompt Engineering 关键技能:精准掌控 LLM 输出的格式、内容与风格
  • 苹果(IOS)制作开发和发布证书
  • iOS 上架技术支持全流程解析,从签名配置到使用 开心上架 的实战经验分享
  • ISO 15765系列标准在车载诊断系统中的具体应用有哪些?
  • 人体含水量测量体验系统-VR节约用水互动游戏
  • 【ArcGIS软件教程】数据导出、CAD转换、属性表导出、裁剪、空间连接、修复几何
  • XYlease租赁商城小程序
  • 上海做网站建设平面设计线上培训班哪个好
  • 硬件语言:verilog(1)
  • 全排列——交换的思想
  • 【系统架构设计师(第2版)】六、数据库设计基础知识
  • LeetCode每日一题——缀点成线
  • COM组件访问权限错误的解决方案‌错误信息:检索 COM 类工厂中 CLSID 为{xxxx} 的组件失败,原因是出现以下错误:80070005 拒绝访问
  • 计算机组成原理 刘宏伟 第四章 存储器(下)