`
Virgo_S
  • 浏览: 1159044 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AO批量处理的经验之谈

阅读更多
往Personal GDB或SDE GDB中写入要素记录是一件非常简单的事情,但似乎太多的情况下,写入数据的用例过于简单,使得许多代码问题、特别是ArcSDE本身的问题和Error 无法暴露,很多人也从未意识到类似的问题。我最近正在做类似的工作,代码编写似乎不难,但测试就要了命了,发现的问题数不胜数,头痛不已。

1.插入记录的效率问题
向要素类中插入记录有两种方式,一是IFeature.Store,另一个是IFeatureCursor.Insert(IFeatureBuffer)和IFeatureCursor.Flush方法,显而易见的,后一种方法由于使用了缓存,速度上比前者快。

2.往MDB和SDE要素类中插入记录
这两种类型的要素类在往其中插入数据时不一定需要使用IWorkspaceEdit接口来开启和关闭一个Session,但是,如果SDE的要素类被注册为 version,这个接口就必须使用了,否则CPU会高达100%,并会爆出“the operation in invalid on a closed state”的错误。而使用了有版本的SDE要素类,我遇到了许多令人崩溃的SDE ERROR,比如FDO_E_SE_DB_IO_ERROR、FDO_E_SE_OUT_OF_LOCKS等等。

3.将多个MDB导入一个MDB的时候,如果使用了IWorkspaceEdit接口,会出现某几个图层无法用ArcMap或ArcCatalog打开的情况,即以打开程序就崩溃,而不是用该接口,其它相同的代码做的加载过程,一切正常。

4. 将两个或以上MDB导入一个MDB时候,到第二个MDB,很可能发生“**_SHAPE_INDEX被占用”的情况,这是因为写.NET平台代码时,你遍历或插入数据的游标cursor未释放的缘故。pFeatureCursor=null;并不会将对象从内存中清除,这是因为.NET平台是由 Runtime来收集垃圾的,不像VC或VB那样能直接销毁COM对象,此时你应该使用 System.Runtime.InteropServices.Marshal.ReleaseComObject方法来强制释放COM对象,以解除对某个表的独占状态。
分享到:
评论

相关推荐

    AO2011审计证据底稿批量导出为Word文档.rar

    在审计工作中,AO2011审计证据底稿批量导出为Word文档的功能至关重要,尤其对于审计人员来说,能够高效地管理和整理审计资料是提高工作效率的关键。AO2011审计系统是审计行业广泛使用的专业软件,它集成了审计计划、...

    AO工艺设计10万方污水处理厂毕业设计论文说明书[全套CAD图纸].doc

    "AO工艺设计10万方污水处理厂毕业设计论文说明书[全套CAD图纸]" 本设计论文的主要目的是设计一个AO工艺的10万方污水处理厂,旨在解决城市生活污水和工业废水对环境的污染问题。通过对城市生活污水和工业废水的处理...

    AO工艺处理城市污水毕业论文.doc

    AO工艺处理城市污水毕业论文.doc

    Ao基础开发教程

    在实际项目中,你可能会遇到数据处理的需求,如批量转换数据格式、裁剪或合并图层等。这时,你需要了解AO提供的数据处理工具,如Geoprocessing框架,它允许开发者执行复杂的GIS分析任务。 最后,ArcGIS不仅仅是一个...

    两级BAF AO生化工艺处理PCB综合废水.pdf

    两级BAF+AO生化工艺处理PCB综合废水的系统,其工艺流程一般包括调节池、沉淀池、一级BAF、二级BAF和AO处理单元等。首先,废水进入综合废水调节池,进行混合、均质和预处理,以减轻后续处理单元的处理压力。随后,...

    AO开发的详细案例5555555555555

    8. **性能优化**:学习如何提高GIS应用的运行效率,例如批量处理数据、合理使用缓存等。 9. **最佳实践**:了解在AO开发中应遵循的设计模式和编码规范,以提高代码的可维护性和可扩展性。 10. **文档编写**:案例...

    一键渲染AO图 通道图 3dmax插件

    在3D建模和渲染领域,3ds Max是一款广泛使用的软件,它提供了强大的工具集来创建复杂的三维模型、动画和渲染。...对于那些需要频繁处理3D场景和渲染输出的用户来说,这样的工具无疑具有极大的价值。

    AO开发实践

    9. **错误处理**:良好的错误处理是保证程序稳定性的关键,AO提供了丰富的错误处理机制。 **学习资源** "AO开发实践课.ppt"和"AO开发实践课2.ppt"很可能是关于AO开发的教程资料,它们可能涵盖了AO的基本概念、编程...

    使用geoprocessing脚本实现数据自动化和批量处理

    在ArcToolbox中,用户可以通过图形用户界面直接使用这些工具,而在脚本开发中,可以将这些操作编写为脚本,实现自动化和批量处理。 接下来,为什么要进行Geoprocessing脚本开发?脚本开发相较于其他三种...

    Ao.rar_3D AO_3d_AO_AO+VB_VB AO

    AO在3D图形处理中是一种重要的光照技术,用于模拟物体表面在周围环境中的遮挡,增加场景的真实感。VB则是微软开发的一种编程语言,常用于创建Windows应用程序。 描述 "3d分析,需要AO,安装VB" 提示我们,这个...

    AO3400 datasheet

    The AO3400 uses advanced trench technology to provide excellent RDS(ON), low gate charge and operation with gate voltages as low as 2.5V. This device is suitable for use as a load switch or in PWM ...

    AO基本工艺万方污水处理厂毕业设计方案说明指导书全套CAD图纸.docx

    AO基本工艺万方污水处理厂毕业设计方案说明指导书全套CAD图纸.docx 本设计方案的主题是AO基本工艺万方污水处理厂毕业设计方案,主要解决城市生活污水和工业废水的污染问题。通过对城市污水处理厂的设计和建设,实现...

    AO开发入门--AO二次开发入门好教程

    ArcGIS是一个开放的GIS处理平台,拥有强大的地理数据管理、编辑、显示和分析等功能。该平台的技术基础是微软的组件对象模型(COM),而AO则是构成ArcGIS的重要组成部分之一。 #### 八、组件对象模型(COM) COM是一种...

    新中大解压备份tx文件_现场审计实施系统AO工具_批量

    新中大解压tx文件 现场审计实施系统工具 AO新中大备份批量解压缩

    maya中烘焙AO

    3. 选择渲染菜单下的Batch Bake(批量烘培)功能,推荐在mental ray渲染器环境下操作,因为某些材质可能只有在mental ray下才能正常工作。 4. 点击Convert进行烘焙,如果遇到无法渲染的情况,可能需要检查模型是否有...

    Ao图制作方法

    3. **处理特殊材质**:有些材质,如玻璃,可能需要特别处理。由于玻璃通常具有高反射性,会影响Ao图的计算。为了防止这种情况,可以通过右键选择玻璃材质,进入编辑灯光设置,取消选中“影响反射”选项。这样玻璃将...

    AO插件

    AO,全称可能是“Advanced Operations”或者“Automation Operations”,它代表了该插件具有高级操作或自动化处理的能力。在不同的上下文中,AO插件可能有不同的应用,但其核心价值在于提高效率和优化工作流程。 在...

    AO开发10.2版

    《AO开发10.2版》是针对江西理工大学兰小机教授所著的AO开发教材进行深入解析的一个技术资源集合,主要围绕ArcObjects 10.2这一版本展开。ArcObjects是Esri公司提供的核心开发组件,用于构建地理信息系统(GIS)应用...

    基于vb的AO二次开发开发

    在描述中提到的“用vb开发AO的资料很详细”,这通常意味着该资源可能包含了一份详尽的教程或指导,涵盖了如何使用VB与ArcObjects进行交互、创建地图、处理空间数据、执行地理处理任务等多个方面。对于想要进行GIS二...

    AO学习资料 AO学习资料 AO学习资料 AO学习资料 AO学习资料 AO学习资料

    【标题】:“AO学习资料”多次提及,暗示这是一个与AO技术或AO概念相关的学习资源集合。AO可能代表“Algorithm Optimization”(算法优化)、"Automated Operations"(自动化操作)或其他IT领域的专业术语。 【描述...

Global site tag (gtag.js) - Google Analytics