欢迎来到天天文库
浏览记录
ID:33575716
大小:748.23 KB
页数:15页
时间:2019-02-27
《arcobjects学习笔记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2012/11/23Fri1"esriControls.ControlsSelectFeaturesTool"、esriControls.ControlsAddDataCommand"esriControls.ControlsMapNavigationToolbar"、"esriControls.ControlsOpenDocCommand"2内建的命令LearningArcObjects/GeneralAOreferences/NamesandIDs/各种内建命令的列表http://127.0.0.1:47873
2、/help/1-6012/ms.help?method=page&id=ARCOBJECTS_NET-36DA4D45-0002D3&product=VS&productversion=100&locale=en-US&topiclocale=EN-US&topicversion=0&SQM=23加载内建命令时,字符串内部不能有空格,不然直接报thesuppliedcommandisinvalid4更新要素:IFeature.Value()=……IFeature.Store();5IRowSubtypesrowSu
3、btypes4、TE CURSOR。在Desktop中,用SEARCH CURSOR(NextFeature获得要素,再用IFeature.set_Value设置值,再IFeature.Store())好,因为它会使用MAP CACHE,效率更高。如果在AE中处理复杂要素,则UPDATE CURSOR一次直接从DB读一行可能更适合。8Search Cursor用 Store()来提交,Update Cursor用UpdateFeature()9IFeatureCursorupdateCursor=featureClass.Upda5、te(queryFilter,false);feature=updateCursor.NextFeature()feature.set_Value(typeFieldIndex,"TollHighway");updateCursor.UpdateFeature(feature);10IEditor.EditSelection:IEnumFeature。如果选中的要素来自不同的图层的话,需要另外进行处理11IEnumFeature.Next().Reset()%EditSelection%MapSelection126、 editsession 有时影响性能。13在 editsession 外面,用ITransactions显式地开始一个事务。不支持嵌套事务,不能在事务中对复杂要素进行更新。14ITransaction.AbortTransaction()CommitTransaction()InTransaction:boolStartTransaction()%Sde3WorkspaceSde4WorkspaceVersionedWorkspaceWorkspace15已经有事务在进行的话,重新发起会话等于没干活。16ITra7、nsactions不能用于SchemaEdits,不用于DDL17如果直接对GDB中的数据使用SQL语句的话,原来由GDB维护的表之间的关系之类的,不会被维护。但是如果要的表中的数据不涉及geodatabasebehavioralconstraintsordatavalidationrules用SQL语句效率比较高。18除非用于ArcSDEMultiversionedview,不要对Versioned数据使用SQL语句。19用完SQL语句之后,加个COMMIT或者ROLLBACK,因为DBMS可能会等待未提交的会话8、提交,比如COMPRESS操作就是如此。20用SQL语句的话,不要修改那些会经由GDB的相关规则而影响其它数据的数据。21如果要素类的Geometry参与到拓扑、网络、关系中去了,不要用SQL语句改它。可以读,但是,它们无法正确地进行相关修改。22Row_ID(ObjectID)不能改。2012/11/24Sat1IFeatureBuffer.Fields{
4、TE CURSOR。在Desktop中,用SEARCH CURSOR(NextFeature获得要素,再用IFeature.set_Value设置值,再IFeature.Store())好,因为它会使用MAP CACHE,效率更高。如果在AE中处理复杂要素,则UPDATE CURSOR一次直接从DB读一行可能更适合。8Search Cursor用 Store()来提交,Update Cursor用UpdateFeature()9IFeatureCursorupdateCursor=featureClass.Upda
5、te(queryFilter,false);feature=updateCursor.NextFeature()feature.set_Value(typeFieldIndex,"TollHighway");updateCursor.UpdateFeature(feature);10IEditor.EditSelection:IEnumFeature。如果选中的要素来自不同的图层的话,需要另外进行处理11IEnumFeature.Next().Reset()%EditSelection%MapSelection12
6、 editsession 有时影响性能。13在 editsession 外面,用ITransactions显式地开始一个事务。不支持嵌套事务,不能在事务中对复杂要素进行更新。14ITransaction.AbortTransaction()CommitTransaction()InTransaction:boolStartTransaction()%Sde3WorkspaceSde4WorkspaceVersionedWorkspaceWorkspace15已经有事务在进行的话,重新发起会话等于没干活。16ITra
7、nsactions不能用于SchemaEdits,不用于DDL17如果直接对GDB中的数据使用SQL语句的话,原来由GDB维护的表之间的关系之类的,不会被维护。但是如果要的表中的数据不涉及geodatabasebehavioralconstraintsordatavalidationrules用SQL语句效率比较高。18除非用于ArcSDEMultiversionedview,不要对Versioned数据使用SQL语句。19用完SQL语句之后,加个COMMIT或者ROLLBACK,因为DBMS可能会等待未提交的会话
8、提交,比如COMPRESS操作就是如此。20用SQL语句的话,不要修改那些会经由GDB的相关规则而影响其它数据的数据。21如果要素类的Geometry参与到拓扑、网络、关系中去了,不要用SQL语句改它。可以读,但是,它们无法正确地进行相关修改。22Row_ID(ObjectID)不能改。2012/11/24Sat1IFeatureBuffer.Fields{
此文档下载收益归作者所有