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

本文主要是介绍AE开发20210601之绘制集合要素、绘制点、空间查询、属性查询、图形查询、选择集内容、符号化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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,添加到这些选择集当中,把所有图层的查询后,满足条件则高亮显示

下一周,专题图制作

绘制

这篇关于AE开发20210601之绘制集合要素、绘制点、空间查询、属性查询、图形查询、选择集内容、符号化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/367565

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询