`
cjx44
  • 浏览: 25357 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

IEditor Example

 
阅读更多
 

Option Explicit<!----><o:p></o:p>

 <o:p></o:p>
 Public Sub MoveFeatures()<o:p></o:p>
  Dim pEditor As IEditor<o:p></o:p>
  Dim pID As New UID<o:p></o:p>
  Dim pEnumFeature As IEnumFeature<o:p></o:p>
  Dim pFeature As IFeature<o:p></o:p>
  Dim mySet As ISet<o:p></o:p>
  Dim pSpatialReference As ISpatialReference<o:p></o:p>
  Dim pStartPoint As IPoint<o:p></o:p>
  Dim pEndPoint As IPoint<o:p></o:p>
  Dim pFeatureEdit As IFeatureEdit<o:p></o:p>
  Dim pLine As ILine<o:p></o:p>
  Dim origX As Double<o:p></o:p>
  Dim origY As Double<o:p></o:p>
  Dim Count As Integer<o:p></o:p>
 <o:p></o:p>
  'Get a reference to the editor extension<o:p></o:p>
  pID = "esriEditor.Editor"<o:p></o:p>
  Set pEditor = Application.FindExtensionByCLSID(pID)<o:p></o:p>
  'Make sure something has been selected<o:p></o:p>
  If pEditor.SelectionCount = 0 Then<o:p></o:p>
    MsgBox "Nothing Selected"<o:p></o:p>
    Exit Sub<o:p></o:p>
  End If<o:p></o:p>
  'Create an edit operation enabling undo/redo<o:p></o:p>
  pEditor.StartOperation<o:p></o:p>
  <o:p></o:p>
  'Get the selection from the Editor and add all the features to a new Set<o:p></o:p>
  Set pEnumFeature = pEditor.EditSelection<o:p></o:p>
  Set mySet = New esriSystem.Set<o:p></o:p>
  pEnumFeature.Reset<o:p></o:p>
  For Count = 0 To pEditor.SelectionCount - 1<o:p></o:p>
    Set pFeature = pEnumFeature.Next<o:p></o:p>
    mySet.Add pFeature<o:p></o:p>
  Next Count<o:p></o:p>
  <o:p></o:p>
  'Reset the Set<o:p></o:p>
  mySet.Reset<o:p></o:p>
  <o:p></o:p>
  'MoveSet requires a line to specify the new location<o:p></o:p>
  'Use the selection anchor as a starting point for the line<o:p></o:p>
  Set pStartPoint = pEditor.SelectionAnchor.Point<o:p></o:p>
  Set pLine = New Line<o:p></o:p>
  pStartPoint.QueryCoords origX, origY<o:p></o:p>
  Set pEndPoint = New Point<o:p></o:p>
  pEndPoint.PutCoords (origX + 50), (origY + 0) 'offset the selection by 50 units in the x direction<o:p></o:p>
  pLine.PutCoords pStartPoint, pEndPoint<o:p></o:p>
  <o:p></o:p>
  'Get the spatial reference from the map and assign it to the new line<o:p></o:p>
  Set pSpatialReference = pEditor.Map.SpatialReference<o:p></o:p>
  Set pLine.SpatialReference = pSpatialReference 'set the spatial reference of the new line<o:p></o:p>
      <o:p></o:p>
  'Do the move while looping through the set<o:p></o:p>
  Do<o:p></o:p>
    Set pFeatureEdit = mySet.Next<o:p></o:p>
    If Not pFeatureEdit Is Nothing Then<o:p></o:p>
      pFeatureEdit.MoveSet mySet, pLine  'Move all the selected features 60 units to the right<o:p></o:p>
    Else<o:p></o:p>
      Exit Do<o:p></o:p>
    End If<o:p></o:p>
  <!----><st1:place w:st="on">Loop</st1:place><o:p></o:p>
  <o:p></o:p>
  'Stop the Edit Operation<o:p></o:p>
  pEditor.StopOperation "Move Selection"  'String to appear in Edit menu<o:p></o:p>
  <o:p></o:p>
  'Refresh the Map to redisplay the moved features<o:p></o:p>
  pEditor.Display.Invalidate Nothing, True, esriAllScreenCaches<o:p></o:p>
  <o:p></o:p>
 End Sub<o:p></o:p>
分享到:
评论

相关推荐

    iEditor-crx插件

    它是一个javascript交互编辑器,它对javascript进行评估,并...此iEditor的用例:1.实时并排调试javascript代码2.使javascript的学习更加轻松3.逐步了解其他开发人员的javascript代码 支持语言:English (United States)

    WPF插件总结1

    `IEditor`接口有两个方法:`PluginName`用于获取插件的名称,`GetControl`则返回一个`UserControl`对象,这是插件的主要交互界面。这样,任何实现`IEditor`接口的类都可以被主程序识别并作为插件处理。 接着,我们...

    arcengine地图编辑功能

    使用IEditor.StartEditSession开始编辑,IEditor.StopEditSession提交或取消更改。版本管理(Version Management)则用于处理多用户间的并发编辑。 8. **事件与用户交互** ArcEngine提供了一系列事件,如...

    AO+C#实现地图编辑工具

    8. **保存编辑**:最后,使用`IEditor`的`StopEditing`方法提交编辑,将更改保存到Geodatabase中。 在“MapEdit”这个项目中,可能包含了实现上述功能的源代码文件和资源。开发者可以通过阅读和学习这些代码,掌握...

    编辑对象后给属性字段赋值

    首先,获取数据集的`IEditor`对象,然后通过`StartEdit`方法开启编辑会话。接着,可以使用`SelectByShape`、`SelectById`等方法选择要编辑的对象,或者直接通过对象ID获取`iObject`实例。 2. **属性字段赋值**: ...

    ArcEngine+C#连接SDE空间数据库

    6. **数据编辑**:如果需要编辑数据,可以获取编辑会话(IEditor),开始编辑模式,然后进行增删改操作,最后提交编辑。 ```csharp ESRI.ArcGIS.Editor.IEditor editor = new ESRI.ArcGIS.Editor.EditorClass(); ...

    AO+C# 二次开发版本基本功能源代码使用AE10.0和VS2010

    3. **数据编辑**:使用IEditor和ITrackCache接口进行特征的增删改操作。 4. **空间查询**:通过IQueryFilter定义查询条件,使用IFeatureSelection和ISelectionSet接口进行选择并处理结果。 5. **投影转换**:利用...

    C#+ArcEngine10.0实现要素编辑之移动要素

    5. **提交编辑**:移动操作完成后,必须调用IEditor接口的StopEditing方法,并传入true参数以保存编辑。这会触发编辑事务的提交,更新数据库中的要素位置。 6. **刷新地图**:最后,更新IMap对象,使其反映编辑后的...

    AO基础知识详细介绍,深入浅出

    4. 编辑对象:如IEditor,支持对地图数据进行添加、修改、删除操作。 5. 空间分析对象:如IGeoprocessor,用于执行各种空间分析任务,如缓冲区分析、地形分析等。 三、ArcObjects的开发环境 1. .NET Framework:...

    VB.NET+AO二次开发的实例

    6. **数据编辑**:如果需要,可以使用`IEDitor`接口进行数据编辑,包括新增、修改和删除地理特征。 7. **结果展示**:将分析结果以新图层的形式添加到地图,或者在控制台输出结果信息。 源代码的阅读和运行可以...

    SuperMap Objects .NET打断线

    这可能需要调用`IEditor.Split`或`IFeatureSet.SplitFeatures`方法,指定断点坐标,将原始线对象分割为两个或多个新线对象。 6. **更新数据**:保存编辑结果,更新数据集和图层,使地图显示打断后的线段。 7. **...

    arcgis开发集锦

    1. 创建编辑会话:使用`IEditor`接口初始化编辑环境,启动编辑会话,如`Editor.StartEditing`和`Editor.StartOperation`。 2. 获取特征:通过`IFeatureClass`接口访问特定图层的特征类,然后使用`IFeatureCursor`...

    ArcEgine开发实战资料

    例如,使用IGeometry接口可以创建和编辑几何对象,而利用IEditor接口则可进行高级的数据编辑任务。 5. **空间分析** ArcEngine内置了丰富的空间分析工具,如缓冲区分析、网络分析、地形分析等。开发者可以调用这些...

    ArcGIS Engine C#矢量要素编辑代码

    这涉及到IEditor的StopEditing()方法。 9. **编辑节点**:对于线和多边形要素,可以编辑其节点(即顶点)来改变其形状。这通常需要获取要素的几何对象,找到特定节点,然后移动或删除它。 10. **删除节点**:删除...

    Arcengine地图编辑工具条源代码

    - `IEditEvents`和`IEditor`:提供编辑操作的事件处理和控制。 - `IToolbar`和`ITool`:构建工具条和工具的接口。 5. **代码实现流程**: - 初始化ArcEngine环境,加载数据源。 - 创建`IMapControl`,设置地图...

    arcengine属性表操作代码

    对于批量操作,可以使用IEditor或IDataset的CopyRows方法,将数据从一个数据源复制到另一个,或者使用IFeatureClass的CreateFeature和DeleteFeature方法添加或删除特征。 5. **事务管理**: ArcEngine支持事务处理...

    C#+ArcEngine 二次开发,基本的各种功能代码合集

    同时,`IEditor`接口提供了图形化编辑功能,让用户在地图上直接进行数据修改。 总之,这个合集提供了C#与ArcEngine结合进行GIS开发的基础和进阶示例,无论是对于初学者还是有经验的开发者,都是一个宝贵的资源库,...

    arcgis二次开发学习资料

    5. 编辑功能:利用IEditor接口,实现地图的编辑功能,如添加、修改和删除要素。 三、ArcGIS API开发 1. JavaScript API:适合构建Web GIS应用,提供了丰富的地图和图层控制,以及分析和查询功能。通过dojo.query、...

    程序实现用java编写的基于Arcengine的gis中图形浏览编辑功能

    - **编辑工作流**:定义开始编辑、提交编辑和回退编辑的工作流程,使用IEditor和EditSession接口。 - **特征选择与编辑**:通过ISelectionSet选择地图上的特征,然后使用IFeatureClass和IFeature进行属性或几何...

Global site tag (gtag.js) - Google Analytics