在ArcGIS10中AO编辑操作

ArcGIS10AO进行编辑出现了颠覆性的改变,一改以前版本的编辑工具、编辑任务,而是通过模版和图层关联进行编辑操作。其中涉及到IEditTemplate,正是由这个IEditTemplate的接口来实现地图的编辑操作,那么如何进行编辑操作呢?首先需要取到IEditor3接口的实例和IEditTemplate接口的实例。下面代码将展示如何获得这两个接口的实例

privateIApplication m_application;
private IEditor3 m_editor;

m_application =ArcMap.Application;

UID editorUid =new UID();
editorUid.Value = “esriEditor.Editor”;
m_editor = m_application.FindExtensionByCLSID(editorUid) as IEditor3;
m_editTemplate = m_editor.CurrentTemplate;

if(m_editTemplate == null)
{
        //Create a single template forthe selected layer.
         ILayer editLayer =m_document.SelectedLayer;
         IEditTemplateFactoryeditTemplateFact = new EditTemplateFactoryClass();
         IEditTemplatenewEditTemplate = editTemplateFact.Create(“Building”, m_featurelayer);
          m_editTemplate =newEditTemplate;
           //Add thetemplate.
           IArraytemplateArray = new ArrayClass();
           templateArray.Add(m_editTemplate);
            m_editor.AddTemplates(templateArray);
            m_editor.CurrentTemplate= m_editTemplate;
 }

此时编辑模版将被获得并且与FeatureLayer相关联就可以进行编辑操作了,添加点要素,然后对新添加的点要素进行高亮显示

IPoint pt = new PointClass();
pt.X = 123.3456;
pt.Y = 41.3456;
IFeature m_feature = m_featureclass.CreateFeature();
m_feature.Shape = pt;
m_editTemplate.SetDefaultValues(m_feature);
m_feature.Store();
m_document.FocusMap.SelectFeature(m_featurelayer, m_feature);
m_document.ActiveView.Refresh();

从以上代码中我们可以看出,这种操作与ArcGIS9中的AO操作截然不同,是两种模式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值