[精华]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) (方法,将已有的一个边框的按照输入参数的大小来进行水平竖直的移动)
限定符和类型 方法和说明
void centerAt(IPoint center) 移动中心到指定位置,宽高不变。 void defineFromPoints(int count, IPoint[] pts) 根据Point数组修改矩形类。 void expand(double dx, double dy, boolean asRatio)
缩放矩形类,保持矩形中心位置不变。
double getHeight() 获取矩形的高度。
IPoint getLowerLeft() 获取矩形的左下角坐标点
IPoint getLowerRight() 获取矩形的右下角坐标点
IPoint getUpperLeft() 获取左上角坐标点
IPoint getUpperRight() 获取右上角坐标点
double getWidth() 获取宽度
double getXMax() 获取x方向最大值
double getXMin() 获取x方向最小值
double getYMax() 获取y方向最大值
double getYMin() 获取y方向最小值
void offset(double x, double y) 移动矩形。
void putCoords(double xmin, double ymin, double xmax, double ymax)
设置矩形坐标。
void putCoords(IEnvelope env) 设置矩形坐标
void queryCoords(java.lang.Float xmin, java.lang.Float ymin,
java.lang.Float xmax, java.lang.Float ymax)
得到矩形的各项值
void setHeight(double height) 设置矩形的高度。
void setLowerLeft(IPoint pt) 设置左下角坐标点。
void setLowerRight(IPoint pt) 设置右下角坐标点。
void setUpperLeft(IPoint pt) 设置左上角坐标点
void setUpperRight(IPoint pt) 设置右上角坐标点
void setWidth(double width) 设置宽度
void setXMax(double xmax) 设置x方向最大值
void setXMin(double xmin) 设置x方向最小值
void setYMax(double ymax) 设置y方向最大值
void setYMin(double ymin) 设置y方向最小值
void union(IEnvelope inEnvelope) 合并矩形 , centerAt
void centerAt(IPoint center) 移动中心到指定位置,宽高不变。
参数: center - 新的中心点
, defineFromPoints void defineFromPoints(int count,IPoint[] pts) 根据Point数组修改矩形类。
参数: count - Point的个数 pts - Point数组 , expand
void expand(double dx double dy,boolean asRatio) 缩放矩形类,保持矩形中心位置不变。
参数: dx - 缩放x因子。 dy - 缩放y因子。
asRatio - 按照比例缩放标志。为false,则按照比例缩放矩形类。例如dx,0.2,且asRatio,false,
则矩形宽度缩小到原来的80,。为true,则直接加上缩放因子。例如 dx,0.2,且asRatio,true,则新
矩形宽度,原矩形宽度,2×0.2
, getHeight
double getHeight() 获取矩形的高度。 返回: 高度 , setHeight
void setHeight(double height) 设置矩形的高度。 参数: height - 高度
, getLowerLeft
IPoint getLowerLeft() 获取矩形的左下角坐标点 返回: 左下角坐标点
, setLowerLeft
void setLowerLeft(IPoint pt) 设置左下角坐标点。 参数: pt - 左下角坐标点
, getLowerRight
IPoint getLowerRight() 获取矩形的右下角坐标点 返回: 左下角坐标点
, setLowerRight
void setLowerRight(IPoint pt) 设置右下角坐标点。 参数: pt - 右下角坐标点
, offset
void offset(double x,double y) 移动矩形。
参数: x - x轴方向移动分量 y - y轴方向移动分量 , putCoords
void putCoords(double xmin,double ymin,double xmax,double ymax)
设置矩形坐标。
参数: xmin - 最小横坐标。 ymin - 最小纵坐标。 xmax - 最大横坐标。 ymax - 最大纵坐标。
, putCoords
void putCoords(IEnvelope env) 设置矩形坐标 参数: env - 矩形
, queryCoords
void queryCoords(java.lang.Float xmin,java.lang.Float ymin,java.lang.Float
xmax,java.lang.Float ymax)
得到矩形的各项值
参数: xmin - 最小横坐标,输出参数 ymin - 最小纵坐标,输出参数
xmax - 最大横坐标,输出参数 ymax - 最大纵坐标,输出参数 , union
void union(IEnvelope inEnvelope) 合并矩形 参数: inEnvelope - 矩形
, setUpperLeft
void setUpperLeft(IPoint pt) 设置左上角坐标点 参数: pt - 左上角坐标点
, getUpperLeft
IPoint getUpperLeft() 获取左上角坐标点 返回: 左上角坐标点
, setUpperRight
void setUpperRight(IPoint pt) 设置右上角坐标点 参数: pt - 右上角坐标点
, getUpperRight
IPoint getUpperRight() 获取右上角坐标点 返回: 右上角坐标点
, setWidth
void setWidth(double width) 设置宽度 参数: width - 宽度
, getWidth
double getWidth() 获取宽度 返回: 宽度 , setXMax
void setXMax(double xmax) 设置x方向最大值 参数: xmax - x方向最大值
, getXMax
double getXMax() 获取x方向最大值 返回: x方向最大值 , setXMin
void setXMin(double xmin) 设置x方向最小值 参数: xmin - x方向最小值
, getXMin
double getXMin() 获取x方向最小值 返回: , setYMax
void setYMax(double ymax) 设置y方向最大值 参数: ymax - y方向最大值
, getYMax
double getYMax() 获取y方向最大值
, setYMin
void setYMin(double ymin) 设置y方向最小值 参数: ymin - y方向最小值
, getYMin
double getYMin() 获取y方向最小值 返回: y方向最小值