FME的ESRI Geodatabase (MDB)格式介绍(二)
原文发布时间:2010-10-14
作者:毛毛虫
来源:
续FME的ESRI Geodatabase (MDB)格式介绍(一)
性能:
通常ArcSDE reader/writer提供了比Geodatabase_SDE reader/writer更好的性能。ArcSDE writer允许缓冲的写入,这改进了加载数据的性能。也可以在SDE中设置load_only_mode(关闭索引),然后在转换后重新设置为正常模式。
可以加速包含所有writer的转换,提交转换是一项高消耗的工作,建议尽可能的加大时间间隔(或者如果没有必要,就把提交关闭)。Safe Software Inc执行了速度测试,把转换间隔从500 (默认的)切换到1000,结果指定的转换加快了2.5%。更改转换间隔到5000,相同的转换加快了5.5%。关闭转换,提高了12%到19%。更个转换间隔或关闭转换的性能优势在不同的数据集间也会不同。
对于Geodatabase,如果可能,使用Transaction Type: TRANSACTIONS 或 NONE替代EDIT_SESSION (MDB, GDB) 或 VERSIONING (Enterprise Geodb)。EDIT_SESSION 或 VERSIONING对性能有重要的影响。为什么Geodb需要这个模式比较复杂——可能是因为a)Geodb是版本化的或者,b)有确定的用户行为或触发器(也就是加载网络拓扑,有关系表等)。
设置SIMPLIFY_GEOM为 NO会加速几何的写入,避免或最小化注记要素的数目——写入这些是很慢的。当写入没有用户定义字段的注记时也会有所改进。
通过修改到需要的精度,可以改进性能。如果只需要32位精度,在Writer要素类型参数上设置32位代替64位。相同的可以在空间分辨率上执行。如果只需要分米级精度,不要使用给出的0.00001 mm精度。这两种情况下,执行和处理比实际需要的多的数据。减少有效分辨率和精度会加快速度,特别是对于大数据集。如果没有给出足够精度的数据,事先告知减少分辨率/精度可能引起边界错误或者多边形转换为点。更多信息查看创建Geodatabase。
对于Enterprise Geodatabase 和 ArcSDE,可以删除空间索引,切换图层(空间列)到LOAD_ONLY模式来减少加载时间。这需要使用SDE管理命令或在目标参数上设置网格大小为-1。在这种模式下,基础SDE 服务器不执行任何空间索引的更新。之前的图层可以使用的指令必须由系统管理员重建,这个操作可能花费大量时间,但是从纯数据加载的立场,加载基础SDE层到LOAD_ONLY模式可能产生非常大的不同。
2、API如何用来写入到Geodatabase?
对于普通的ArcSDE,使用ArcSDE C API。
3、FME支持ArcFM geodatabases吗?
因为ArcFM数据集从Miner&Miner中比较用户对象,官方网上不支持这种格式。不过,使用这种数据时可能的,成功度取决于你的提取或加载。