数据处理的几点经验

Posted by 蒋波涛 21 March,2007 Views (10)Comment

最近除了写技术总结,就是一直在测试我的数据备份和更新模块。数据备份模块倒也简单,就是根据源库的结构拷贝出一部分数据到一个MDB中,而更新模块的测试,让我的代码接受了程序的性能和可靠性方面的双重测试,尤其是基于要素的更新这部分,基本原理是这样的:在提交的更新数据MDB中肯定有个更新面要素类,其中有个更新面,然后找出更新数据和将被更新数据处于这个更新面中的要素,将其进行比较,如果数据一致,则不对这些数据进行处理,如果不一致,则需要将被更新库的有些数据现删除,然后将更新数据复制进行。

这次测试的更新数据有200多M,被更新数据是个MDB,大小为1G左右,整个处理的要素数目达到50万条左右,其中有个要素类特别猛,超过了33万条,在这个测试中,得到了一些经验:

1.数据的读写操作最好使用IWorkspaceEdit.StartEditing来开启一个编辑流程,千万别轻率读写删除。使用该接口,如果数据在处理过程中出现任何异常,整个操作是无效可逆的,这样能够保证你处理的数据不被破坏。

2.最好每个图层在处理的时候都使用一个的IWorkspaceEdit来启动,而不是将N个图层的处理放到一个编辑流程中。否则,如果一个图层出现问题,我们做了好几天的运算可能全完咯,每个图层都用一个编辑流程,至少能最大程度保住胜利果实。

3.如果你使用IWorkspaceEdit.StartEditing 开启一个编辑流程,却得到一个该死的自动化错误。别担心,首先检查你的工作空间是否为Nothing,如果不是,很简单,请用你现在的ArcCatalog建一个个人GeoDatabase数据库,然后将你操作的工作空间的所有数据直接复制过去即可。这个问题应该是不同版本的Geodatabase的问题。

Related Items

Categories : ArcObjects Tags : ArcObjects  
Comments
2007-3-23 0:38:04

有个问题,PieChartRenderer是否必须是数值字段才可以?如果是文本或者其它字段它是没法比较的是吧?

Posted by 433 Gravatar Icon

2007-3-23 9:51:54

没错。PieChartRenderer是基于数值计算的。

Posted by 蒋波涛 Gravatar Icon

2007-5-23 22:54:07

您好!在前面的文章里面您提到地图裁切,我想请教矢量裁切您是怎样实现的?效率什么样?我这里是经常出错,或者是裁不出来。
两外您用的是那个版本的arcgis,我这里用9.1,但是有些代码在9.0中运行正常,但是9.1就不对了

Posted by hel Gravatar Icon

2007-5-24 23:51:02

地图裁剪是个很简单的处理过程,但是要区分两种情况,一是点和标注要素类,只需要删除包含在裁剪多边形中的要素即可;如果是线或多边形要素类,裁剪除了包含的情况,还要处理在裁剪多边形边缘的要素。
Polyline的空间关系是cross;Polygon的关系是Overlap。

Posted by 蒋波涛 Gravatar Icon

2007-6-22 9:46:33

谢谢jbt的指点,在你另外一篇文章里叙述了几个裁切方式的效率,我想知道的是arcgis的arctoolbox用的是哪一种的,不知道你有没有了解过

Posted by hel Gravatar Icon

2008-1-21 0:08:16

你好:
看了你的许多文章觉得很不错。现在有个比较头疼的问题,想看你有没什么好办法。
本人用ArcEngine写了个地图裁切工具,可以实现按标准图幅批量裁切出地图。
裁切后问题有两个:
1.部分和裁切框相交的线上的点的顺序反向了,这样就导致 一些复杂线形(如加固陡坎)方向反了。
2.有丢数据的现象。

不知博主曾否遇到这样的问题!

Posted by tianhu Gravatar Icon

2008-1-22 15:18:01

1.第一个问题我也没有想到好的解决办法
2.看看你的图幅是否有重叠的情况

Posted by 蒋波涛 Gravatar Icon

2008-5-21 21:12:13

您好,请教个裁切方面的问题,我经过参考范围进行裁切后,

1。要素会有整体平移的问题,大概在1:0。0005左右能看到;
2。线要素与参考范围相交部分会有超出范围问题

这样两个很影响接边效果,您碰到过这样的问题么?有没有解决方案?

Posted by FD Gravatar Icon

2008-5-22 0:42:36

两个问题都应该是数据生产时出现的,甚至是DWG数据本身的问题,我曾经遇到过这样的情况,并非裁剪的问题。

Posted by 蒋波涛 Gravatar Icon

2012-2-1 15:31:08

请问下我在arcserver9.3下 asp.net c#
能够在 sde 下使用IWorkspaceEdit.StartEditing (不管是version 还是非version)

Posted by lihong Gravatar Icon

Leave a comment

Or, take a look at Archives and Categories

目录

存档