提高Esri Geodatabase工作的性能

原文发布时间:2012-09-04

翻译文章链接:http://fmepedia.safe.com/articles/FAQ/Improving-Performance-when-working-with-Geodatabases

翻译:毛毛虫

通常ArcSDE 读模块/写模块提供了比Geodatabase_SDE 读模块/写模块更好的性能。ArcSDE写模块允许缓冲写入,这会提高装载数据性能,因为它是干净的装载。同时在SDE中可以设置load_only_mode(关闭索引),在转换完成后重新设置为正常模式。

通过加长提交事物的间隔可以加快所有涉及到的写模块的转换速度。提交转换是一个很昂贵的操作,因此推荐将事物间隔设置的尽可能大(或者,不需要事物,关闭它们)。Safe Software公司进行了速度测试,将事物间隔从500(默认的)更改到1000,在特定事物中提速2.5%。将事物间隔提高的5000,在特定事物中提速5.5%。关闭事物会得到12%到19%的改善。更改事物间隔或关闭事物的性能优势在不同的数据集间是不同的。

对于Geodatabase,如果可能,使用事物类型TRANSACTIONS 或 NONE 替代EDIT_SESSION (MDB, GDB) 或 VERSIONING (Enterprise Geodb)。 EDIT_SESSION 或 VERSIONING对性能有显著的影响。有时候想要弄清为什么需要这一模式有些棘手,它可能是因为a)地理数据库被版本化,或b)有一定的自定义行为或触发器(即加载网络拓扑,有关系表等)。

另一种加速写入要素的方法是提前创建好所有的要素集,要素类和表,这样地理数据库写模块只需要打开它们而不是创建它们。

同时,设置SIMPLIFY_GEOM为NO,会加速几何的写入。避免或最小化注记要素的数目——这类要素的写入很慢。已经改进了注记没有任何用户自定义的字段情况的写入。

也可以只使用需要的精度来改进性能。如果所需的是32位精度,在写模块要素类参数上设置32位而不是64位。相同的方法适用于空间分辨率。如果只需要分米级的精度,不要使用很大的比例因子,比如设置0.00001 mm的精度。在这两种情况下,传递并处理的数据比需要的数据更多。减少有效分辨率和精度会提高速度,特别对于大的数据集。但是事先警告:如果没有给出数据必要的精度,减少分辨率或精度会引起越界错误或多边形被压缩为点的问题。更多信息参见创建地理数据库。

对于企业级地理数据库和ArcSDE,通过删掉空间索引,并加入图层(空间列)到LOAD_ONLY模式来提高加载时间。这是使用SDE管理命令或在目标参数上设置网格大小为-1来做到的。这个模式,基本上SDE Server不执行任何空间索引的更新。当然在图层使用索引之前,必须通过系统管理员重建索引,这个操作可能需要大量的时间,但是从纯数据加载的立场,放置基本SDE图层到LOAD_ONLY模式会产生很大的不同。

最后,确保数据集写模块是FME工作空间导航树中的第一个写模块(右键点击写模块,可以进行上移)。FME高速缓存第二个即以后的写模块的数据,所以第一个数据库写模块确保要素直接通过。

    当写入较大数量数据的要素到SDE的地理数据库时,改进性能的提示:
    > 使用转换类型——如果可能使用Transactions。Versioning 比较慢。
    > 增加事物间隔/大小。
    > 将SIMPLIFY_GEOM 设置为NO
    > 对于地理数据库,将网格大小从1设置为0。这一操作意味着空间索引在加载过程中没有建立,但是在加载完成后自动创建。对于SDE写模块,设置网格大小到0大小来避免创建空间索引——在这里的表称为"load only mode(加载模式)"。加载要素会很快。在处理完要素后,建立空间索引。
    > 如果可能,使用SDE写模块替代。可能需要使用地理数据库写模块创建要素类,但是能够插入它们到SDE写模块。
    > 避免或最小化注记要素的数据——写入这类要素较慢。对写入没有用户定义字段的注记的情况,已经做了改进。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值