斯潘8
span4
FME包含许多专为与数据库一起使用而设计的工作台转换器。这些位于Transformer Galle亚搏在线ry中的“工作流”类别下。此类转换器通常用于查询数据库,但也可用于调度更新和插入,或与数据库中的数据执行空间关系。
为了我们的目的,地理数据库就是这样一个数据库的一个例子。
为什么要用变压器?
转换器有时比使用写入器进行更新更可取,因为您可能希望只对一小部分数据应用更改,或者,您可能希望使用一个特殊的where子句,当您选择写入器的更新模式时,该子句不可用。然而,除非你有特殊的需要,你应该用一个作家来代替。
阿克斯德维尔
ArcSDEQuerier是一个转换器,用于向ArcSDE数据库发出命令。这个转换器可以发出更新和删除命令,但是,如前所述,最好尽可能使用SDE编写器。在查询模式下,可以使用一组完整的空间交互。
特技演员
FeatureReader转换器可用于读取任何fme支持的格式的数据。这个转换器的第一个用途是简单地读取数据集,就像一个读者。转换器由传入的特性启动,以读取现有数据集。然后,它将数据集的内容作为特性返回。换句话说,它实际上是在做工作台阅读器的工作,但是在工作区的转换阶段。启动器功能可以来自读卡器,或者来自创造者变压器。
此转换器的第二个角色是对正在读取的数据执行空间和非空间查询。这样,任何格式的数据都可以当作数据库来处理。例如,如果启动器功能是多边形,可以使FeatureReader从选定的数据集读取点特征,这些点落在进来的多边形里面。
下面的示例将演示此类功能。
网格 (ESRI文件地理数据库功能类)
地址分 (ESRI文件地理数据库功能类)
在上图中,我们可以看到网格和地址点特性类及其伴随的属性的可视化。
这里的任务是读取指定城市网格广场中的所有地址。因为地址没有城市网格交叉引用,这需要一个空间,而非非空间,查询
一种方法是读取整个地址数据集,然后根据选择的网格正方形过滤它。然而,如下图所示,执行此任务的更有效方法是使用功能阅读器转换器。
1。读取网格数据
使用esri geodatabase(文件geodb)读卡器从源要素类读取网格要素几何图形。网格特性将提供在查询地址点数据集时使用的空间约束。而不是读取整个网格数据集,我们将使用文件geodatabase reader上的where子句功能来选择一个特定的网格正方形作为地址点要素类的空间约束。这样的功能可以为工作流提供效率和性能。亚搏在线
将ESRI地理数据库(文件geodb)读卡器添加到工作区,然后单击参数按钮。选择网格作为要读取的表,并在WHERE子句中输入参数对话框类型FacetText = 'L13'(请记住包含单引号)。
WHERE子句将查询基础文件geodatabase,并只返回与查询匹配的网格正方形。应该注意的是,WHERE子句可以在通过Workbench中的导航树添加阅读器之后进行调整。
2。读取地址点
使用FeatureReader转换器从源feature类读取Address feature geometry。步骤1中选择的网格正方形将作为FeatureReader的启动特征和空间查询。
向工作区添加一个FeatureReader转换器,并将网格正方形阅读器连接到FeatureReader的启动器端口。打开功能阅读器参数对话框。对话的阅读器部分询问要查询的数据的位置。这是地址点数据的位置。
下一步,在对话框的特征类型下,单击“…”按钮并选择地址点要素类。在这种情况下,WHERE子句可以留空(我们已经选择了地址点)。我们确实需要选择一个空间交互。
从“空间筛选器”下拉菜单中选择“包含”。完成时,你的功能阅读器参数对话框应该如下所示:
三。可视化结果
将Inspector Transformer连接到功能读取器上的AddressPoints输出端口。运行工作空间。与所选网格方块对应的地址块应显示在数据检查器中。覆盖原始网格数据以证明查询工作正确。
先进的任务
数据集中的一些地址有一个状态字段,其值为“已退役”——指示一个地址不再有效。您可以在数据检查器表视图中看到:
使用FeatureReader WHERE子句过滤具有此状态的地址。
记录所选网格正方形的特性计数,包括WHERE子句和不包含WHERE子句。这将有助于确认查询是否正确运行。例如,square L13总共应该有307个地址,如果不包括退休地址,应该是278个。
©2019安全亚搏在线软件公司|合法的