AE+C#二次开发 您所在的位置:网站首页 arcengine二次开发赋值Null AE+C#二次开发

AE+C#二次开发

2024-07-02 06:52| 来源: 网络整理| 查看: 265

IEnvelope外接矩形

IEnvelope是指地物的外接矩形,用来表示地物图形的大体位置和形状,一般可用于检索地物,判断地物间的拓扑关系,可以使得检索、判断的速度加快,因为有了IEnvelope,可以首先判断该外接矩形是否在检索范围内,而判断一个外接矩形是比较简单的。

另:

Envelope也称包络线,是一个矩形区域,是每个几何形体的最小外接矩形。每个Geometry都拥有一个Envelope,包括Envelope自身。IEnv是包络线对象的主要接口,定义了XMax、XMin、YMax、YMin、Height和Width等属性,用于获取或设置一个存在的包络线对象的空间坐标。IEnvelope接口也提供了一些方法,如Expand、offset、CenterAt、PutCoords等。Expand方法用于按比例缩放包络线的范围,产生一个新的包络线对象;offset是一个偏移方法,通过一个给定的(X,y)移动包络线;CenterAt方法则通过改变包络线的中心点来移动包络线;PutCoords方法饿公国指定的坐标点来构造包络线。

接口的属性和方法:

IEnvelope接口的长宽属性Height和Width属性(读写,可以通过该属性获取或设置该边框的长和宽)

IEnvelope接口的4个顶点属性UpperLeft、UpperRight、LowerLeft和LowerRight(读写,返回IPoint类型的四个顶点,比直接获得最值坐标更加方便严谨)

IEnvelope接口的最值坐标属性XMax、XMin、YMax和YMin(读写,可以通过该属性获取或设置该边框的四个顶点的坐标)

IEnvelope接口的CenterAt(pPoint) (方法,将这个矩形的边框移动到参数pPoint的位置,但是其他属性不变,如它的Width和Height)

IEnvelope接口的Union (inEnvelope ) (方法,将参数输入的几何边框和调用该方法的几何边框求并集,并将结果赋值给第一个边框,即调用此方法的object)

IEnvelope接口的Intersect (inEnvelope ) (方法,返回与输入参数相交的区域的几何边框,并将结果赋值给第一个边框,即调用此方法的object)

IEnvelope接口的PutCoords (XMin, YMin,XMax,YMax) (方法,将新建的一个边框的4个极坐标设置为输入的参数)

IEnvelope接口的QueryCoords (XMin, YMin,XMax,YMax)(方法,将已有的一个边框的4个极坐标输出到参数当中以备后用)

IEnvelope接口的Expand (dx, dy, asRatio) (方法,按照输入的dx与dy参数来放大或者缩小当前的边框,用与对ArcMap窗体的中心放大或缩小,或者点击屏幕获得点击点的坐标,并将中心点设置成点击点,并进行一定比例的放大或者缩小)

IEnvelope接口的Offset (X, Y) (方法,将已有的一个边框的按照输入参数的大小来进行水平竖直的移动)

详细见:http://www.3sfield.com/content.php?id=314

另外Expand例子见【http://www.cnblogs.com/gisser/archive/2010/08/21/1805419.html】

例子:

//由于envelope的放缩都以一个固定点为中心变化,这里我们首先取得它的中心(假设以中心点为中心变化) Xmid=(Xmin+Xmax)/2; Ymid=(Ymin+Ymax)/2. 然后帮助中的公式应改为: Xmin=Xmid-dx*width/2; Ymin=Ymid-dy*height/2; Xmax=Xmid+dx*width/2; Ymax=Ymid+dy*height/2; // 按照后者的公式,envelope.Expand(2, 2, true)是显示范围的高、宽都变为原来的两倍,缩小了显示比例, //envelope.Expand(0.5, 0.5, true)是显示范围的高、宽都变为原来的一半,扩大了显示比例。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有