arcgis api for JavaScript4.2x 在vue中白膜图层的加载、(分类、分段)渲染

news2024/9/21 4:22:59

这篇文章是对有webgis前端开发经验的人

1、假设之前的三维视图均已成功加载,获取到了三维视图,这里的三维视图变量定义的名字是mapView(PS:三维视图mapview在项目初始化已经设置了,本示例中会直接使用调用结果)

2、注意:白膜图层的加载使用SceneLayer,所以需要引入或者加载对应的类库,具体引入方式根据自己项目。官网示例如下:

官网传送门:SceneLayer | API Reference | ArcGIS Maps SDK for JavaScript 4.27 | ArcGIS Developers

 我这里是安装了整个arcgis到项目中,使用的是第二种方法

 3、先定义渲染方式(这里会介绍分段、分类渲染两种方式)

3-1、分段渲染(这种渲染方式针对,字段值是数值类型的。例如1-100的数值分成三段,每段显示不同颜色)

官网传送门:ClassBreaksRenderer | API Reference | ArcGIS Maps SDK for JavaScript 4.27 | ArcGIS Developers

const fieldname = "" //渲染字段名称
 
const classbreaksrenderer = [{
                    min: 0.0,
                    max: 9.0,
                    value: "0-9",
                    color: [253, 245, 230, 1]
                },
                {
                    min: 10.0,
                    max: 99.0,
                    value: "10-99",
                    color: [142, 229, 238, 1]
                },
                {
                    min: 100,
                    max: 999.0,
                    value: "100-999",
                    color: [118, 238, 198, 1]
 }]

const renderer = {
                type: "class-breaks",//分段渲染类型
                field: fieldname,
                defaultSymbol: {//默认渲染样式(当字段值不属于任一分段时使用的备用样式)
                    type: "mesh-3d", //白膜图层是三维的,这里类型需要设置mesh-3d,具体查阅api
                    symbolLayers: [{
                        type: "fill",
                        material: {
                            color: [220, 220, 220, 1]
                        },
                        edges: {
                            type: "solid",
                            color: "rgba(200, 200, 200, 0.6)",
                            size: 1,
                        },
                    }, ],
                },
                classBreakInfos: classbreaksrenderer.map(u => {
                    return {
                        minValue: u.min,
                        maxValue: u.max,
                        symbol: {
                            type: "mesh-3d",
                            symbolLayers: [{
                                type: "fill", 
                                material: {
                                    color: u.color
                                },
                                edges: {
                                    type: "solid",
                                    color: "rgba(200, 200, 200, 0.6)",
                                    size: 1,
                                },
                            }, ]
                        }
                    }
                }),
  };

3-2、分类渲染(这种渲染方式,字段值一般是文本类型的。例如:一级、二级、三级、四级等等,每级显示不同颜色)

官网传送门:UniqueValueRenderer | API Reference | ArcGIS Maps SDK for JavaScript 4.27 | ArcGIS Developers

const fieldname = "" //渲染字段

const uniqueValueInfos = [{
                    value: "一级",
                    color: [253, 245, 230, 1]
                },
                {
                    value: "二级",
                    color: [142, 229, 238, 1]
                },
                {
                    value: "三级",
                    color: [118, 238, 198, 1]
                },
                {
                    value: "四级",
                    color: [30, 144, 255, 1]
                },
                {
                    value: "其它",
                    color: [221, 160, 221, 1]
}]

const renderer = {
                type: "unique-value",//分级渲染类型
                field: fieldname,
                defaultSymbol: {
                    type: "mesh-3d",
                    symbolLayers: [{
                        type: "fill", 
                        material: {
                            color: [220, 220, 220, 1]
                        },
                        edges: {
                            type: "solid",
                            color: "rgba(200, 200, 200, 0.6)",
                            size: 1,
                        },
                    }, ],
                },
                uniqueValueInfos: uniqueValueInfos.map(u => {
                    return {
                        value: u.value,
                        symbol: {
                            type: "mesh-3d",
                            symbolLayers: [{
                                type: "fill", 
                                material: {
                                    color: u.color
                                },
                                edges: {
                                    type: "solid",
                                    color: "rgba(200, 200, 200, 0.6)",
                                    size: 1,
                                },
                            }, ]
                        }
                    }
                }),
};

4、白膜图层的加载

let layerUrl = "" //白膜服务url
 
let layerBM = new SceneLayer({
                id: "",
                title: "",
                url: layerUrl,
                renderer: renderer,//renderder 的值参考步骤3中的结果
                //definitionExpression: "", //字段筛选显示图层数据,这里默认显示全部注释(where根据自身需求写)
                elevationInfo:{
                    mode: 'on-the-ground'
                }
            })
            self.mapView.map.add(layerBM );

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS 8安装Oracle 19c rpm包

一、环境 centos 8 oracle 19c rpm安装 二、安装前准备 1、创建用户组 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle2、安装依赖包 如果yum找不到安装包,可以去下载 https://centos.pkgs.org/ 点击跳转 缺少的依赖包可…

Salesforce流程自动化Flow_Pause功能揭秘!

通过自动化,帮助团队提升效率,将员工从那些重复、枯燥、耗时的工作中解放出来,转而从事更具创造性、更有价值的工作,是很多企业数字化转型朴素而又迫切的需求,也是世界No.1 CRM——Salesforce的一大领先优势。 Flow B…

Java集合框架:优先级队列、PriorityQueue详解

目录 一、优先级队列介绍 1. 什么是大根堆(大堆)和小根堆(小堆) 2. 堆的性质 二、堆的创建 1. 向下调整建堆 向下调整算法代码实现: 2. 创建大根堆 三、堆的插入和删除(向上调整算法) …

Linux性能瓶颈分析之TOP指标分析

Linux性能瓶颈分析之TOP指标分析 文章目录 Linux性能瓶颈分析之TOP指标分析一、查看CPU二、监控CPU总结 一、查看CPU 1.查看cpu基础信息 lscpu2.查看cpu详细信息 cat /proc/cpuinfo3.统计cpu信息 cat /proc/cpuinfo |grep "physical id" |sort |uniq |wc -l 查看…

骨传导耳机可以长期佩戴吗,分享几款舒适度极高的骨传导耳机

近几年有一种新型传播方式的耳机,将声音转化为振动,从而让我们的听觉神经感知到。这种声音传播方式叫做"骨传导",所以叫做骨传导耳机。因为它不需要通过耳膜进行传播声音,所以可以让耳朵在不接触外界的情况下听到声音。…

B051-cms06-退出 回车登录 登录拦截 记住我 SVN

目录 注销功能实现1.找到退出按钮修改请求路径2.后端删除Session并跳转到登录页面 回车登录功能登陆拦截1.编写登录拦截器2.配置拦截器 记住我后端实现页面实现 取消记住我后端实现页面实现 注销功能实现 1.找到退出按钮修改请求路径 header.jsp <% page language"j…

翻过那座山——Jenkins编译发布web程序(.net framework web application)

&#x1f4e2;欢迎点赞 &#xff1a;&#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff0c;赐人玫瑰&#xff0c;手留余香&#xff01;&#x1f4e2;本文作者&#xff1a;由webmote 原创&#x1f4e2;作者格言&#xff1a;新的征程&#xff0c;我们面对的不是…

无法登录github解决方法

140.82.113.4 github.com 199.232.69.194 github.global.ssl.fastly.net 185.199.108.153 assets-cdn.github.com 185.199.109.153 assets-cdn.github.com 185.199.110.153 assets-cdn.github.com 185.199.111.153 assets-cdn.github.com 注意以管理员方式运行notepad才能保存 …

Github上标星40K的Java面试笔记,解决95%以上的Java面试

该文档在Github上收获40Kstar的Java面试神技&#xff08;这赞数&#xff0c;质量多高就不用我多说了吧&#xff09;非常全面&#xff0c;包涵Java基础、Java集合、JavaWeb、Java异常、OOP、IO与NIO、反射、注解、多线程、JVM、MySQL、MongoDB、Spring全家桶、计算机网络、分布式…

集成学习(ensemble learning)应如何入门?

集成学习算法之间的主要区别在于以下3个方面: 提供给个体学习器的训练数据不同; 产生个体学习器的过程不同; 学习结果的组合方式不同&#xff0c;从这三个方面去学。 多样性 数据样本多样性&#xff1a;产生数据多样性的方法主要有3种: 输入样本扰动; 输入属性扰动; 输出表示…

掌握Python的常用模块pandas

Pandas 简介 Pandas 是 Python 的核心数据分析支持库&#xff0c;提供了快速、灵活、明确的数据结构&#xff0c;旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具&#xff0c;其长远目标是成为最强大、最灵活、可以支持…

10 编码转换问题

文章目录 字符编码问题编码转换问题ANSI转UnicodeUnicode转ANSIUtf8转 ANSIutf8 转UnicodeANSI 转UTF-8Unicode 转 UTF-8 全部代码 字符编码问题 Windows API 函数 MessageBoxA:MessageBox 内部实现&#xff0c;字符串编码(ANSI)转换成了Unicode,在调用MessageboxW MessageBox:…

助推RASP2.0 领航ADR新赛道 边界无限打造应用安全防护新范式

2023年以来&#xff0c;数字安全一词多次被提及&#xff0c;成为了我们生活和工作中的一项重要课题。近日&#xff0c;由数世咨询、CIO时代联合主办&#xff0c;新基建创新研究院作为智库支持的“第三届数字安全大会”在北京隆重举办&#xff0c;本届大会以“风险驱动”为主题&…

第26章 uView 内置路由使用注意事项

1 uView 内置路由不支持通过“localhost”域名直接获取数据。 在前后分离开发中“axios” 路由支持使用“localhost”域名或IP地址获取后端的数据&#xff0c;所以不管是IIS部署还是后端调试通过“axios” 路由都能获取数据&#xff0c;对于.NetCore的前后端分离开发来说“axio…

python爬虫之Scrapy框架--保存图片(详解)

目录 Scrapy 使用ImagePipeline 保存图片 使用图片管道 具体步骤 安装相关的依赖库 创建Scrapy项目 配置settings.py 定义Item 编写Spider 运行Spider Scrapy 自定义ImagePipeline 自定义图片管道 Scrapy 使用ImagePipeline 保存图片 Scrapy提供了一个 ImagePipelin…

使用原生AJAX请求数据

一、什么是AJAX AJAX英文全称 Asynchronous Javascript And XML&#xff08;异步的JavaScript和XML&#xff09;&#xff0c;是指一种创建交互式网页应用的网页开发技术&#xff0c;用于浏览器和服务器之间进行数据交互。AJAX在浏览器与Web服务器之间使用异步数据传输&#xf…

【Jetpack】Navigation 导航组件 ③ ( 为 Navigation Graph 页面跳转 action 添加跳转动画 )

文章目录 一、为 Navigation Graph 添加跳转动画1、进入 Navigation Graph 配置的 Design 模式2、选中 action 跳转3、为 action 跳转设置 enterAnim 进入动画4、为 action 跳转设置 exitAnim 退出动画5、通过代码为 action 跳转设置进入 / 退出动画6、执行效果 代码地址 : CS…

DBeaver连接mysql时报错com.mysql.cj.jdbc.Driver的解决方法【修改驱动下载的maven地址和重新下载驱动】

文章目录 说明解决方法1、打开DBeaver点击窗口-->窗口-->首选项-->链接-->点击驱动-->Maven-->添加2、删除已有的驱动3、重新创建mysql链接 说明 网上下载了最新版本的DBeaver软件&#xff0c;但是链接mysql的时候驱动下载失败&#xff0c;所以就报下面错误…

Cisco Secure Client 5.0.03072 (macOS, Linux, Windows iOS, Andrord)

Cisco Secure Client 5.0.03072 (macOS, Linux, Windows & iOS, Andrord) 思科安全客户端&#xff08;包括 AnyConnect&#xff09; 请访问原文链接&#xff1a;https://sysin.org/blog/cisco-secure-client-5/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出…

半小时摸清一个行业:ChatGPT+麦肯锡关键词法

大家好&#xff0c;我是可夫小子&#xff0c;关注AIGC、读书和自媒体。 说实话&#xff0c;在行业分析中「关键词分析法」最早见诸于冯唐&#xff0c;并非是麦肯锡公司的方法论。 冯唐作为麦肯锡前合伙人&#xff0c;讲了快速掌握一个行业的基本方法&#xff0c;一共有三个看似…