斯潘8
斯潘4
需要FME 2016.1或更高版本
FME 2016.1及更高版本能够从企业地理数据库(ArcSDE)中提取差异(或三角洲)。关键功能是:
本教程着重于从事务性版本的地理数据库中提取差异。然而,阅读历史档案差异的原则是相同的。
如果您不熟悉ESRI地理数据库版本或存档,那么以下链接将非常有用:
版本控制仅在企业地理数据库(ArcSDE)中可用。
能够从地理数据库中提取差异(或delta),允许您复制地理数据库或将其与组织中的其他数据库同步。
版本化的地理数据库通常具有如下所示的层次结构:
在ArcCatalog中,这看起来像:
esri geodatabase(arcsde geodb)reader parameters(读卡器参数)对话框具有多个参数,这些参数控制可以从版本中提取的差异数据(请参见FME用户文档了解更多详细信息)。参考以下地理数据库阅读器参数的图像…
如果您想在地理数据库中可视化三角洲,这些参数也可以在FME数据检查器中使用。
注释:如果要运行本教程中讨论的示例,请参阅本教程末尾的附录,并按照示例设置说明进行操作。
用于提取差异的FME工作区是非常直接的。本例将水资源利用数据从地理数据库(ArcSDE)转换为PostGIS。工作流的关键部分基于发布的参数:亚搏在线
在本例中,数据是从事务版本ESRI.WaterUpdates3中读取的,并与基线事务版本SDE.Default进行比较。关于Postgis的作者,postgis表处理:使用现有的方法意味着postgis表已经存在,我们将向这些表添加delta。
以下三张来自FME数据检查器的图像说明了ESRI地理数据库版本的状态:
图1:原始数据-sde.defaults版本
图2:编辑的供水干管数据-esri.waterupdates3版本
图3:esri.waterupdates3和sde.defaults版本之间的差异
你在图像中看不到的是被删除的对象,因为它们没有几何学。然而,它们记录在FME数据检查器表查看器和功能信息窗口中:
请注意,fme_db_operation属性已设置为删除。
当您从geodatabse事务版本或存档中提取差异时,FME自动将FME_db_operation属性设置为insert,更新或删除。大多数FME数据库编写器支持对数据库进行增量更新的FME_-db_操作。这意味着可以直接将delta推送到目标数据库中。有关如何使用FME_-DB_操作的更多信息,请参阅文章使用fme format属性fme_db_operation进行增量数据库更新.
geodatabase reader具有子版本参数,可用于创建下一个版本进行编辑。在这个例子中,我们正在阅读esri.waterupates3和sde.default版本之间的差异。如果我们将子版本设置为waterupdates4,那么FME将创建新版本,该版本将成为您在地理数据库中进行下一轮编辑的起点。这允许您设置数据复制工作流:提取差异,亚搏在线创建新版本,对新版本进行编辑,下一轮分歧,等。
使用历史档案与上面描述的事务版本非常相似。geodatabase reader parameters(地理数据库读卡器参数)对话框有几个参数(标记在上面的参数对话框图像中),这些参数控制可以从存档中提取的差异数据:
从版本化的地理数据库中提取差异时,FME使用共同祖先的概念,所以所有的差异都是基于您所使用的两个版本的共同祖先。因此,提取版本化地理数据库中不同分支之间的差异不是一个好主意,如下所示:
-你很可能会得到不可预知的结果!
如果要运行上述示例,可以使用以下步骤将示例数据加载到您自己的地理数据库(ArcSDE)环境中。使用包装创建差异.zip.如果您不熟悉使用版本化的地理数据库,那么您可能希望查看有关在Arcgis中编辑版本数据.
使用图像中显示的版本层次结构:
注释:您不能创建所有版本然后加载它们,你必须创造,负载,创建,负载等。
一旦您将样本数据加载到版本中,就可以使用FME来提取差异。您可以使用FME数据检查器来可视化结果,或者使用工作区geodb_to_postgis_replication.fmw运行复制方案。工作区具有描述步骤的注释。
?2019安全亚搏在线软件公司|合法的