|
阅读:965回复:1
各顶点坐标
<P>vba中我已经获得一个feature,并且确定为面,我如何获得各顶点坐标啊?</P>
<P>有人能帮我吗?急!</P> |
|
|
1楼#
发布于:2007-11-13 16:21
<P>可以利用IPointCollection来获取节点;下面的代码说明了他的用法</P>
<P>Dim pFeatCursor As IFeatureCursor<BR> Set pFeatCursor = pFeatClass.Update(pSpatialFilter, False)<BR> <BR> Set pFeature = pFeatCursor.NextFeature<BR> Dim pPolyBndry As IPolyline<BR> Dim pTopOp As ITopologicalOperator<BR> Dim pPolyCurve As IPolycurve<BR> Dim pPtColl As IPointCollection<BR> Dim pPoint As IPoint<BR> Set pPoint = New Point<BR> Dim pPline As IPolyline<BR> Set pPline = pCutGeom<BR> <BR> Do While Not pFeature Is Nothing<BR> <BR> Set pTopOp = pFeature.Shape<BR> Set pPolyBndry = pTopOp.Boundary<BR> Set pPolyCurve = pFeature.ShapeCopy<BR> Set pTopOp = pPolyBndry<BR> Set pPtColl = pTopOp.Intersect(pPline, esriGeometry0Dimension)<BR><BR> If pPtColl.PointCount > 0 Then<BR> MsgBox "Found an intersection"<BR>' pPtColl.QueryPoint (0), pPoint<BR> <BR> Dim lNewPartIdx As Long<BR> Dim lNewSegIdx As Long<BR> pPolyCurve.SplitAtPoint pPtColl.Point(0), True, False, False, lNewPartIdx, lNewSegIdx<BR> Set pFeature.Shape = pPolyCurve<BR> <BR> pFeature.Store<BR> pFeatCursor.UpdateFeature pFeature<BR> <BR> End If<BR> Set pFeature = pFeatCursor.NextFeature<BR> Loop<BR></P> |
|
|