ArcGIS接口详细说明(3)

2019-08-31 17:37

EndIf

SetpFeature =pEnumFeat.Next Wend

End Sub

IArea接口的第一个属性Area(只读,返回一个double类型的数值,为此Area的面积) IArea接口的第二个属性Centroid(只读,返回一个IPoint类型的变量,为此Area的重心)

IArea接口的第三个属性LablePoint(只读,返回一个IPoint类型的变量,为此Area的标签的位置,一般都在此Area的内部)

IArea接口的第四个方法QueryCentroid (Center ) (方法,Center参数为一个IPoint类型的变量,通过调用此方法将重心点赋值给参数Center)

IArea接口的第五个方法QueryLablePoint (LablePoint ) (方法,LablePoint参数为设置IPoint类型的变量,通过调用此方法将标签点赋值给参数LablePoint)

10. 关于IEnvelope接口(esriGeometry) 应用:(中心放大)

Public Sub ZoomInCenter() Dim pMxDocumentAsIMxDocument Dim pActiveViewAsIActiveView

Dim pDisplayTransformAsIDisplayTransformation Dim pEnvelopeAsIEnvelope Dim pCenterPointAsIPoint

Set pMxDocument =Application.Document Set pActiveView =pMxDocument.FocusMap

Set pDisplayTransform= pActiveView.ScreenDisplay.DisplayTransformation Set pEnvelope =pDisplayTransform.VisibleBounds 'In thiscase,wecouldhavesetpEnvelopetoIActiveView::Extent 'Set pEnvelope =pActiveView.Extent Set pCenterPoint =NewPoint

pCenterPoint.x =((pEnvelope.XMax- pEnvelope.XMin) /2)+pEnvelope.XMin pCenterPoint.y =((pEnvelope.YMax- pEnvelope.YMin) /2)+pEnvelope.YMin pEnvelope.width =pEnvelope.width/2 pEnvelope.height =pEnvelope.height/2 pEnvelope.CenterAtpCenterPoint

pDisplayTransform.VisibleBounds= pEnvelope

pActiveView.Refresh

End Sub

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

例子代码:

' The example showshowtomoveanEnvelopetoanew 'centerpoint(pPoint). Public Sub t_EnvCenterAt() Dim pEnv1AsIEnvelope Dim pPointAsIPoint

Set pEnv1 =NewEnvelope Set pPoint =NewPoint

pEnv1.PutCoords100,100,200,200 pPoint.PutCoords0,0

pEnv1.CenterAtpPoint

Dim dXminAsDouble,dYminAsDouble,dXmaxAsDouble,dYmaxAsDouble pEnv1.QueryCoordsdXmin,dYmin,dXmax,dYmax

If pEnv1.IsEmptyThen MsgBox \ Else

MsgBox dXmin &\ dYmin & \ dYmax End If

End Sub

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

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

例子代码:

Private Sub Form_Load() Set m_pEnveLope =NewEnvelope

Set m_pCPoint =NewPoint m_pEnveLope.XMin = 0 m_pEnveLope.YMin = 0 m_pEnveLope.XMax = 0 m_pEnveLope.YMax = 0 m_pCPoint.X = 0 m_pCPoint.Y = 0

Set m_pLowerLeft =NewPoint Set m_pLowerRight =NewPoint Set m_pUpperLeft =NewPoint Set m_pUpperRight =NewPoint update_props EndSub

PrivateSubupdate_props()

Set m_pLowerLeft =m_pEnveLope.LowerLeft edtLlx.Text = m_pLowerLeft.X edtLly.Text = m_pLowerLeft.Y

Set m_pLowerRight =m_pEnveLope.LowerRight edtLrx.Text = m_pLowerRight.X edtLry.Text = m_pLowerRight.Y Set m_pUpperLeft =m_pEnveLope.UpperLeft edtUlx.Text = m_pUpperLeft.X edtUly.Text = m_pUpperLeft.Y

Set m_pUpperRight =m_pEnveLope.UpperRight edtUrx.Text = m_pUpperRight.X edtUry.Text = m_pUpperRight.Y EndSub

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

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

例子代码:

Public Sub t_EnvUnion() Dim pEnv1AsIEnvelope Dim pEnv2AsIEnvelope

Set pEnv1 =NewEnvelope Set pEnv2 =NewEnvelope

pEnv1.PutCoords 100,100,200,200 pEnv2.PutCoords 150,150,250,250

pEnv1.Union pEnv2

Dim dXminAsDouble,dYminAsDouble,dXmaxAsDouble,dYmaxAsDouble pEnv1.QueryCoords dXmin,dYmin,dXmax,dYmax

End Sub

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

例子代码:

' The example showshowtointersect2envelopes.Theresultisputin 'thefirstenvelope. PublicSubt_EnvIntersect() Dim pEnv1AsIEnvelope Dim pEnv2AsIEnvelope

Set pEnv1 =NewEnvelope Set pEnv2 =NewEnvelope

pEnv1.PutCoords 100,100,200,200 pEnv2.PutCoords 150,150,250,250

pEnv1.Intersect pEnv2

Dim dXminAsDouble,dYminAsDouble,dXmaxAsDouble,dYmaxAsDouble pEnv1.QueryCoords dXmin,dYmin,dXmax,dYmax

If pEnv1.IsEmptyThen MsgBox\ Else

MsgBoxdXmin &\ dYmin & \ dYmax End If

End Sub

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

例子代码:

Public Function CreateEnvXY(dblXMinAsDouble,dblYMinAsDouble,_

dblXMax As Double,dblYMaxAsDouble)AsIEnvelope Set CreateEnvXY =NewesriGeometry.Envelope CreateEnvXY.PutCoordsdblXMin,dblYMin,dblXMax,dblYMax

End Function

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

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

例子代码:

Public Sub t_EnvExpand() Dim pEnv1AsIEnvelope Set pEnv1 =NewEnvelope pEnv1.PutCoords 100,100,200,200

pEnv1.Expand 0.5, 0.5,True

Dim dXminAsDouble,dYminAsDouble,dXmaxAsDouble,dYmaxAsDouble pEnv1.QueryCoords dXmin,dYmin,dXmax,dYmax

If pEnv1.IsEmptyThen MsgBox\ Else

MsgBoxdXmin &\ dYmin & \ dYmax End If

End Sub


ArcGIS接口详细说明(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016民事诉讼法简答题汇总

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: