AE开发之图层渲染20210603

news2024/11/15 8:57:37

AE开发之图层渲染

  • 比例符号化
  • 地图的整饰
  • 唯一值符号的符号化过程
  • 点符号设置,线符号设置
  • 标注图层,

(写得不好,不推荐看)

唯一值符号化,字段进行设置,这里用到了UniqueValueRenderer接口,这里面有一个FieldCount字段,用于设置或返回渲染唯一值

通过,IUniqueValueRender中的AddValue方法。

唯一值多字段,有一个字段或者多个字段,唯一值一个字段,实习期间多个字段的尽量去实现表达出来

分级色彩符号化,有一个数值型字段,进行分级,分级方法

数值间隔是多少,等间距,自然断点,基于统计,基于个数,等个数,100个点,等个数就是分十级,每一级个数一样。

分级是有分级方法,分级之后用什么颜色去表达呢,

分级设色,分级符号化,根据面积设置了五个分级,根据面积进行不同的颜色设置。

再一个呢?

颜色符号化,分级符号化,不同的区域,根据面积大小,用不同大小的符号进行表示,分级符号化进行表示

比例符号化

数值型字段,假设这个点,想表达不同的数值的亮度变化,我去表达一个数值,其他的点,超过这个数值,我就用2倍大小

MaxDataValue MinDataValue 表达最小值最大值符号的大小,进行指定,其他的符号会根据比例进行设置,点密度符号化,主要用于面状要素,数值型要素的高低,人口等点越密集,代表的亮值,当前面域数值之内,绘制几个点,“面密度方法”

点密度图是什么含义,统计符号,饼图,折线图,面状图

找代码,找方法,找类,统计符号一般用 chartRender类,看看是折线图还是饼状图等设置,

双值符号化,两个值进行表达的时候,一个值有分级符号化,另一个是用颜色去表达,表示两个层。

多比例尺符号化,是什么概念呢,我在不同的地图的缩放尺度下,显示不同的表达效果,这时候就需要多比例尺符号设置

1-1000比例尺范围内,设置一个显示效果,设置不同的符号化显示效果,可能效果就比较优秀了,多比例尺符号化

地图的整饰

加图例,那么图例应该嫁到哪里呢,加在透明层上面,

打开地图之后,点层设置里面,这里面有一个symbol,很多渲染的效果,第一个效果就是简单渲染,

unige valuew只能用数值型的嘛?答:也可以是字符串,比如城市名称,比如城市编码,大型城市,中型城市,小型城市,可能编码一样,但是名称不一样,

可以把所有的唯一值,进行设置

找到所有的唯一值进行应用,

arcgis所表达的这个界面,我们可以做一个类似的界面,

我们可以单独的拿出符号化这一个窗口,进行实现,这个界面工作,不涉及到AE开发,只涉及到C#进行操作

建议去尝试一下,

最多三个字段和他们的名字,设置几个字段,去添加唯一值,一般情况下,在属性表里面,存这个记录,想用什么样的符号去表达,编号或者名称放在这个里面去,当然我们现在也可以理解了,当然了我们也可以看到分级设色,看到渐变色,设置一个色带,这个色带是预先设置出来的,设置这个工作,可以设置起始颜色和终止颜色,然后开始计算,自动进行色带的生成,当前是用什么分级方法,手动的进行指定和设置,我们可以呢,等间距,十级的等间距,也可以去设置,自己去定义一个间距,设定一个。

当然还有呢,我们可以,最大值最小值,各占25%的比例,这个是自然断点,是根据当前的,根据个数或者间距,符合分布规律的

给大家去看这个是什么目的呀,每一个分级都有一个对应的类,我们要用这个对应的类去进行分级设定。

比例符号化,指定一个最小符合,进行去表达,其余的,按比例进行生成,其余的进行设置和生成,无限制放大可能效果不好,我们可以设置最大是多少,最小是多少,进行设置,

还有里面chart,饼图,折线图,进行设置,进行表达。

点击每一个菜单项,进入,自己去设想的话,如果唯一值符号化,去设置,要考虑要用什么颜色,什么符号,考虑什么形状,什么大小啊,线型是什么

单一符号化设置,符号颜色设置,代码颜色符号都固化了,我们自己做的时候,要做一个对话框,进行选择和设置,后期做人机交互。

单一符号化,当前选择的这个层,hateTExt方法,选择iTem,选择层,选择地图,他是空的,

按下鼠标的时候进行选中的,我们去判断,所对应的shapeType,这是什么类型,多点要素是什么,多个点代表一个实体,有没有这个问题呢?多个点有同样的属性,有多个点做成一个Multipoint,如果是这个是一个点或者multipoint,进行SimpleMarkerSymbol,对简单符号化渲染的这个类,SimpleRender这个,

返回的是render的这个simple进行赋值,设定一个符号,创建一个simplerender这个对象,赋给当前这个层的render属性,一刷新,就用简单符号进行渲染了

上面是点的。线 面都一样

上面没有赋宽度,默认是 1 ,后面都是一样的

后面唯一不一样的是,simplerender ,简单渲染是不是很简单啊

geometryLine GeometryRing envelope 椭圆

只要是面的,我们都去执行下面的代码

简单单一符号化(上面)

下面再看,唯一值符号化,怎么样才能实现唯一值符号化,首先要找到唯一值,怎么去找唯一值呢

指定字段,然后去调用datastatistic让他去指定哪一个字段,再去统计一个唯一值,有多少个唯一值,就要有多少个颜色的色带,每一个唯一值都有一个颜色进行设定,色带的个数和唯一值个数要有对应关系,找到后,需要建立起来这个关系,接口里面有addvalue方法,要做什么用呢,

要做唯一值渲染的时候,就要添加进去,add完之后,有了一个数组,就给我指定的这个层,指定这个层的render方法,出来这个元素,我们应该选什么符号进行表达呢

唯一值符号的符号化过程

理好这个思路,我们就可以去进行代码的执行了,

代码的执行也是有这个固化的颜色,后期也需要改进

找到对应的层,返回IUniqueValueRender 指定一个字段进行唯一值渲染,唯一值进行选择的时候,

选择这个表里面的,选择到的部分,进行替换,进行固化,但是自己去做的时候不要单独用这个字段,需要做窗口进行人机交互

我们要去找,FID要找所有的唯一值

数据所对应的数据源,进行查询,然后在进行statistics 然后再去找到featureclass方法,把数据源所有这个要素进行访问和渲染,这是我们返回所有要素和代码,我们要建立唯一值和颜色的对应关系,下面进行色带设置,下面可以用不同的色带, 可以选随机设色 randomColorRamp

每一个值进行设置最大值,最小值,色带的尺寸,多少的颜色个数,当前的featureclass 有多少个要素,进行设置,featureCount进行设置,进行设置查询条件,进行指定和设置,色带设置完成之后,就调用ColorRamp进行生成,生成的所有颜色,所有要素进行一一对应关系,我们循环一个记录,就给这个记录附上颜色值

get_Value进行设置和指定下面的类型值,如果是点的就做MarkerSymbol,色带里面的,循环到的颜色,然后生成,接口查询的ISymbol,对应哪一个值进行设置,设置符号的尺寸和大小,没有的话,进行设置,唯一值数值进行符号建立起来了,后面开始进行循环,每一个值都找到,每一个值都对应上,后面做什么呢?让当前这个层,等于UnigeVAlue

点的用markerSymbol,线的用LineSymbol,面的用

学习算法,用AE表达。

在这里插入图片描述

在这里插入图片描述

点符号设置,线符号设置

唯一值符号化,唯一值多字段符号化,分级设色符号化,分级色彩符号化

分级设色,分级方法,我们要进行分级要怎么做呢

间隔的调整,我可以指定分级的个数

有无不同分级方法,这里呢,equalInterval等间距分级,这个对象分管这个,不同的分级方法,进行分级的时候,调用分级的这个类。

所有对象都会实现这个接口,我们找到这个接口之后,再去用这个接口去反推,谁去实现了这个接口,用这个分级方法去反推

调用了很多对象 找分类方法

等个数,进行统计,每个频度去判定,basicTable…对象,代表一个起始值,一个空间值,有了这个,我们就可以根据当前数据,进行频度统计,找到图层对应的矢量数据集,创建这个之后,我们就可以进行查询

tableHIstogram找,哪一个字段要进行统计,编写用户的交互界面,用一个table,用一个basicHistogram,找到当前一些字段,统计datavalue的值进行统计,gethistogram存放数据值,这个呢就是做数据评估统计的,数值型数据,进行等间距分级,等个数分级,硬性指定分级方法,后面就给分级进行设定,classify进行数据分级,数据,频度,个数,

分级后的结果放哪里去了?放到classBreaks。每一个断点都代表分级的位置

所有break的范围要给他取到,放到哪里去呢,一个classes数组里面去了,再去吧,classcount分过来

划分为六段,或者划分为四段,这时候就要找到划分的段,我们这种分级方法和渲染效果进行渲染和学习,这里面还需要指定BreakCount ,再去设定分级的升序或者降序,后面还需要去指定起止颜色制作色带的设定,

分级关系对应好了,就可以设置符号和断点,然后就直接和前面一样了

在这里插入图片描述在这里插入图片描述在这里插入图片描述
比例符号化,我是不是要去找,当前指定的一个字段,找当前字段的最大值最小值,指定这个最小值用什么符号去设置,其余的符号值,用别的去指定

指定当前的图层之后,我们要去用这个数值去对当前这个数据做统计,然后去找最大值最小值

全要素进行设置

后面对这些统计量,设置一个简单的mark符号,进行设置,比例符号化,比例符号化的渲染风格,指定对哪一个字段进行渲染,最大值最小值是谁,就从统计出来的最大值最小值

0.001-0.1变化,

对于最小值,后期对数据进行分析,到底加什么
createlegendSymbols进行生成,然后在进行添加

自己加注释;

点密度符号化,我们应该怎么去做呢
我也得找到一个数值型字段,根据当前数值型字段进行赋值,在这个面里面到底放几个点,放点的个数和代表的大小是不是有关系呀,点个数是不是越少呀,点的尺寸和大小是不是也需要进行设定呀

点符号设置的时候,是DotDensityRender
RenederFields,这个接口有什么用啊,是指定对应的字段,看指定的哪一个字段,然后进行颜色设置,进行点密度填充符号,学填充符号的时候,每一个点的尺寸是多少,每一个位置是不是固定的,每一个颜色是什么,

DotDensityFIllsymbol

symArray.AddSymbol()、、、做完之后,我们就给render进行赋值了,

概念
填空
程序设计(代码注释,一段代码填充,填写关键词,关键类的,所有对象所有类所有方法,扩展:留上一段话,手写代码进行实现,这一段不会很复杂,但基本上会是自己编写的代码)

标注图层,

点层还是面层进行判定,增加了一个对话框,弹出一个小对话框,通过不同设置,找到不同字段,找到符号设置,在这里呢,进行显示,DialogResult,进行Field图层进行循环,

找到字段集合里面的第几个字段,后面干什么事情呀
把里面的cursor里面进行设置,一个一个访问里面的feature,对应里面的value值进行标注,这一个过程进行标注,把里面的这个值进行标注,设置标注位置,当前这里面这个feature

进行设置,

这里面的方法加到这里面,

指定字体,尺寸大小,textsymbol进行设置,风格是什么,颜色是什么,文本字符串的内容是什么

字段名称是什么

textSymbol进行设置,text ELement进行生成,进行设置,赋值,添加到graphicscontainer上面,目的是把文本字符串传进来,字体颜色传进来,字体位置加进来,用这个值加进来,用这个值进行


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

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

相关文章

用pyocd读写gd32f4系列mcu的otp区

如前一篇文章所述,pyocd是一个调试、编程cortex-m单片机的简单、强大的工具,本文就结合实例讲解pyocd的一些用法。 使用j-link、dap-link等工具在keil或其它ide中调试单片机程序的场景比较常见,而使用这些工具对单片机片内和片外flash存储区…

[ 应急响应基础篇 ] evtx提取安全日志 事件查看器提取安全日志

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

【C++中关于abs()函数的告警问题】“abs“ is ambiguousC/C++(266)

C中关于abs()函数的告警问题 “abs” is ambiguousC/C(266) 在调试异常打卡记录这道华为OD机考题的时候,完成了C版本之后,在vscode进行调试,出现了如下的告警:abs有歧义,所以就开始查找到底是设什么原因: …

MAC-安装Java环境、JDK配置、IDEA插件推荐

背景:发现经常换电脑装环境等比较麻烦,主要还是想记录一下,不要每次安装都到处翻。。 1、下载并安装JDK 到官网下载所需的JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 这儿下…

Wine运行器帮助——使用Qemu User运行Wine(理论支持全架构)

提醒 Qemu 的转换效率较低,如果可以的话建议使用其它方案以提升运行效率 此方案理论上支持全架构(amd64、arm64、mips64、loongarch64、riscv64、ppc64、s390x……),只要能跑 Qemu User 即可,在 x86、arm64 真机测试通…

[建议收藏]45 个 Git 经典操作场景,专治各种不会合并代码的童鞋~~

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。

FFmpeg基础

FFmpeg介绍 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码libavcodec,为了保证高可移植性和编解码质量…

老胡的周刊(第086期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。🎯 项目MochiDiffusion[2]在 MacOS 上运行原生的 Stab…

20230412-使用STM32实现内部flash模拟U盘

最近用STM32F103CBT6搞了个U盘功能 ​ 工程师干了几年后,基本会有小外包的生活,算是赚外快吧,搞小钱改善伙食,嘻嘻。。。。 ​ 最近有个客户找到我,说是否通过ST的单片机搞个U盘功能,有些文件通过U盘拖拽…

【Linux进阶篇】系统监控命令

目录 🍁proc文件系统 🍁常见系统监视命令 🍃uptime 🍃free -h 🍃vmstat 🍃mpstat 🍃iostat 🍃sar 🍃iotop 🍃htop 🍃glances 🦐博客主…

Java集合Collections和元素排序之Comparable排序接口讲解

Collections工具类: Java里关于集合的工具类,包含有各种有关集合操作的静态多态方法,不能实例化(把构造函数私有化) 。 和Collection的区别 : Collection是接口,提供了对集合对象进行基本操作的通用接口方法,List、Set…

智能网卡相关知识(smart nic 、DPU)

网卡作为穿行在网络与计算之间的桥梁,是可以解决计算瓶颈的关键硬件。 随着CPU 密度和数据中心网络带宽的进一步提升,用户对预期性能的需求,系统运行平稳性都会有更高的要求。云厂商一方面面临巨大的成本压力,另一方面面临巨大的…

动态规划算法解决背包问题,算法分析与C语言代码实现,时间效率解析

🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨,经典算法的解析✨都在这儿,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列专栏 -…

28 · 搜索二维矩阵

LintCode 炼码 class Solution { public:/*** param matrix: matrix, a list of lists of integers* param target: An integer* return: a boolean, indicate whether matrix contains target*/bool searchMatrix(vector<vector<int>> &matrix, int target) …

AI制药 - AlphaFold DB PDB 数据集的多维度分析与整理 (2)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/130118339 数据集&#xff1a;AlphaFold Protein Structure Database 下载地址&#xff1a;https://alphafold.ebi.ac.uk/download Alp…

springboot 部署k8s(二)

系列文章目录 目录 系列文章目录 前言 操作步骤 1.springboot.yaml文件 2.查看deployment 3.查看service服务 4.验证服务 总结 前言 springboot 部署到k8s 上。里面涉及了deployment, Service, NodePort. 操作步骤 1.springboot.yaml文件 apiVersion: apps/v1 kind: …

【C++】C/C++内存管理:

本篇的内存管理主要是动态内存管理。 1.C中的malloc、realloc、calloc和free函数&#xff1a; 【面试问题】 malloc、calloc和realloc的区别是什么&#xff1f; malloc申请的内存值是不确定的 calloc却在申请后&#xff0c;对空间逐一进行初始化&#xff0c;并设置值为0 异…

MATLAB基于卡尔曼滤波的锂蓄电池SOC设计matlab仿真代码(链接在文章结尾)

用自适应卡尔曼滤波方法&#xff0c;基于锂离子动力电池等效电路模型&#xff0c;在未知干扰噪声环境下&#xff0c;在线估计电动汽车锂离子动力电池荷电状态&#xff08;SOC&#xff09;。 相比于其它电池模型&#xff0c;等效电路模型可以更直观地表现输入与输出&#xff0c;…

01-Android 序列化与反序列化

1. 背景 在日常开发过程中&#xff0c;经常遇到程序读取文件&#xff0c;将文件数据转换为对象&#xff0c;程序通过对象传输数据&#xff0c;或者通过对象读取数据。同时也会经常遇到对象数据写入文件操作。 如果采用常规的文件读写&#xff0c;然后再进行赋值&#xff1b;那…

每日学术速递4.16

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.SpectFormer: Frequency and Attention is what you need in a Vision Transformer 标题&#xff1a;SpectFormer&#xff1a;频率和注意力是您在 Vision Transformer 中所需要的 …