阅读:1934回复:4
[求助]ArcEngine产生的缓冲区如何保存阿?(附代码)
<P>这里是我按照ArcMap的实例代码写的用在ArcEngine里的产生缓冲区的代码,但是生成了以后,我不会保存那个文件,谁来教教我?谢谢</P>
<P>Private Sub mnuBuffer_Click()<BR> <BR> Dim pGraphicsContainer As IGraphicsContainer<BR> Dim pEnumFeature As IEnumFeature<BR> Dim pFeature As IFeature<BR> Dim pTopoOp As ITopologicalOperator<BR> Dim pElement As IElement<BR> Dim strBufferDistance As String<BR> </P> <P> Set pGraphicsContainer = MapControl2.ActiveView </P> <P><BR> If MapControl2.ActiveView.FocusMap.SelectionCount = 0 Then<BR> MsgBox "请至少选择一个地物进行缓冲处理!"<BR> Exit Sub<BR> End If<BR> <BR> strBufferDistance = InputBox("请输入缓冲区大小:")<BR> If strBufferDistance = "" Or Not IsNumeric(strBufferDistance) Then Exit Sub<BR> <BR> Set pEnumFeature = MapControl2.ActiveView.FocusMap.FeatureSelection</P> <P> Set pFeature = pEnumFeature.Next<BR> Do While Not pFeature Is Nothing '依次检查每个地物,以保证每一个被选中的都能产生缓冲<BR> Set pTopoOp = pFeature.Shape<BR> Set pElement = New PolygonElement<BR> pElement.Geometry = pTopoOp.Buffer(strBufferDistance) '生成缓冲区<BR> pGraphicsContainer.AddElement pElement, 0<BR> Set pFeature = pEnumFeature.Next<BR> Loop<BR> '刷新那些被选中的要素<BR> MapControl2.ActiveView.PartialRefresh esriViewGeoSelection, Nothing, Nothing<BR> <BR>End Sub</P> |
|
1楼#
发布于:2006-05-23 06:00
生成的缓冲区应该以grid图层保存吧,在arcmap中操作时是这样
|
|
2楼#
发布于:2006-05-29 10:29
请问上面的楼主?你的输入缓冲区分析大小输入的是什么样的数据??举例!谢谢
|
|
3楼#
发布于:2006-05-29 10:46
好东西!谢谢上面的楼主能加我吗?37621590
|
|
4楼#
发布于:2006-06-08 17:38
<P>你的那些代码生成的不是Feature </P>
<P>只有当保存整个工程文件的时候才能保存Element</P> |
|