西班牙
斯潘4
数据集架构(数据模型)由多个部分组成。一些部分与属性相关,其他部分与空间数据相关。
模式的空间部分通常定义数据集中存在或允许存在的特征类型(层、表等),以及存在于数据集中或允许存在于数据集中的几何类型(线、点、多边形等)。
一个无效的模式发生在一个特征存在于允许的特征类型之外(例如,一层数据具有与数据集规范不同的名称)和作为一种除此之外的几何类型(例如,在多边形特征层上存在一个线特征)。
这对于内部(公司)的一致性和完整性很重要,但在使用由允许的表名和几何图形类型严格定义的格式时也是如此。
fme可以自动处理格式限制,但用户必须定义数据是否符合公司数据标准。因为可以进行各种测试,所以FME中有各种变压器可用于测试它们。下面的示例和注释仅涵盖其中的一些内容。
此示例的源数据集提供了有关可能影响温哥华市交通流的施工活动和项目的信息。它以GML格式存储:
理论上,所有这些特征都应该由简单的多边形几何组成。层次各条目上都应该代表组织进行施工。允许值为:
但是,我们不能确定使用了正确的图层或正确的几何图形,我们必须对此进行测试。
按照以下步骤学习如何识别源数据集中存在的源特征类型(层)。
1.启动fme workbench并从一个空画布开始。从菜单栏中选择读卡器>添加读卡器。
将数据格式设置为gml(地理标记语言),并选择附加的gml数据集作为源。将工作流选项设置亚搏在线为单个合并要素类型(以确保所有对象都作为单个图层读取),然后单击“确定”添加读取器:
保存工作区。
2.放置一个连接到读卡器功能类型的重复筛选器转换器。检查参数并将键属性设置为fme_feature_type:
fme_feature_type记录源数据的层,因此通过滤除每个的单个例子中,我们已经有效地创造了源数据集特征类型(层)的列表。
3。选择作家>从菜单栏中添加作家。将数据格式设置为文本文件,并定义写入文本文件的位置。
连接DuplicateFilter:独特的端口文本文件作家的特征类型。(通过绘制连接或使用AttributeManager变压器)地图属性fme_feature_type笔者的text_line_data:
4。运行转换。打开输出文本文件。我们现在有两个有效和无效了在源数据集中使用的所有层的列表:
例如,“私”是有效的,xyz是无效的,“特力”显然应该是“TELUS”一个错字。
我们现在有功能类型的列表,并且可以看到,一些是无效的。但要数或过滤这些问题,我们需要知道哪些是允许的层,最好有这些存储在文件中的某个地方。
有许多可能被用来匹配特征类型到此列表变压器 - 例如,AttributeFilter - 但在这里,我们将使用DatabaseJoiner。
5。放置一个DatabaseJoiner变压器到工作区中,连接到从所述源数据集的第二输出:
检查DatabaseJoiner参数。将它们设置为如下:
在此设置和功能,由未连接端口出现具有无效的特征类型。
6。放置连接到DatabaseJoiner一个StatisticsCalculator:未连接的输出端口。检查参数和设置它们如下:
7。督察变压器连接到StatisticsCalculator:完整的输出端口和运行工作区。该数据检查将显示所有具有一个不正确的层,与记录在属性fme_feature_type的层,并记录在属性BadFeatures无效特征的数量特征:
所以现在我们有与无效层功能的计数。我们不能修复层的名字 - 因为我们不知道他们应该是什么 - 但我们已通过过滤掉这些无效的功能清洗数据集。
按照这些步骤,以了解如何识别有一个不正确的几何类型源功能。
8。选择作家>从菜单栏中添加作家。将数据格式设置到ESRI Shape文件,并定义写入数据集的位置。对于Shape文件定义参数,从读者选择复制:
新创建的作家功能型连接到DatabaseJoiner:加入端口。
9。检查是否有新的作家特征类型的参数。
对于Shape文件名称点击下拉箭头并选择属性值> fme_feature_type。这将确保数据写入到它来自同一层。现在设置几何到shape_polygon:
运行工作区。检查转换日志。请注意,有172个警告信息!
某些功能从输出拒绝,因为他们不是一个区域的几何形状:
WARN |错误 - 预期的聚集体或区域的几何形状。WARN | REJECTING低于特点:INFORM |几何类型:IFMEMultiCurve
其他功能都将被拒绝,因为他们有太多几点:
WARN |面要素必须有至少4个坐标......拒绝WARN | REJECTING BELOW特点:
......想必他们是两个分线功能。
其他一些功能没有拒绝,但他们是一个聚合(组)的多边形结合在一起需要进行拆分:
WARN |删除异类聚集功能的ESRISHAPE作家,由于特征类型允许几何限制WARN |几何类型:IFMEAggregate
在日志中的计数进一步告诉我们有多少功能,每个文件被拒绝:
WARN |拒绝3点输出的特征WARN |拒绝11个输出特征WARN |拒绝1个输出特征WARN |拒绝2个输出特征
所以,FME已经修正了一些几何类型在那里可以和别人拒绝。我们还有多少功能被拒绝的计数。
另外(只要保存在步骤1中的工作区),所有拒绝特征被存储在FFS(FME功能存储)格式的数据集作为空间日志的形式:
所以,我已经分离出的无效功能集成到一个新的数据集,而不必设置它!
如果我想在工作区中做到这一点,我可以用一个GeometryFilter变压器他们到达之前,笔者对分离出的非多边形要素。
这里使用的数据由温哥华市,不列颠哥伦比亚省(提供开放的数据起源data.vancouver.ca)。它包含了开放政府许可协议进行许可信息 - 温哥华。
你能解释一下怎样得到下列值吗?
谢谢你!
WARN |错误 - 预期的聚集体或区域的几何形状。
警告|拒绝以下功能:
通知|几何类型:IFMEMultiCurve
.....................................
.....................................
警告|拒绝3个输出特性
警告|拒绝11个输出特性
警告|拒绝1输出特性
警告|拒绝2个输出特性
我不确定你的问题到底是什么。是否遇到了不同的错误?
但从你复制的信息来看:
WARN |错误 - 预期的聚集体或区域的几何形状。WARN | REJECTING低于特点:INFORM |几何类型:IFMEMultiCurve
WARN |拒绝3点输出的特征WARN |拒绝11个输出特征WARN |拒绝1个输出特征WARN |拒绝2个输出特征
的日志文件中找到的消息查找和修复无效的几何类型本文中的工作区。出现这些警告是因为Shapefile写入器的几何设置为polygon,并且有些特性与此模式不匹配,因此它们被拒绝。
为了查看日志文件中的警告,您需要在FME选项>翻译>日志消息过滤器>日志警告
@fgiron你能为米格尔提供进一步的帮助吗?
- - - - - -安德里亚
?2019安全亚搏在线软件公司|合法的