`
Virgo_S
  • 浏览: 1150883 次
  • 性别: 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开发实践

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

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

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

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

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

    Ao.rar_3D AO_3d_AO_AO+VB_VB AO

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

    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领域的专业术语。 【描述...

    ao.rar_AO C#

    6. **异常处理与日志记录**:在C#中如何处理AO框架可能出现的异常,以及如何记录测试过程的日志信息。 7. **调试与优化**:指导如何调试自动化脚本,查找并解决问题,以及如何优化脚本性能。 8. **最佳实践**:分享...

Global site tag (gtag.js) - Google Analytics