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上面,目的是把文本字符串传进来,字体颜色传进来,字体位置加进来,用这个值加进来,用这个值进行


AE开发之图层渲染20210603相关推荐

  1. AE开发使用内存图层

    AE开发中,有时需要从磁盘中读取一些文件信息如坐标点转为图层并进行分析,此过程并不需要坐标点入库之类的操作,就可以创建一个内存图层解决问题.创建内存图层需要用到InMemoryWorkspaceFac ...

  2. python实现矢量分级渲染_PyQGIS开发 -- 聊聊矢量图层渲染(一)

    * 文章部分图片来源于网络,侵删! 在 GIS 领域中,地图渲染是一个非常重要的特点,各式各样的专题地图能直观地表达地理信息要素丰富的数据信息.PyQGIS 开发中,图层渲染有一套强大的 API 体系 ...

  3. C#+AE开发TOCControl右键菜单打开属性表/图层目录右键功能

    文章转载自网易云博客,最初原创博客链接已失效,不再给出.仅给出转载链接: C# AE开发 TOCControl 右键打开图层属性表 致谢! 华丽丽的分割线/ 在ArcMap中,单击图层右键菜单中的&q ...

  4. 基于C#的AE二次开发之图层右键菜单打开属性表及图层相关操作

    基于C#的AE二次开发之图层右键菜单打开属性表及图层相关操作 我的开发环境为ArcGIS Engine 10.2与Visual studio2010.主地图名称为axMapControl1,Toc目录 ...

  5. 【Arcgis Engine开发】AE开发把影像或者矢量加载到图层

    AE开发把影像或者加载到图层 1.创建一个类工厂 2.使用类工厂创建一个要使用的工作区 3.使用工作区打开并得到图层的dataset 4.把dataset装入到新建的图层实例 5.把图层加载到MapC ...

  6. AE开发20210506之数据库、创建个人地理数据库、空间数据与工作空间、打开地图的三种办法、查找资料

    20210506 数据库 arcmap相关操作理解数据库的概念 工作空间 常见数据库 创建个人地理数据库 创建数据集的概念. 空间数据和工作空间 1. MapControl控件接口 打开地图的三种方法 ...

  7. 将AE开发的专题图制作功能发布为WPS

    AE开发可以定制化实现ArcGIS的地理处理功能,并实际运用于其他方面的工作,有时候我们还希望将AE开发的功能发布为网络地理信息处理服务(WPS),从而能在Web端更自由便利地调用所需要的地学处理算法 ...

  8. AE开发笔记(二)制图输出

    一.制作mxd模板文件 尽可能在模板图层中标注要素,这样在模板图层中插入要素后,标注可以随之自动显示. 二.打开真实数据要素类 打开真实要素类,获取该要素类和空间参考,以及标注需要的字段索引. 三.打 ...

  9. CutJS – 用于 HTML5 游戏开发的 2D 渲染引擎

    CutJS 是轻量级的,快速的,基于 Canvas 开发的 HTML5  2D 渲染引擎,可以用于游戏开发.它是开源的,跨平台的,与现代的浏览器和移动设备兼容.CutJS 提供了一个类似 DOM 树的 ...

最新文章

  1. vc中常用文件操作(二) Ini文件操作
  2. RxJava 从源码到使用
  3. 【android-tips】关于android应用R文件无法读取
  4. 无法加载文件 C:/Windows/Microsoft.NET/Framework/Meaningless_string/mscorlib.tlb
  5. es like模糊匹配_es 基于match_phrase/fuzzy的模糊匹配原理及使用
  6. c语言中逗号自加,计算机二级自加、自减运算符和逗号运算符
  7. wireMock快速伪造restful服务
  8. PHP IDE免费干货来了!
  9. Java多线程之可见性之volatile
  10. Asp.net MVC 4 Html帮助类 II
  11. SimpleFs文件系统初步一(编译并挂载)
  12. js中得call()方法和apply()方法的用法
  13. 独立站电商广告和营销洞察
  14. matlab实心黑点怎么活,matlab画实心圆点
  15. 一个Keil工程包含的内容
  16. 吴恩达最受欢迎AI课程机器学习Cousera《Machine Learning》课程完整版
  17. mooc-人工智能与信息社会-基于决策树和搜索的智能系统(上)
  18. 【实用的微缩版 初级开发面试题】
  19. 使用Seaborn和Pandas进行相关性分析和可视化
  20. 华为开始全面部署启用鸿蒙os系统,华为开始全面部署启用鸿蒙OS系统!

热门文章

  1. 我的第一次CTF比赛(SDPC)
  2. 休息休闲推荐 ---- 电视剧《觉醒年代》百年优秀历史纪录电视剧
  3. [Java]简单易懂的并发教程
  4. 用dango框架搭建博客网站
  5. java实现仿微信app聊天功能_Android仿微信语音聊天功能
  6. Android之登录注册——简易版
  7. 关于vue的组件重新加载
  8. 微信小程序——获取当前人微信绑定的手机号码
  9. A. Integer Points
  10. 【恩墨学院】原来银行都在用这些数据库