阅读:2135回复:3
[求助]如何由polyline图层生成polygon图层
<P>如题,我有一个polyline图层,我想由这个图层生一个polygon图层,(在arcmap中,可用arctoolbox的Features中的‘要素到多边型’来实现)如果用engine或ao,如何实现,请各位高手指教。</P>
[此贴子已经被作者于2007-5-21 22:37:58编辑过]
|
|
|
1楼#
发布于:2007-05-22 09:14
<P>用FeatureToPolygon可以生成的啊</P>
|
|
2楼#
发布于:2007-05-22 16:38
<P>下面的代码说明了如何把一个polyline转换成polygon,</P><PRE>Sub CreatePolygon()
Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Dim pFeatureSelection As IFeatureSelection Set pFeatureSelection = pMxDoc.FocusMap.Layer(1) Dim pFeatureCursor As IFeatureCursor pFeatureSelection.SelectionSet.Search Nothing, True, pFeatureCursor Dim pFeature As IFeature Set pFeature = pFeatureCursor.NextFeature Dim pPolygon As IPolygon Set pPolygon = CreatePolygonFromPolyline(pFeature.ShapeCopy) CreatePolygonElement pPolygon End Sub Private Function CreatePolygonFromPolyline(pPolyline As IPolyline) As IPolygon Dim pInCollection As IPointCollection Dim pOutCollection As IPointCollection Dim pPolygon As IPolygon Dim i As Integer Set pOutCollection = New Polygon Set pInCollection = pPolyline For i = 0 To pInCollection.PointCount - 1 pOutCollection.AddPoint pInCollection.Point(i) Next i Set pPolygon = pOutCollection pPolygon.Close Set CreatePolygonFromPolyline = pPolygon End Function Private Sub CreatePolygonElement(pPolygon As IPolygon) Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Dim pGC As IGraphicsContainer Set pGC = pMxDoc.FocusMap Dim pElement As IElement Set pElement = New PolygonElement pElement.Geometry = pPolygon pGC.AddElement pElement, 0 pMxDoc.ActiveView.Refresh End Sub </PRE> |
|
|
3楼#
发布于:2007-05-30 10:37
感谢gis,问题已经解决.<img src="images/post/smile/dvbbs/em05.gif" /><img src="images/post/smile/dvbbs/em08.gif" /><img src="images/post/smile/dvbbs/em12.gif" />
|
|
|