ArcGIS新的小功能

1.  // (1)实现图层的选择性显示
IFeatureLayerDefinition pFeatLyrDef = pFeatLyr as IFeatureLayerDefinition ;
pFeatLyrDef.DefinitionExpression = "OBJECTID > 10" ;

pActiveView.Refresh() ;

 

  // (2)实现图层的完全不显示/完全显示
IFeatureLayerDefinition pFeatLyrDef = pFeatLyr as IFeatureLayerDefinition ;
pFeatLyrDef.DefinitionExpression = "1<>1" ; // "1==0"/""

pActiveView.Refresh() ;



2.  //SDE编辑

IEngineEditor editor=new EngineEditorClass();

if(workspace is IRemoteDatasetWorkspace){

  if(workspace is IVersionWorkspace){

    editor.EditSessionMode=esriEngineEditSessionMode.esriEngineEditSessionModeVersioned;

  }

else{

  editor.EditSessionMode=esriEngineEditSessionMode.esriEngineEditSessionModeNonVersioned;

  }

}

editor.StartEditing(workspace,map);


在ArcEngine中使用IEngineEditor编辑ArcSDE数

据,BeginEditing时出现0x8004021F错误的解决办法:

“ 问题可能有几种,

要么是SDE中对当前用户没开通插入、更新或删除权限,

要么是没有注册为版本,

要么是License没有选择GDB”。

-> http://kb.cnblogs.com/a/2121210/


IEngineEditor 接口在创建使用完成之后及时的将其销

毁,就不会引发编辑工具条的失效,因此在使用

IEngineEditor 接口开发的时候一定要注意。

在有如下定义的函数或者类中,IEngineEditor pEngineEditor = new EngineEditorClass ();

退出时一定要加上

System.Runtime.InteropServices.Marshal.ReleaseComObject( pEngineEditor );

这两句应该成对出现!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值