斯潘8
斯潘4
数据集模式(数据模型)由多个部分组成。有些部分与属性有关,其他部分与空间数据有关。
模式的空间部分通常定义特征类型(层,桌子,等)存在于或允许存在于数据集中,以及几何类型(直线,点,多边形,等)存在于或允许存在于数据集中的。
如果功能存在于允许的功能类型之外(例如,数据层与数据集规范具有不同的名称,并且作为允许的几何体类型(例如,多边形特征层上存在线条特征)。
这对于内部(公司)的一致性和完整性很重要,但在使用由表名和允许的几何图形类型严格定义的格式时,也要这样做。
FME可以自动处理格式限制,但用户必须定义数据是否符合公司数据标准。因为可以进行各种测试,FME中有各种变压器可用于测试它们。下面的示例和注释仅涵盖其中的一些内容。
本例的源数据集提供了有关可能影响温哥华市交通流量的建筑活动和项目的信息。它以GML格式存储:
理论上,所有这些特征都应该由简单的多边形几何组成。每个项目所在的层应代表施工单位。允许值为:
然而,我们不能确定是否使用了正确的层,或者正确的几何结构,我们要测试一下。
按照以下步骤学习如何识别源数据集中存在的源要素类型(层)。
1。启动FME工作台,从一个空画布开始。从菜单栏中选择“读卡器>添加读卡器”。
将数据格式设置为GML(地理标记语言),并选择附加的GML数据集作为源。将工作流选项设置亚搏在线为“单个合并要素类型”(以确保所有对象都作为单个图层读取),然后单击“确定”添加读卡器:
保存工作区。
2。将复制过滤器变压器连接到读卡器功能类型。检查参数,并将键属性设置为fme_feature_type:
fme_feature_type记录源数据的层,因此,通过筛选出每一个示例,我们有效地在源数据集中创建了一个特征类型(层)列表。
三。从菜单栏中选择“编写器>添加编写器”。将数据格式设置为文本文件,并定义文本文件的写入位置。
将DuplicateFilter:Unique端口连接到文本文件编写器的功能类型。将属性fme_feature_type映射到编写器的文本行数据(通过绘制连接或使用attributeManager转换器):
4。运行翻译。打开输出文本文件。我们现在有一个源数据集中使用的所有层的列表,有效与无效:
例如,“private”有效,XYZ无效,“tellus”显然是一个拼写错误,应该是“telus”。
我们现在有一个特性类型列表,可以看出有些是无效的。但是要计算或过滤这些,我们需要知道哪些层是允许的,最好把它们存储在某个文件中。
有许多变压器可用于将特征类型与此列表匹配-例如,attributeFilter-但是这里我们将使用databasejoiner。
5。将一个databasejoiner转换器放入工作区,连接到源数据集的第二个输出:
检查databasejoiner参数。设置如下:
使用此设置,从未连接端口出现的功能具有无效的功能类型。
6。将一个StatisticsCalculator连接到databaseJoiner:未连接的输出端口。检查参数并设置如下:
7。将inspector transformer连接到statisticscaleculator:完成输出端口并运行工作区。数据检查器将显示具有错误层的所有功能,将图层记录在属性fme_feature_type上,以及属性badFeatures中记录的无效功能数:
所以现在我们有了一些具有无效层的特性。我们无法修复层名称,因为我们不知道它们应该是什么,但是我们已经通过过滤掉这些无效的特性来清理了数据集。
按照以下步骤了解如何识别几何类型不正确的源要素。
8。从菜单栏中选择“编写器>添加编写器”。将数据格式设置为esri shapefile,并定义将数据集写入的位置。对于shapefile定义参数,选择从读卡器复制:
将新创建的编写器功能类型连接到databaseJoiner:Joined端口。
9。检查新写入程序功能类型的参数。
对于shapefile名称,单击下拉箭头,然后选择属性值>fme_feature_type。这将确保数据写入到它来自的同一层。现在将“几何体”设置为“形状”多边形:
运行工作区。检查翻译日志。注意有172条警告信息!
由于某些功能不是区域几何图形,因此将从输出中拒绝它们:
警告错误-需要聚合或区域几何图形。警告拒绝以下功能:通知几何图形类型:ifmemulticurve
其他功能被拒绝,因为它们的要点太少:
警告多边形功能必须至少有4个坐标…拒绝警告拒绝以下功能:
…大概是两点线特征。
一些其他功能没有被拒绝,但它们是需要分割的多边形的集合(组):
警告删除esrishape编写器的异类聚合功能,由于功能类型允许几何限制警告几何类型:ifmeAggregate
日志中的进一步计数告诉我们每个文件有多少功能被拒绝:
Warn Rejected 3 output features warn Rejected 11 output features warn Rejected 1 output features warn Rejected 2 output features
因此,FME已经修复了一些几何类型,并拒绝了其他类型。我们还统计了有多少功能被拒绝。
此外(只要在步骤1中保存了工作区),所有被拒绝的特征都以空间日志的形式存储在一个ffs(fme feature store)格式的数据集中:
因此,我将无效的特性分离成一个新的数据集,而不必设置它!
如果我真的想在工作区内这样做,在到达作者之前,我可以使用几何过滤器转换器来分离非多边形特征。
这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)它包含根据开放政府许可证(温哥华)获得许可的信息。
?2019安全亚搏在线软件公司|合法的