主题“数据质量保证”中的问题 https://knowledge.亚搏在线safe.com/questions/topics/single/498.html网站 “数据质量保证”主题的最新问题 数据质量保证:线性网络中不良拓扑的识别 https://knowledge.亚搏在线safe.com/articles/55419/data-qa-identifying-undshoots-and-overshoots-in.html(https://knowledge.safe.com/articles/55419/data-qa-identifying-undshoots-and-over

介绍

一个线性网络应该由在一点相交的线组成,没有交叉。然而,情况并非总是如此。可能会出现各种各样的问题。

如果两条线要在一个已知点相交,则会出现错位点,但是有一条线没有正确连接:

当两条线要在一个已知点相交时,就会出现超调。但有一条线超出了交叉点:

下冲发生在两条线要在已知点相交的地方,但是有一条线没有到达那个交叉点:

缺失的节点出现在两条线要在已知点相交的地方,但只有一条线包含交叉点:

在这种情况下,红色(水平)线有一个末端节点,但是绿色(垂直)线在同一位置没有节点或顶点。

一般来说,这些问题非常小,通常肉眼看不见,否则它们很容易被检测出来,而不需要特殊的数据验证技术。这些场景没有特定的转换器,但我们可以使用一般几何处理变压器的组合来完成这项工作。

尽管我们使用“网络”这个术语,这些问题也适用于任何旨在形成封闭结构的线性特征,例如,以下示例中使用的地块边界线…

下载

源数据集

定位错误的线性拓扑:工作区作为模板

计算错误的线性拓扑:将工作区作为模板

修复错误的线性拓扑:作为模板的工作区

源数据

此示例的数据集,是一组线条特征(在MicroStation DGN数据集中),表示温哥华市的地产地块边界。

数据集在FME数据检查器中如下所示:

这里的场景是清理线功能,确保所有地块正确关闭。我们将通过使用AreaBuilder转换器将它们转换为多边形功能来证明这一点。

定位错误的线性几何图形:逐步说明

要评估线性几何的状态,最简单的方法是使用面积生成器变压器。如果几何图形可以转换为多边形特征,然后所有连接都正确。

更复杂的方法是使用拓扑构建器变压器。这将使网络变成一系列节点和边。如果我们能找到只有一条边使用的节点,则表示一条未连接的线。如果线本身很短(或节点与相邻线之间的间隙很短),则表示超调,下冲,或点错位。

对于这个例子,我们将坚持使用更简单的AreaBuilder方法。

按照以下步骤学习如何识别超调,下冲,点错位,以及缺失的节点。

1.启动FME工作台,从一个空画布开始。从菜单栏中选择“读卡器>添加读卡器”。

将数据格式设置为Bentley MicroStation Design(V8)。选择附加的DGN文件作为源数据集,然后单击“确定”添加读卡器。

2.第2条。放置一个连接到地块线数据的面积生成器变压器。将每个输出端口连接到检测变压器。

三。为了清楚起见,将FeatureColorSetter Transformer添加到AreaBuilder:区域输出端口:

设置参数以使区域特征具有独特的颜色。运行工作区。不完整的功能(以某种方式无效的功能)将显示在单独的图层和颜色中:

通过放大接近其端点来检查功能。您将看到功能是否过度,下冲,点错位,或者缺少节点。

在公路网中,一些功能将是亮点,但不要错了,例如,死胡同死胡同或死胡同因此,要么需要进行手动评估,或者可以使用另一个FME变压器;例如,LineoRealOverlayer或SpatialFilter将显示线条是否与多边形重叠-如果重叠,则更可能是不正确的。

计算错误的线性几何:逐步指令

假设我们隔离的特性实际上是不正确的,然后使用统计计算器变压器来计算它们是很容易的。

按照以下步骤学习如何计算坏的线性几何图形。

4。在区域生成器转换器和检查器之间添加一个统计计算器。检查统计计算器变压器的参数。

选择要分析参数的属性的任何属性。如果没有可用的属性,则在源功能类型上公开一个属性,或者使用attributeManager创建一个。价值观对我们来说并不重要。

将total count属性参数设置为numfeatures并接受更改。

5。重新运行翻译。现在输出将有一组不正确的功能,虽然这是一个总数,每种类型的错误都不是一个。

NB:如果您将StatisticsCalculator:Summary输出端口连接到检查器,每组只有一个输出特性。要获取所有输出功能,请使用完整的端口。

修复错误的线性几何:逐步说明

修复错误的线性几何可能是一个尝试和错误的案例。有一个特定的容忍值是很好的,但也要按照给定的顺序使用变压器。当以不同的顺序使用时,结果可能会非常不同,可能会引入一些不需要的线条。

所以,按照以下步骤学习如何修复错误的线性几何图形。

6。将捕捉器变换器添加到翻译中,在源数据和区域生成器之间。将捕捉器的捕捉输出和未触及输出连接到区域生成器:

检查捕捉器参数。对于大多数参数,默认值都可以,但是你必须设定一个捕捉公差。在这种情况下,将值设置为0.2

将一个检查器附加到snapper:snapped端口(这样我们可以看到发生了什么),然后重新运行工作区。结果是,有两个更少的无效特性。这两个都是错位的点,现在都被卡入位置。

有几个有趣的观点。首先,下冲和过冲也可能是通过捕捉来解决的,但在规定的公差范围内无明显差异。Snapper可以处理这些情况,但它的主要用途是处理不对齐的点。

其次,对于其中一个功能,未对齐的特征有特征捕捉到它,而不是被别人抢走。这就是为什么只有两个特性需要修复时,三个特性会被捕捉的原因。这不太理想,但是,公差参数确保这样的捕捉不会太极端。

7。在Snapper和AreaBuilder之间添加延长线变压器。确保LineExtender:拉伸输出端口已连接:

检查参数并将扩展设置为0.5。这将使所有线路延长0.5米。它应该处理任何不足之处。当然,它将把它们(以及所有其他特性)变成超调,但我们可以很快解决这个问题。

8。现在在LineExtender和AreaBuilder之间添加一个交叉转换器。intersector:intersected输出端口是我们要保留的数据:

不应该有需要设置的参数,虽然在FM2018或更新版本中,现在有一种公差模式,如果设置为自动,会产生更好的结果。

变压器将切断其交叉点的超调量,并创建丢失的节点。

现在重新运行工作区。会有大量“不完整”的特性,但这些仅仅是被切断的超调。如果查询所有其他功能,您会注意到多边形是正确的,现在没有超调,下冲,点错位,或者缺少节点。

9。如果数据仍需用作线路网络,然后,可以通过使用一个相交器将数据转换回适当的节点线来重新创建线性特征。

如果还需要一些不完整的行,例如,cul de sacs-然后可以使用长度计算器/测试仪组合来过滤短于正常预期(即它们不是超调就是应用的扩展,不是真正的功能):

数据属性

这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚省(data.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。

GIS 数据质量保证 部门间 露天矿 鲷鱼 几何验证程序 制图的 线扩展器 结婚,2017年10月11日20:27:24格林尼治标准时间 MARK2AT亚搏在线SAFE
数据质量保证:识别多边形覆盖中的银重叠和间隙 https://knowledge.亚搏在线safe.com/articles/55275/data-qa-identifying-slivers-overlaps-and-gaps-in-p.html

介绍

重叠和间隙是使用无效多边形覆盖发生的问题。多边形覆盖应该是单个的,连续表面。然而,情况并非总是如此。

两个或多个多边形相交时会出现重叠,创建由多个多边形覆盖的区域。例如,红色特征延伸到橙色特征上:

如果两个或多个多边形未能在边界处相交,则会出现间隙,在覆盖范围中创建一个孔。例如,在这里,红色和绿色的特征无法满足,在覆盖范围中创建空白:

一般来说,这些重叠和间隙是非常小和狭窄的-否则它们很容易被检测到,而不需要特殊的数据验证技术-而且这种常见的形状和大小有时被称为条子.

可以使用最小多边形方法,但这并不能同时确定差距,两者都不能用同样的方法来解决。所以,为了处理裂片和间隙,FME有一个称为除鳞机.

在FM2018或更新版本中,sliverremover由一个称为区域间隙和重叠清理器的变压器替换。一定要检查填充间隙参数,其违约在2018.0至2018.1期间发生变化。

NB:sliverremover同时处理间隙和重叠。它不允许只修理一个或另一个。即如果不同时修复重叠,则无法修复间隙,反之亦然。

下载

源数据集

定位重叠和间隙:作为模板的工作区

计算重叠和间隙:作为模板的工作区

修复重叠和间隙:作为模板的工作区

源数据

本例的数据集是一组多边形特征(在mapinfo选项卡数据集中),表示温哥华市的规划区。

数据集在FME数据检查器中如下所示:

从逻辑上讲,一块土地不能分为两个区域(即这些区域不应重叠),但同样,一块土地也不能被分割(即分区覆盖率不应存在任何差距)。

这里的场景是简单地定位,伯爵并修复覆盖范围内的任何重叠或缺口。

定位重叠和间隙:逐步说明

除渣变压器,尽管设计用于处理间隙和重叠,但只能修复它们。它不会突出显示或定位它们以便在其他地方进行修复。为了简单地定位这些功能,我们将使用区域重叠变压器,与溶解器和DonutholeExtractor结合使用。

按照以下步骤学习如何识别重叠和间隙。

1.启动FME工作台,从一个空画布开始。

从菜单栏中选择“读卡器>添加读卡器”。

将数据格式设置为“地图信息”选项卡(MITAB)。选择附加的选项卡文件作为源数据集,然后单击“确定”添加读卡器。

2.第2条。为了定位间隙和重叠,我们的想法是创建一个覆盖感兴趣区域的单一曲面,然后将数据与AreaOnAreaOverlayer进行比较。

所以,将溶解器变压器连接到区域数据。这将创建单个曲面特征。然而,它可以被创建为一个甜甜圈功能,这不是我们需要的。因此,跟随溶解变压器和DonutholeExtractor变压器,连接到溶解器:区域输出端口:

默认参数对于当前练习是正确的。

三。现在将一个区域放置在reaoverlayer变压器上。连接两个donutholeextractor:outershell端口,区域数据到其输入端口:

再一次,对于这个练习,任何参数都可以保持其默认状态。

注意,在FM2018或更新版本中,区域重叠器变压器有一个额外的剩余输出端口。

4。将检测变压器连接到区域重叠器:区域输出端口。检查检查器的参数,并通过选择重叠属性来设置组。

现在运行工作区。输出中的显示控制窗口如下所示:

如果重叠数等于1,我们知道这些是间隙(因为溶解器创建的表面不会被区域数据重叠)。

如果重叠数大于2,我们知道这些是重叠的(因为溶解器创建的曲面在区域数据中至少重叠了两个其他多边形)。

只有重叠数等于2时,数据才正确。

为了确认问题,添加原始源区域数据作为背景,并放大问题功能之一:

这里的灰色线是两个多边形之间的间隙。它只有0.0022米(2毫米或1/12英寸),所以你必须放大近距离才能看到它。

所以现在我们已经分离了非常小和非常窄的多边形,它们表示多边形覆盖范围中的间隙和重叠。

计算重叠和间隙:逐步说明

计算坏特性的数量非常容易,因为我们已经将它们过滤掉了。我们只需要使用统计计算器转换器创建它们的计数。

按照以下步骤学习如何计算重叠和间隙功能。

5。在RealOverlayer Transformer和Inspector之间添加一个统计计算器。检查统计计算器变压器的参数。

为group by参数和要分析的属性选择重叠属性。

将total count属性参数设置为numfeatures并接受更改。

6。在inspector transformer中关闭group by并重新运行翻译。现在,输出将为每个重叠编号提供特性计数。这将告诉我们每个类别中有多少功能:

在这个例子中,我们有6个缺口,6重迭,以及430个正确的功能。

NB:如果您将StatisticsCalculator:Summary输出端口连接到检查器,每组只有一个输出特性。要获取所有输出功能,请使用完整的端口。

修复重叠和间隙:逐步说明

使用除渣变压器修复重叠和间隙是一项简单的任务,为了确认它是否有效,我们可以简单地重复上面的定位过程。

所以,按照以下步骤学习如何使用sliverremover变压器修复重叠和间隙。

7。sliverremover的帮助信息指出它需要清洁,有效数据和自相交或退化多边形将不会被修复。

所以,为了确保我们首先清理这些问题的数据,放置几何验证器变压器。将其连接到区域功能类型的新输出:

检查几何验证器参数,并在“退化或损坏几何”和“二维自相交”的测试中打勾。确保设置尝试修复设置为是。

8。放置一个除屑变压器。将其连接到几何验证器变压器上通过和修复的端口:

检查sliverremover参数。唯一重要的是维修方法。有各种方法,变压器文档对此进行了更详细的解释。现在,将修复方法保留为“最长边界”。

9。将检测变压器连接到sliverremover:repaired端口并运行翻译。

输出将是所有间隙和重叠修复的多边形,以创建单个,连续表面。然而,如果不仔细检查数据,就很难证明这一点。所以,让我们重新创建之前的数据检查,以确保没有遗留问题。

要做到这一点,选择现有的溶解器,Donuthole提取器,以及一个再叠加变压器。按ctrl+d创建这些文件的副本。

现在将这些连接到与上述配置相同的sliverremover(即从除银器到溶解器有一个输出,另一个输出到reaoverlayer区域):

10。将Inspector Transformer连接到新区域的RealOverlayer并运行转换。这一次,您将能够看到没有重叠的功能,没有差距。

您还可以看到输出特性的数量与以前相同。根据在sliverremover中选择的方法,重叠和间隙已分布到其他特征。

也,请注意,AreaOnAreaOverlayer会导致属性无效。所有输出都从一个特性中获取属性。因此,仅取除渣机修复后的输出供进一步使用;除验证多边形覆盖范围外,切勿使用AreaOnAreaOverlayer输出。

数据属性

这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚省(data.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。

也,多亏了@埃里克·简对于定位间隙/重叠的方法,如上所述这个答案.

GIS 数据质量保证 区域重叠器 几何验证程序 制图的 除鳞机 星期二,2017年10月10日20:42:21格林尼治标准时间 MARK2AT亚搏在线SAFE
数据qa:无效的空间架构 https://knowledge.亚搏在线safe.com/articles/54674/data-qa-invalid-spatial-schemas.html网站

无效的空间架构

数据集模式(数据模型)由多个部分组成。有些部分与属性有关,其他部分与空间数据有关。

模式的空间部分通常定义特征类型(层,桌子,等)存在于或允许存在于数据集中,以及几何类型(直线,点,多边形,等)存在于或允许存在于数据集中的。

如果功能存在于允许的功能类型之外(例如,数据层与数据集规范具有不同的名称,并且作为允许的几何体类型(例如,多边形特征层上存在线条特征)。

这对于内部(公司)的一致性和完整性很重要,但在使用由表名和允许的几何图形类型严格定义的格式时,也要这样做。

FME可以自动处理格式限制,但用户必须定义数据是否符合公司数据标准。因为可以进行各种测试,FME中有各种变压器可用于测试它们。下面的示例和注释仅涵盖其中的一些内容。

下载

源数据集(包括允许的层列表)

查找无效的功能类型:工作区作为模板

计数和修复无效的功能类型:工作区作为模板

定位和修复无效的几何图形类型:作为模板的工作区

源数据

本例的源数据集提供了有关可能影响温哥华市交通流量的建筑活动和项目的信息。它以GML格式存储:

理论上,所有这些特征都应该由简单的多边形几何组成。每个项目所在的层应代表施工单位。允许值为:

  • 水力发电
  • 泰勒斯
  • 城市
  • 富通
  • 私有的
  • 其他

然而,我们不能确定是否使用了正确的层,或者正确的几何结构,我们要测试一下。

查找无效的功能类型:逐步说明

按照以下步骤学习如何识别源数据集中存在的源要素类型(层)。

1.启动FME工作台,从一个空画布开始。从菜单栏中选择“读卡器>添加读卡器”。

将数据格式设置为GML(地理标记语言),并选择附加的GML数据集作为源。将工作流选项设置亚搏在线为“单个合并要素类型”(以确保所有对象都作为单个图层读取),然后单击“确定”添加读卡器:

保存工作区。

2.第2条。将复制过滤器变压器连接到读卡器功能类型。检查参数,并将键属性设置为fme_feature_type:

fme_feature_type记录源数据的层,因此,通过筛选出每一个示例,我们有效地在源数据集中创建了一个特征类型(层)列表。

三。从菜单栏中选择“编写器>添加编写器”。将数据格式设置为文本文件,并定义文本文件的写入位置。

将DuplicateFilter:Unique端口连接到文本文件编写器的功能类型。将属性fme_feature_type映射到编写器的文本行数据(通过绘制连接或使用attributeManager转换器):

4。运行翻译。打开输出文本文件。我们现在有一个源数据集中使用的所有层的列表,有效与无效:

例如,“private”有效,XYZ无效,“tellus”显然是一个拼写错误,应该是“telus”。

计数和修复无效的功能类型:逐步说明

我们现在有一个特性类型列表,可以看出有些是无效的。但是要计算或过滤这些,我们需要知道哪些层是允许的,最好把它们存储在某个文件中。

有许多变压器可用于将特征类型与此列表匹配-例如,attributeFilter-但是这里我们将使用databasejoiner。

5。将一个databasejoiner转换器放入工作区,连接到源数据集的第二个输出:

检查databasejoiner参数。设置如下:

  • 读者格式:csv(逗号分隔值)
  • 数据集:permittedlayerlist.txt文件
  • 读卡器参数:
    • 字段名行: (删除它)
    • 数据起始行:
  • 表:猪瘟病毒
  • 加入:
    • 功能属性:功能类型
    • 表字段:COL0

使用此设置,从未连接端口出现的功能具有无效的功能类型。

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)格式的数据集中:

因此,我将无效的特性分离成一个新的数据集,而不必设置它!

如果我真的想在工作区内这样做,在到达作者之前,我可以使用几何过滤器转换器来分离非多边形特征。

数据源

这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚省(data.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。

GIS 数据质量保证 复式过滤器 制图的 数据库连接程序 星期二,2017年10月3日格林尼治标准时间22:45:20 MARK2AT亚搏在线SAFE
数据质量保证:识别与FME的自交叉点 https://knowledge.亚搏在线safe.com/articles/54515/data-qa-identifying-self-commissions-with-fme.html(https://knowledge.safe.com/articles/54515/data-qa-identifying-self-commissions-

自相交

自交叉(也称为“循环”,“蝴蝶结”或“鱼尾”)是指其边界扭曲,使其与自身相交的特征。导致循环:

左侧示例显示多边形的端点与起点不相交的位置,使多边形以一个环闭合。

右边的特性是一个可能顺序不对的点的例子。它非常接近于一条直接倒回自身的直线,非常接近于一个尖峰,但这种布局实际上会形成一个循环。

在大多数情况下,自我交叉并不像这些那样明显。左边的例子通常要小得多-到看不见的程度-右边的例子通常有非常锐利的角度,看起来像一条线。

FME包含了利用几何验证程序变压器。

在这个例子中,我们将研究在包含建筑轮廓的数据集中识别和修复自交集。

下载

源数据集

自相交:作为模板的工作空间

源数据

源数据是一个OpenStreetmap数据集,包含温哥华市的建筑:

地图平铺方式 雄蕊设计,在下面 CC-BY3.0.数据通过 OpenStruts地图,在下面 CC-BSA.

有很多建筑,所以(为了简单起见)我们会说一个用户报告了两个包含问题的建筑。他们的身份证号码是102521333和301873712,我们需要调查。

定位自交点:逐步说明

按照以下步骤学习如何使用几何验证器转换器定位自相交特征。

1.启动FME工作台,从一个空画布开始。从菜单栏中选择“读卡器>添加读卡器”。

将数据格式设置为OpenStreetmap(OSM)XML,并选择附加的OSM数据集作为源。将工作流选项设置亚搏在线为“单个合并要素类型”(以确保所有建筑对象都作为单个图层读取),然后单击“确定”添加读卡器。

2.在画布上放置测试变压器。设置测试仪以测试ID=102521333或ID=301873712的位置:

NB:我们只需将所有建筑传递到几何验证器中,忽略传递的特性,但在本练习中,当可疑的特性已经被隔离时,运行起来更快,更容易发现错误。

三。将几何验证器变压器连接到测试仪:通过端口。打开参数并在二维问题中对自交集进行复选标记。在对话框底部,将“尝试修复”设置为“否”。

将Inspector Transformers连接到几何验证程序输出端口并运行工作区。failed和issuelocations输出如下所示:

地图平铺方式 雄蕊设计,在下面 CC-BY3.0.数据通过 OpenStruts地图,在下面 CC-BSA.

左边的建筑——如果是一个多边形——有明显的问题,外部周界在多个位置交叉。事实上,查询该特征以证明它是具有单个周长的单个多边形。

右手边的建筑没有那么明显的问题。您需要非常靠近建筑物右上角(东北角)放大才能看到问题:

顺便说一下,这个小的偏移量是0.7毫米(约0.03英寸),所以你可以看到这样的一个小错误是如何导致几何问题的。

所以,现在我们有了所有包含自交集的特性,带有一个点特征,表示自相交的位置。

计数自交叉点:逐步指令

使用统计计算器变压器计算自交点非常简单。唯一的决定是是否计算问题特性的数量,或者自相交的次数,这不一定是同一件事。

4。放置一个统计计算器变压器。要计算无效功能,请将其连接到geometryvalidator:失败的输出端口。要计算自交叉点,请将其连接到geometryvalidator:issuelocations输出端口。

5。检查统计计算器变压器的参数。选择要分析参数的属性中的任何属性(这与哪个属性无关)。

现在将total count属性设置为新的属性名,如numberBadFeatures或numberSelfInterfaces,以适当者为准。

6。将Inspector Transformer连接到统计计算器输出端口(如果选择摘要端口,将获得单个功能,如果选择完整的端口,则可以获得所有原始功能)。运行工作区。现在您应该有一个坏特性的数量(2)或自相交的数量(4)。

固定自交点:逐步说明

有很多方法可以固定自交叉点。例如,可以在交叉点处打开一个间隙,这样两条线条就不会交叉:

另一种解决方案是将特征实际划分为两个(或更多)多边形,在交叉点将它们分开。事实上,这是FME采用的技术。

7。检查几何验证器变压器的参数,并将尝试修复参数设置为是。

8。[可选]要解决几何验证程序的故障(现在将删除失败功能的坐标系),请在几何验证程序:失败端口和连接的检测程序变压器之间放置一个坐标系统设置器变压器。检查参数,将坐标系参数设置为LL84。

9。重新运行工作区并检查输出,专注于修复的输出。请注意,FME已将原始的单个多边形特征拆分为多部分特征,由多个多边形/轮廓组成:

我们现在有了一组数据,这些数据已经清除了自交集。如果不希望进行自动清洁,则可以使用交叉点来确定可以手动解决问题的位置。

数据属性

OpenStreetmap数据集:?OpenStreetmap贡献者。参见http://www.openstreetmap.org/版权所有

GIS 数据质量保证 几何验证程序 制图的 自相交 周一,2017年10月2日19:01:01格林尼治标准时间 MARK2AT亚搏在线SAFE
数据质量保证:使用FME识别峰值和异常值 https://knowledge.亚搏在线safe.com/articles/54245/data-qa-identifying-spikes-and-outliers-with-fme.html(https://knowledge.safe.com/articles/54245/data-qa-identifying-spikes-and-out

峰值和异常值

当一个特征中的一个顶点有一个X时,空间数据中会出现峰值(或异常值)。Y或者是Z值,它是如此的不正确以至于导致了一个像尖峰一样的外观。

峰值是一种相当特殊的缺陷类型,还有一个专门设计的故障模式与影响分析变压器来处理它们:棘突.

然而,峰值的可见性取决于查看数据的方向。例如,在传统X/Y视图中从上方查看数据时,特征的Z值峰值将不可见。因此协调员变压器在处理尖峰信号时也很有用。

在这个例子中,我们将研究在包含轮廓线的数据集中识别和修复峰值。

下载

源数据集

删除峰值:作为模板的工作区

源数据

源数据是一个包含温哥华市英吉利湾水深数据的MicroStation DGN数据集:

地图平铺方式 雄蕊设计,在下面 CC-BY3.0.数据通过 OpenStruts地图,在下面 CC-BSA.

有点表示深度(我们可以忽略)和轮廓线。两者都是2.5d(即每个顶点都有z值,深度以英寻为单位(英寻等于6英尺)。我们将调查轮廓中是否有尖峰,尤其是在Z值中,不能如此容易地进行目视检查。

定位,计数,固定钉:逐步说明

按照这些步骤学习如何用除穗变压器定位和固定穗特征。注意,除穗器变压器在没有固定钉子的情况下无法定位钉子,除了表示删除顶点的点特征之外。

1.启动FME工作台,从一个空画布开始。从菜单栏中选择“读卡器>添加读卡器”。

将数据格式设置为Bentley MicroStation Design(V8)。选择附加的MicroStation数据集作为源,然后单击“确定”添加读卡器。

提示时,仅选择要添加到工作区的轮廓特征类型(级别)。

2.第2条。在FME数据检查员中检查源数据。有一个非常明显的尖峰(如本文开头的屏幕截图所示),但其他一些轮廓也可以算作尖峰:

三。在画布上放一个除钉变压器,已连接到读卡器功能类型。

检查变压器参数。有一些参数可以让我们控制尖峰的最大角度和最大长度。当尖峰形成的角度小于或等于最大角度时,尖峰将被移除。当直线段长度不超过最大直线长度时。

将角度参数设置为10,长度参数设置为250;即最大角度为10度,最大长度为250米(坐标系为utm,单位为度/米)。

4。将检测变压器连接到除穗器变压器的输出端口,并运行工作区。

应定位并移除单个尖峰:

请注意,从删除的输出端口出现一个点特征,以指示删除峰值顶点的位置。如果质量保证过程旨在识别用于在不同应用中修复的峰值,然后,可以保存删除的输出端口,作为进行编辑的标志。

如果要求FME解决问题,然后,更改的端口输出删除尖峰的线路特征。

5。为了尝试移除不那么极端的尖峰,让我们用除穗器参数进行试验。将角度参数设置为45,然后再次运行转换。这一次,7个线路特征删除了9个尖峰:

不幸的是,这也消除了一些不是真正尖峰的点,像这样:

因此,能够对参数进行实验以获得峰值的最大修正值显然很重要,不删除有效顶点。

6。要计算删除的顶点数,将统计计算器变压器添加到除穗器:已删除端口。在参数中,选择任何要分析的属性(_Spike_Angle is Simply),并将总计数属性参数设置为NumberSpikes。

这个转换器的输出现在包含一个属性来计算固定峰值的数量。

7。在FME数据检查员中,使用工具栏按钮将视图切换到3D模式:

旋转显示器(使用工具栏上的“动态观察”工具),您会注意到之前未注意到的Z值峰值:

除穗器只能在二维空间工作,所以我们需要做些不同的事情来处理这个尖峰。

8。添加一个边界提取变压器,连接到除穗器的未更改和更改的输出端口,然后使用测试变压器:

boundsExtractor将返回x的最小值和最大值,Y和z坐标。将测试仪设置为测试最小z坐标小于零(zmin<0)的特性。这将隔离故障特征。

9。现在添加一个连接到测试仪的coordinateswapper变压器:passed端口。

检查变压器参数。注意,它允许您交换特定轴上的坐标;例如,交换x和y值。在这种情况下,将其设置为交换Y<->Z轴。

添加Inspector Transformer并运行工作区。现在您将看到数据作为侧视图。我们需要修复的长钉。使用数据检查器中的测量工具,您会发现它的长度接近10000米。

10。添加第二个除穗变压器,这个连接到coordinateswapper:output端口。将最大角度设置为1,最大长度设置为10100。

11。添加另一个CoordinatesWapper变压器,这是第一个的副本,以便切换回Y轴和Z轴:

将检查器添加到第二个CoordinatesWapper Transformer并运行翻译。你会注意到尖刺已经被移除了。

也注意到线条在其他地方也被平滑了,由于数据在第一次坐标交换后被压缩在Y轴上。这就是为什么我们需要隔离坏特性,以最小化不需要的更改。

我们现在有了一组清除了峰值的数据。如果不需要自动清洁,则可以使用尖峰去除点来确定可以手动解决尖峰的位置。

数据属性

此处使用的数据来源于公共域数据温哥华市,不列颠哥伦比亚省。

GIS 数据质量保证 几何验证程序 制图的 除穗剂 清华大学,2017年9月28日19:16:00格林尼治标准时间 MARK2AT亚搏在线SAFE
数据质量保证:识别重复的属性值 https://knowledge.亚搏在线safe.com/articles/53183/data-qa-identifying-duplicate-attribute-values.html网站

重复的属性值

重复的属性值是指多个功能共享同一属性的相同值的属性值。在许多情况下,这是自然的和预期的;例如,对于许多记录,地址数据库的省(县/州)字段很可能是相同的。

然而,在某些情况下,重复的值是无效的和意外的;例如,应为唯一ID的字段包含与另一个功能(1、2、3、4、4、5、6)相同的值。

重复的ID值,特别地,使用唯一索引键加载到数据库时可能导致完整性错误。

有时,只要与另一个字段具有特定关系,重复值就有效;例如:

第1栏 第2栏
C
C
C

或:……第一列有重复项,但是,第1列和第2列的组合是独特的(因此对于2a,2B,2C,2C,决赛2C是无效的,因为它与以前的组合匹配)

第1栏 第2栏
C

…如果列1有重复项,但它有效,因为它与列2相匹配(因此对于2b,2B,2B,2C,这个2C值无效,因为它是与以前的组合匹配)。

重复的属性值可以用复式过滤器变压器或匹配器变压器。Matcher Transformer很好地查找一列重复的关系,并且由于另一列不同而无效(2b,2B,2B,2C示例)

匹配变压器也更擅长提取全部的重复记录,因为DuplicateFilter允许重复记录的第一个实例通过。但同样的行为使得复制过滤器的内存效率更高,因此,如果可能的话,最好是这样。

识别和计算重复值非常简单,但修复可能需要人工干预,取决于字段要包含的内容类型。

下载

源数据集

定位重复属性:作为模板的工作区

源数据

本例的源数据集是一个Excel电子表格,其中包含温哥华市的营业执照信息。

数据集在FME数据检查器(表视图)中如下所示:

有多列,但特别是,我们对三个关键ID号感兴趣:

文档编号是整个数据集中唯一的ID号;即每个记录应具有不同的值。

许可人数是可以重用的ID号,因此可能不唯一。也,同一许可证编号可能有多个记录;例如,在多个地址上运行的单个业务将在数据集中为每个地址(但具有相同的licenseNumber)保存一条记录。

利森塞尔森是每个许可证的唯一ID号;即颁发的每个许可证都应具有唯一的许可证持有人N。当然,也可能有多个记录具有此值,因为它应该匹配多个licenseNumber功能的每个记录。

这里的场景是检查重复的值。我们可以说,recordid必须是完全唯一的。也,虽然每个许可人可能有多个记录,它应该只匹配一个licenseNumber。

查找重复的属性值:逐步说明

按照以下步骤学习如何识别重复的属性值。

1.启动FME工作台,从一个空画布开始。

从菜单栏中选择“读卡器>添加读卡器”。

将数据格式设置为Microsoft Excel。选择附加文件作为源数据集。单击参数按钮查看参数并检查源数据预览。默认参数值应该可以使用,所以单击“确定”关闭此对话框,然后再次单击“确定”添加读卡器。

2.第2条。要检查的第一个问题是重复的recordid值。我们要用一个复制变压器来做这个。所以把一个复制变压器放在画布上,已连接到读卡器功能类型(表)。

在“参数”对话框中,选择“记录ID”作为“关键属性”参数:

三。将Inspector Transformer连接到复制端口并运行转换。找到一个重复的recordid并输出到数据检查器。记录ID号是4854。

只显示重复记录;即它是的副本的记录也不会被筛选。在许多情况下,这足以满足我们的需要。然而,如果我们想同时查看这两个记录,就必须打开完整的数据集:

“高级烟花集团”营业执照注销时,看起来“基拉尼咖啡厅”(下一个将要颁发的许可证)错误地给出了他们的记录ID号。

4。要进行的下一个检查是重复的licensersn值。重复值本身不是问题,除非重复值的licenseNumber值不同(即licensersn:licenseNumber应为1:1匹配)。为此,我们要用火柴变压器。

将匹配变压器连接到复制过滤器上的唯一输出端口:

检查匹配器参数并设置以下内容:

  • 匹配几何体:无
  • 属性匹配策略:匹配所选属性
  • 所选属性:许可人
  • 必须不同的属性:licenseNumber

5。将inspector transformer连接到matcher:matched输出端口并运行转换。将有四个记录标识为匹配:

对于“电子企业公司”,其许可证编号中似乎有一个拼写错误(由120079改为120097)。很难确定另一个副本的原因。

注意这个转换器已经给了我们两个重复记录的实例,不仅仅是其中一个;但是,这一好处会带来性能成本,所以这并不总是最好的解决方案。

6。我们可以做的最后一个检查是使用不同的许可证持有人的重复许可证编号。因为(如上所述)licenseNumber值可以重用,所以可能有很多这样的值。然而,这种复制只会在两个许可证同时处于活动状态时导致问题。

所以,首先添加一个测试变压器连接到Matcher:NotMatched输出端口:

设置参数以测试状态为“已颁发”的许可证。

7。将第二个匹配转换器添加到工作区,这个连接到测试仪:通过端口。像以前一样设置,除此之外,licenseNumber是所选属性,和许可方的属性必须不同:

8。将inspector transformer连接到此matcher的匹配端口并运行工作区。将有10个功能通过匹配的端口退出:

即这些功能具有与同一个许可证号码不匹配的重复许可证号码。

计数重复的属性值:逐步说明

计算重复的属性值非常简单,这只是一个决定重复值的每个实例是否算作一个问题的例子,或者它是否是所有匹配值的一个问题(例如,如果两个功能都具有许可证编号17-107142,这算一个问题吗?还是两个?)

此外,有必要决定是单独计算所有不同类型的重复项,还是作为一个重复项。

9。要计算重复的特性,只需要在任何检查器转换器之前使用一个统计计算器。所以,在matcher:matched端口和inspector之间添加一个statisticscalculator,并将其设置为分析任何属性。

在“计算属性”参数中,删除所有值。在totalCountAttribute下输入duplicateCount:

10。重复的recordid功能被duplicatefilter过滤,结果只有1个功能被标记为重复(它是重复的记录不计算在内)。

Matcher结果将为每个匹配提供两个功能。如果你只想把它算作一个问题,副本!!)需要过滤掉。这只需从matcher:matched到matcher:singlematched切换连接即可完成:

计数重复的属性值:逐步说明

修复重复的属性值也很简单,前提是您只希望删除一个匹配的记录。在那种情况下,空间筛选器已删除副本的单个实例。对于matcher,它只要求保留单个匹配的特性;其他匹配项将被丢弃。

当然,有时有必要确定应该过滤哪些记录。在这种情况下使用的转换程序将根据管理要保存的记录和要丢弃的记录的规则而有所不同。有时需要保留两个记录,但为其中一个指定一个新值。在这种情况下,计数器可以提供新的ID,统计计算器可以找到ID的当前最大值,以确定下一个可用值是哪个。

在没有人工干预的情况下,很难修复由简单的打字错误(由120079改为120097)引起的重复。

数据属性

这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。

属性处理 GIS 数据质量保证 匹配器 复式过滤器 几何验证程序 制图的 清华大学,2017年9月14日格林尼治标准时间21:37:29 MARK2AT亚搏在线SAFE
数据质量保证:用FME识别非连续重复顶点 https://knowledge.亚搏在线safe.com/articles/52924/data-qa-identifying-unequenced-duplicate-vertices.html网站

复制顶点

当几何体在特征中有一个或多个顶点多次出现时,会出现重复顶点(重复点)。重复顶点是那些具有相同x,y,和z坐标值,到数据中存在的小数位数。

重复顶点不仅是低质量数据的标志,它们也可能是数据格式问题。某些格式允许重复顶点(例如,MicroStation DGN允许零长度线),而其他格式禁止重复顶点(例如Oracle Spatial)。

复制顶点可能在几何体中按顺序出现(例如,A、B、C、C、D、E)或可能出现顺序错误(A、B、C、D、C、E)。可能只复制一次(A、B、C、C、D)。或者可能重复多次(A、B、C、C、C、D、C、E、C)。

当然,有时重复顶点是有效的;例如,如果要正确闭合多边形的起点和终点(A、B、C、D、E、A),则多边形的起点和终点应相同,有时线性特征应环绕并重新连接中点(A、B、C、D、E、C);因此,仅仅在这个基础上识别无效的特性并不总是容易的。

有各种FME变换器可用于识别重复顶点,但是一些变压器——或者变压器的组合——将比其他变压器更有效。

  • 几何验证程序:此转换器标识并修复在单个几何体中连续出现的重复顶点。
  • 关闭曲线过滤器:此变压器识别形成闭环的特征,并且可以,因此,用于检测(或排除)具有重复端点的特征。
  • 坐标测量仪:此转换器从功能提取坐标列表,然后可以对其进行分析以查找重复项。

一般来说,几何验证器的使用频率更高,因为连续的重复顶点是一个更明显的问题。

然而,coordinatextractor更适合于检测出现顺序错误的重复顶点,以便进行进一步的调查。

此示例使用closedcurvefilter和coordinatextractor的组合来标识未排序的重复点。第二个示例使用geometryvalidator transformer来标识连续的重复点。

下载

源数据集

复制非连续顶点:作为模板的工作空间

源数据

源数据是一个MicroStation设计文件,其中包含表示建筑轮廓的线条特征:

这种情况下,我们希望在数据投入生产使用之前对其进行验证和清理。

定位非顺序重复顶点:逐步说明

定位非顺序重复顶点不像顺序重复那样简单;然而,这是可以做到的。按照以下步骤找到一种定位非顺序重复顶点的方法。

1.启动FME工作台,从一个空画布开始。从菜单栏中选择读卡器>添加读卡器。将数据格式设置为Bentley MicroStation Design(V8)。选择附加的MicroStation数据集作为源。如果单击“参数”按钮,您会发现有一个高级参数可以删除重复点:

确保关闭此参数,因为我们要确定重复顶点的位置和数量。所以只需单击OK添加读卡器。如果有提示,选择BuildingFootprints级别作为要读取的数据。

2.第2条。单击画布上的读卡器功能类型。在弹出的菜单上,选择Inspect选项以在数据检查器中查看数据。检查数据。数据一目了然看起来是正确的,很难确定哪里可能有重复的顶点。

三。回到FME工作台,在读卡器功能类型之后添加一个closedcurvefilter变压器。将inspector transformers添加到其输出端口并运行转换,根据随机颜色生成,您可能需要对关闭的曲线过滤器打开功能进行着色以区分结果。它将识别如下打开的功能:

这是一个具有重复顶点的特征,但它不像多边形那样闭合。它可能,或者不可以,被视为问题特征,但既然这是一栋建筑,我们可能会认为它是错误的。

4。为了找到非连续的重复点,我们将提取坐标列表并检查是否重复。当然,重要的是不要混淆不同功能上的点,不包括多边形的起点/终点。

这里的数据没有每个功能的唯一ID,所以我们应该通过添加一个计数器转换器来创建一个。这样不同功能上的相同点就不会混淆:

默认参数(将创建一个名为_count的属性)对于我们来说是可以的。

5。现在在计数器后面添加一个coordinatextractor转换器。参数应设置为将所有坐标提取到名为“索引”的列表中:

如果你愿意,连接Inspector Transformer并运行工作区。查询一个特征,你会发现它现在有一个包含顶点的列表。

6。好啊,我们要分析坐标表,但我们不能把它作为列表对象。没有特定的列表转换器可以在多个值中找到重复的值(ListDuplicateRemover将找到重复的X值,或复制Y值,但不是重复X和Y的组合)。所以,我们将使用ListExploder转换器将列表分解为每个列表元素的一个功能:

如果你愿意,连接Inspector Transformer并运行工作区。现在每个顶点都有一个特征。每个顶点在列表中的位置记录为“元素”索引:

上面显示55号楼有5个顶点,编号为0到4。第一个和最后一个顶点匹配,这意味着这是一条封闭的线(很好)。

7。现在我们可以开始删除不重复(或不算重复)的顶点。

将测试变压器放在ListExplorer之后。设置要测试的参数,以确定元素索引=0(即这是直线的第一个坐标)。

这些是我们要删除的功能——因为否则闭合线的第一个和最后一个点将匹配并标记为错误——所以失败的端口是我们要保留的功能。

8。现在放置一个复制变压器,已连接到检测仪:失败端口:

设置变压器以过滤出重复的\计数值,X,Y和(可选)Z。即在相同的特征(计数匹配)上,用相同的X、Y、Z标记顶点。

将Inspector Transformer连接到DuplicateFilter:Duplicate端口并运行工作区。结果如下:

有一个未闭合的特征和六个标记有重复顶点的特征。事实上,建筑物的每个顶点都有一个重复的特征,因此,如果一个建筑有两个重复的顶点,将有两个特征来表示它。该特征的X/Y/Z属性标识重复顶点的位置。

笔记

如果你(像我一样)过度思考这个问题,你可能会想,去掉第一个点会不会有什么影响。例如,如果我们有A、A、B、C、D、E或A、B、C、A、D、E——会不会有问题,因为第一个A功能被删除,因此与随后的任何A功能都不匹配?

好,不,由于各种原因:

  • 如果是A,A,B,C,D,E,那么这两个A是连续的,你可以找到那些带有几何验证器的。但即使你没有…
  • 如果是闭合线,那么“e”无论如何与“a”相同,所以后面的a将与e匹配。
  • 如果它不是一个封闭的行,那么closedcurvefilter将已经将此标记为一个可能的问题功能。

计算问题顶点的数量和引入一个统计量计算器(如前一个例子)来计算特征一样简单。

修复问题顶点是另一回事。从技术上讲,我们可以使用coordinateermover删除其中一个坏顶点。但不能保证我们会去掉正确的那个。例如,在复制过滤器之后添加一个coordinateremover,设置为删除顶点“元素索引”(我们知道它是一个副本):

结果适用于某些功能,但不是其他人:

因此,建议使用这种方法来识别非连续的重复坐标。但不是为了修复它们。应将问题特征传递给适当的编辑工具进行修复。

数据属性

这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。

GIS 数据质量保证 坐标测量仪 列表爆炸器 复式过滤器 几何验证程序 制图的 星期二,2017年9月12日19:00:24格林尼治标准时间 MARK2AT亚搏在线SAFE
数据质量保证:用FME识别连续的重复顶点 https://knowledge.亚搏在线safe.com/articles/52742/data-qa-identifying-duplicate-vertices-with-fme.html(https://knowledge.safe.com/articles/52742/data-qa-identifying-duplicate-

复制顶点

当几何体在特征中有一个或多个顶点多次出现时,会出现重复顶点(重复点)。重复顶点是那些具有相同x,y,和z坐标值,到数据中存在的小数位数。

重复顶点不仅是低质量数据的标志,它们也可能是数据格式问题。某些格式允许重复顶点(例如,MicroStation DGN允许零长度线),而其他格式禁止重复顶点(例如Oracle Spatial)。

复制顶点可能在几何体中按顺序出现(例如,A、B、C、C、D、E)或可能出现顺序错误(A、B、C、D、C、E)。可能只复制一次(A、B、C、C、D)。或者可能重复多次(A、B、C、C、C、D、C、E、C)。

当然,有时重复顶点是有效的;例如,如果要正确闭合多边形的起点和终点(A、B、C、D、E、A),则多边形的起点和终点应相同,有时线性特征应环绕并重新连接中点(A、B、C、D、E、C);因此,仅仅在这个基础上识别无效的特性并不总是容易的。

有各种FME变换器可用于识别重复顶点,但是一些变压器——或者变压器的组合——将比其他变压器更有效。

  • 几何验证程序:此转换器标识并修复在单个几何体中连续出现的重复顶点。
  • 关闭曲线过滤器:此变压器识别形成闭环的特征,并且可以,因此,用于检测(或排除)具有重复端点的特征。
  • 坐标测量仪:此转换器从功能提取坐标列表,然后可以对其进行分析以查找重复项。

一般来说,几何验证器的使用频率更高,因为连续的重复顶点是一个更明显的问题。

然而,coordinatextractor更适合于检测出现顺序错误的重复顶点,以便进行进一步的调查。

此示例使用几何验证器转换器来标识连续的重复点。第二个示例使用closedcurvefilter和coordinatextractor的组合来标识未排序的重复点。

下载

源数据集

重复连续顶点:作为模板的工作空间

源数据

源数据是一个MicroStation设计文件,其中包含表示建筑轮廓的线条特征:

这种情况下,我们希望在数据投入生产使用之前对其进行验证和清理。

定位连续的重复顶点:逐步说明

按照以下步骤学习如何使用几何验证器转换器定位连续的重复顶点。

1.启动FME工作台,从一个空画布开始。从菜单栏中选择读卡器>添加读卡器。将数据格式设置为Bentley MicroStation Design(V8)。选择附加的MicroStation数据集作为源。如果单击“参数”按钮,您会发现有一个高级参数可以删除重复点:

确保关闭此参数,因为我们要确定重复顶点的位置和数量。所以只需单击OK添加读卡器。如果有提示,选择BuildingFootprints级别作为要读取的数据。

2.第2条。单击画布上的读卡器功能类型。在弹出的菜单上,选择Inspect选项以在数据检查器中查看数据。检查数据。数据一目了然看起来是正确的,很难确定哪里可能有重复的顶点。

三。回到FME工作台,添加一个连接到读卡器特性类型的几何验证器变压器。检查参数对话框:

在“重复连续点”选项旁边打勾。您可以(可选)检查此问题的参数。唯一的参数是处理三维点,在这种情况下不适用。

在对话框的下部,关闭修复问题的选项:

尽管重复点是固定的,现在,我们去看看他们在哪里。

4。将Inspector Transformers连接到每个几何验证程序输出端口并运行工作区。检查输出,根据随机颜色生成,您可能需要对几何验证程序的“失败”功能进行着色,以区分结果:

注意,有两个功能被标记为无效,重复点突出显示。

连续重复顶点计数:逐步指令

计算无效功能和坏点的数量非常容易,因为我们已经将它们过滤掉了。例如,甚至工作台的特性计数也会告诉我们所涉及的数字:

要创建存储在属性中的计数,使用statisticscaleculator转换器很简单。

按照以下步骤学习如何计算重复顶点特征。

5。在geometryvalidator:failed端口与其inspector transformer之间添加一个statisticscaleculator。还可以在geometryvalidator:issuelocations端口与其inspector transformer之间添加一个统计量计算器。

对于这两个统计量计算器,选择任意属性作为要分析的属性。事实上,我们选择哪一个属性并不重要,因为我们只需要一些特性。

删除“计算属性”字段中的所有值。对于第一个StatisticsCalculator,在total count字段下添加“badFeatures”,以提供坏特性的计数。对于第二个统计量计算器,在total count字段下添加“duplicatevertices”,以提供重复功能的计数。

重新运行工作区。这次,输出应该包含一个属性,该属性指示每种类型有多少坏特性。

NB:如果您将StatisticsCalculator:Summary输出端口连接到检查器,只有一个输出特性。要获得所有输出功能,请确保连接了完整的端口。


固定连续的重复顶点:逐步说明

通过删除其中一个副本,可以很容易地修复无效的重复顶点。几何验证程序有一个这样做的选项。

6。打开“几何验证器参数”对话框,将“尝试修复”参数更改为“是”。重新运行工作区。当然这次不会有失败的功能,但仍将输出问题位置,以显示重复点的位置。

数据属性

这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。

GIS 数据质量保证 几何验证程序 制图的 周一,2017年9月11日格林尼治标准时间15:05:31 MARK2AT亚搏在线SAFE
教程:地理信息系统和商业智能数据争论 https://knowledge.亚搏在线safe.com/articles/43801/tutorial-gis-and-business-intelligence-data-wrangl.html网站

介绍

数据可视化工具和仪表盘有助于从原始数据生成有用的智能。自动化数据准备任务是利用这些应用程序的第一步。了解如何重组属性和属性值,以及如何在FME中转换数据和使用数据透视表。然后,数据可以加载到业务智能工具(如Tableau)中。

练习

数据验证和清理

学习从电子表格中提取坐标数据,然后在将数据加载到Tableau之前清理数据。

为商业智能转换数据

我们将从包含人口统计信息的大型Excel文档开始。数据将被转置以重组,并选择感兴趣的统计数据

数据透视表和FME

在这个例子中,我们演示了使用FME变压器构造一个数据透视表。举例说明了使用attributePointVoter变压器和statisticscaleculator变压器的两种选择。

数据质量保证 转置 枢轴 人构成的画面或场景 FMEU2017 商业智能 清华大学,2017年5月4日16:17:10格林尼治标准时间 纳塔利亚特保险箱亚搏在线
数据QA:识别无效的几何图形类型 https://knowledge.亚搏在线safe.com/articles/34673/data-qa-identifying-invalid-geometry-types.html网站

无效的几何图形类型

InvalidGeometry类型是指几何类型对于其表示的特征类别无效的类型;例如,自行车路径由点几何图形表示,或者河流由多边形几何体表示(如下所示):

这种几何图形是否真正无效取决于用户对数据的解释和任何特殊情况。例如,数据的规模可能会使河岸两侧都被捕获(如上所述)。因此多边形是完全合法的几何类型。

InvalidGeometry类型还包括组织可能具有的任何特殊规则,允许通常无效的情况发生。例如,测绘机构可以命令街道照明柱不由其核心位置的点特征存储,但是,存储为表示可接受照明水平范围的多边形(如下所示):

一般来说,FME可以使用几何滤波器变压器和-在某些情况下-可以解决问题使用几何坐标系.

NB:这里无效的几何类型意味着对组织规则无效。这并不意味着几何图形对格式本身无效。

下载

源GML数据集

定位无效的几何图形:作为模板的工作区

将无效几何体计数:工作区作为模板

修复无效的几何图形:作为模板的工作区

源数据

本例的源数据集是(假定的)一组表示轮廓的线(在GML数据集中)。

数据集在FME数据检查器中如下所示:

这里的场景是,我们有许多轮廓文件,并且希望使用此单个文件作为原型来设置对错误几何类型的检查。如你所见,形成闭合形状的轮廓被创建为多边形特征。此外,不仅有轮廓,但也要注意高度点和谁知道其他类型的几何图形。这些特性需要使用FME过滤或修复。

查找无效的几何图形类型:逐步说明

按照以下步骤了解如何识别具有无效几何类型的轮廓特征。

1.启动FME工作台,从一个空画布开始。

从菜单栏中选择“读卡器>添加读卡器”。在打开的对话框中,将数据格式设置为GML(地理标记语言)。选择附加的GML文件作为源数据集。

单击“确定”关闭对话框并添加读卡器。

2.第2条。在GML读卡器功能类型之后添加几何过滤变压器:

三。打开“几何过滤器参数”对话框。在这里,我们可以定义要过滤的几何类型。我们应该选择“线”,因为轮廓是由自然的线特征决定的。我们还应该选择“区域”,因为我们知道区域特征存在,并且它们可以被修复。

再次单击“确定”和“确定”关闭对话框。工作区现在如下所示:

任何不是线条或区域的几何图形都将“未过滤”。

4。将Inspector Transformers连接到每个输出端口并运行工作区。非线条特征将被过滤到单独的图层上,显示如何单独处理它们。

计数无效的几何图形类型:逐步说明

计算坏特性的数量非常容易,因为我们已经将它们过滤掉了。例如,甚至工作台特性计数也显示了40个未过滤的特性。

要创建存储在属性中的计数,使用statisticscaleculator转换器很简单。

5。在geometryfilter:unfiltered端口与其inspector transformer之间添加一个统计计算器。打开参数对话框。

第一选择高程作为要分析的属性。事实上,我们选择哪个属性并不重要,因为我们只需要一些功能。

删除“计算属性”字段中的所有值,然后在“总计数”字段下添加“BadFeatures”。这将提供一些坏特性。单击“确定”关闭对话框。

重新运行工作区。这次,输出应该包含一个属性,该属性指示有多少坏特性。

NB:如果您将StatisticsCalculator:Summary输出端口连接到检查器,只有一个输出特性。要获得所有输出功能,请确保连接了完整的端口。

修复无效的几何图形类型:逐步说明

可以在FME中使用GeometryCoercer更改几何类型。我们过滤掉了点特征(以及任何其他几何类型),因为没有简单的方法可以将它们转换为线特征。然而,区域特征可以很容易地从多边形更改为闭合线。

6。添加一个连接到几何过滤器的几何线圈变压器:区域输出端口:

确保其连接如图所示-强制特征将轮廓连接在单个检测变压器中。

7。打开GeometryCoercer的“参数”对话框。将几何类型设置为“FME_line”。

单击“确定”关闭对话框并重新运行工作区。结果是一组干净的轮廓,没有无效的几何类型:

笔记

以下是修复无效几何体类型的其他一些技术。

1:当几何图形应该是一个岛(或甜甜圈),但“孔”被填充(如下所示)时:

…那么Donutbuilder变压器将是最好的解决方案。

2:当几何图形应该是直线时,但是是一个区域(如一步一步的例子),结果应该是一个网络(如这些道路特征)。

…然后几何取景器将区域更改为线条,但它不会在节点点拆分它。这就需要增加一个交叉变压器。

三。几何控制器可以将一条闭合的直线变成一个多边形特征,但它不会从一组单独的线条中构建多边形。这需要区域生成器变压器。

数据属性

这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。

GIS 数据质量保证 几何验证程序 几何过滤器 制图的 几何矫形器 结婚,2016年9月28日格林尼治标准时间18:35:39 MARK2CAT亚搏在线SALIT
数据质量保证:识别无效的空间关系 https://knowledge.亚搏在线safe.com/articles/34593/data-qa-identifying-invalid-relationships.html

无效的关系

无效关系是指在某些方面不合逻辑的特征之间存在空间关联;例如,一条自行车道穿过一个湖泊,或一个街道灯柱出现在建筑物的占地面积内(如下所示):

这种关系是否真正无效取决于用户对数据的解释和任何特殊情况。例如,这条自行车道可能在一条木人行道上穿过湖面,或者,街道照明柱可能真的位于建筑物的屋顶或悬挑的下方(至少有一个悬挑)。

因此,FME可以突出可能出现的问题,但只有最终用户才能决定什么是错什么是对的,以及如何解决这个问题。

无效关系还包括组织可能具有的任何特殊规则,包括非自然无效的情况。例如,地图绘制单位可以规定,自行车道经过非本市所有的土地的,为错误车道。或者,如果路灯柱相距超过50米,它们可能无效,表示灯光变暗的距离(如下所示):

因为有各种关系可以测试,FME中有各种变压器可用于测试它们。下面的示例和注释仅涵盖其中的一些内容。

下载

源形状文件数据集

NB:本例中使用的光栅图块可以,如果需要,作为亚搏在线安全样本数据集

定位无效关系:工作区作为模板

计数无效关系:将工作区作为模板

源数据

本例的源数据集是一组线条(在三个ESRI形状文件中),表示温哥华市的循环路径,以及一个单独的多边形(同样是esri shapefile格式),代表温哥华市的范围。

数据集在FME数据检查器中如下所示:

这里的情况是,我们希望检查是否有任何自行车路线错误地落在城市边界之外;例如,它穿过港口或小溪,或者部分地跨越边界进入另一个城市。

查找无效的循环路径:逐步指令

按照以下步骤学习如何识别与城市边界具有无效关系的循环路径特征。

1.启动FME工作台,从一个空画布开始。

从菜单栏中选择“读卡器>添加读卡器”。在打开的对话框中,将数据格式设置为esri shapefile。因为两个源数据集都是shapefile格式,所以我们可以使用同一个读卡器来读取这两个数据集。

如果附加的数据集存储在同一文件夹中,单击“浏览”按钮并选择全部四个。然后单击“确定”关闭对话框并添加读卡器。

然而,如果数据集存储在单独的文件夹中,单击“高级浏览器”按钮:

在“高级”对话框中,单击“添加文件”按钮,然后依次添加每个形状文件。

单击“确定”关闭对话框并添加读卡器。

2.自行车道具有较长的特点,简单地确定哪些线路与城市边界重叠并不特别有用;相反,有必要剪掉每行的实际无效部分。

所以,将剪辑转换器添加到工作区。将VancouVerlandBoundary数据集连接到裁剪器端口,将自行车路径功能类型连接到裁剪器端口:

三。将检测变压器连接到剪具:外部端口,以及万古瓦兰边界特征类型;然后运行工作区。

很明显,有几个地方的自行车道延伸到温哥华土地边界之外,但是,除非我们能看到背景图,否则不太清楚哪个数据集是正确的。

因此,在FME数据检查器中,选择工具>FME选项并选择要显示的背景图。或者选择文件>添加数据集,将格式设置为geotiff(地理参考标记图像文件格式),然后选择“下载”部分中提到的geotiff文件。

现在我们可以看到循环路径或陆地边界数据是否正确(在上面的屏幕截图中,循环路径显然是正确的)。检查自行车道上所有被夹住的部分,看是否需要修理。

计数无效循环路径:逐步指令

计算坏特性的数量非常容易,因为我们已经将它们过滤掉了。例如,甚至工作台的特性计数也显示了28个坏的部分。但是,了解有多少个循环路径有问题,以及每个循环路径有多少坏的部分是有用的。

要创建存储在属性中的计数,使用statisticscaleculator转换器很简单。

4。在裁剪器之间添加两个统计量计算器:外部端口及其检查器转换器。确保摘要输出端口从第一个StatisticsCalculator连接,但在第二个完整的输出端口。

打开第一个统计计算器的参数对话框。这将用来告诉我们每条路径中有多少坏的部分。因此,将group by参数设置为pathID。

接下来,选择pathID作为要分析的属性。事实上,我们选择哪个属性并不重要,因为我们只需要一些功能。

删除“计算属性”字段中的所有值,然后在“总计数”字段下添加“坏节”。这将为每个路径提供坏段的计数。

单击“确定”关闭对话框。

5。打开第二个统计计算器的参数对话框。选择badsections作为要分析的属性(同样,我们使用哪个并不重要)。删除“计算属性”字段,然后在“总计数”字段下添加“坏路径”。

重新运行工作区。这次输出应该包含一个属性,该属性表示有多少坏路径,每条路径有多少坏段:

这些只是统计数据,不是几何学。要保存坏截面的几何图形,添加一个连接到clipper:外部输出端口的写入程序。

修复无效的循环路径

使用FME通常不可能修复这样的无效功能,因为需要用户验证坏特性。事实上,如果检查这个示例的输出,您会发现在所有情况下,循环路径的“坏”部分都是由a)通过桥引起的,或b)陆地边界几何结构不正确。

笔记

1:我们可以打开背景图,而不是将geotiff数据添加到数据检查器中。甚至添加geotiff作为自动背景。

2:为了找到问题点特征,就像建筑物内的路灯柱一样,请遵循以下说明:多边形处理中的点通用地理信息系统操作教程

3:要查找问题特征,如区域不正确重叠,查看本教程中的slivers and overlaps文章,或提取多边形交点通用地理信息系统操作教程中的文章

数据属性

这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。

GIS 剪刀 统计计算器 数据质量保证 几何验证程序 制图的 星期二,2016年9月27日16:39:08格林尼治标准时间 MARK2CAT亚搏在线SALIT
数据质量保证:识别比最小距离更近的特征 https://knowledge.亚搏在线safe.com/articles/33136/identifying-features-closer-than-a-minimum-distanc.html网站

介绍

将用于特定比例尺的制图制作的特征需要间隔一定的距离,以便在最终的地图输出中不重叠。因此,在这种情况下,测试比设定距离更近的特性是一种有用的能力。

例如,用户正在绘制喷泉图,但发现,在所需的比例下,所选符号与建筑足迹重叠:

因此,用户需要识别这些功能,量化问题,然后通过将特性替换到所需的距离来解决问题。

下载

源数据集

定位最小距离要素:作为模板的工作空间

计数最小距离特征:作为模板的工作空间

固定最小距离特征:作为模板的工作空间

源数据

本教程的源数据集是一组线条(在AutoCAD DWG数据集中),代表温哥华市的道路,以及一组表示公共艺术的点特征(存储在Excel电子表格中):

这里的场景是,我们希望创建一张温哥华市的公共艺术品地图。然而,为了确保没有功能重叠,我们需要识别和移动道路10米范围内的公共艺术特征。

为了做到这一点,我们将首先使用邻域查找变压器(以识别坏特性)。统计计算器(对其进行计数);然后是浮筒变压器(来固定它们)。

识别无效功能:逐步说明

按照以下步骤学习如何识别最小距离范围内的特征。

1.启动FME工作台,从一个空画布开始。

从菜单栏中选择“读卡器>添加读卡器”。

将数据格式设置为autodesk autocad dwg/dxf。选择附加的dwg文件作为源数据集。单击参数按钮,并将分组实体设置为“属性模式”。

回到主对话框,选择工作流选项“单一合亚搏在线并功能类型”。这将在工作台中创建一个单一的FME特性类型。单击“确定”添加读卡器。

2.第2条。第二次从菜单栏中选择“读卡器>添加读卡器”。

将数据格式设置为Microsoft Excel,并选择附加的XLSX文件作为源数据集。单击参数按钮。确保使用数据类型定义属性“经度”和“纬度”。X轴坐标Y-坐标.

返回主对话框,确保“工作流”选项仍设置为“单个合并要素类型”,然后单击亚搏在线“确定”添加读卡器。

三。存储在Excel数据集中的坐标是纬度/经度坐标系,与道路数据坐标系(UTM83-10)不同。要执行此操作,需要所有数据都在一个公共坐标系中。

所以,添加一个reprojector transformer并将Excel Reader功能类型连接到其输入端口:

4。打开reprojector的参数对话框。将其设置为将Excel数据从ll83重新投影到utm83-10:

单击“确定”关闭对话框。

5。现在我们准备好处理数据了。识别无效的功能,以便也许,我们可以在其他地方手动处理它们,我们将使用邻居探测器变压器。

放置一个邻居探测器变压器。将reprojector:reprojected端口连接到neighfinder:base输入端口。将道路功能类型连接到邻居查找器:候选端口:

打开“邻居查找器参数”对话框。将“最大距离”参数设置为10。

6。将检测变压器连接到匹配和不匹配的数据库输出端口,另一个是道路特征类型。运行工作区。

从匹配的港口出现的特征在道路10米范围内,因此需要注意。

计算无效功能:逐步说明

计算坏特性的数量非常容易,因为我们已经将它们过滤掉了。例如,甚至工作台的特性计数也会告诉我们所涉及的数字:

但是,使用statisticscaleculator转换器创建存储在属性中的计数同样简单。

按照以下步骤学习如何计算短线功能。

7。在neighfinder:matched端口及其inspector transformer之间添加一个统计计算器。打开参数对话框。

第一选择功能类型作为要分析的属性。事实上,我们选择哪个属性并不重要,因为我们只需要一些功能。

删除“计算属性”字段中的所有值,然后在“总计数”字段下添加“BadFeatures”。这将提供一些坏特性。单击“确定”关闭对话框。

重新运行工作区。这次,输出应该包含一个属性,该属性指示每种类型有多少坏特性。

NB:如果您将StatisticsCalculator:Summary输出端口连接到检查器,只有一个输出特性。要获得所有输出功能,请确保连接了完整的端口。

8。如果检查了原始Excel数据集,你可能已经注意到温哥华每个街区的艺术品都在一张单独的纸上。如果你想根据邻居数一数坏特性,重新打开StatisticScaleCalculator参数对话框,并将Group By参数设置为Group By属性功能类型

运行工作区,您将看到市中心的坏特性数量(16个)。FalVIEW(2)普莱森特山(1)斯特拉思科纳(3)。

修复无效功能:逐步说明

过近的特性可以很容易地用FME中的置换变压器来固定,这取决于它们的几何结构。执行以下步骤以完成工作区并自动修复无效功能。

9。删除Neighfinder Transformer并将置换器Transformer添加到画布。置换器可以定位和修复无效特征,所以不再需要找邻居了。

将置换器连接到道路和公共艺术特征-但这一次道路是基本特征,艺术作品为候选人提供:

10。打开“置换器参数”对话框。将“刚度”参数设置为1,将“最小分离距离”设置为10。这将确保这些点距离道路至少10米。

将“基础类型”参数设置为“多个基础”(因为有多个道路特征)

11。重新运行工作区。注意,离路太近的艺术品已经被移走了。

笔记

1-浮筒变压器最适合于简单的几何结构,如点特征。尝试替换线条特征是一项更困难的任务。

2-有时置换器的结果也不完美。找到Marinside Crescent Lookout艺术品,你会看到,虽然它成功地从一条路移开,它现在离另一个太近了!

像这样夹在两个特性之间的特性几乎不可能被自动修复。

数据属性

这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。

GIS 邻域 统计计算器 数据质量保证 几何验证程序 制图的 置换器 结婚,2016年8月31日格林尼治标准时间21:18:43 MARK2CAT亚搏在线SALIT
数据质量保证:识别短线特征 https://knowledge.亚搏在线safe.com/articles/32747/identifying-small-line-features-with-fme.html(https://knowledge.safe.com/articles/32747/identifying-small-line-features-with-fme.html

短线特征

短线是指长度小于规定公差的线。这些可以通过以下组合找到:测量线路长度然后用滤波变压器施加一个试验条件。

短线测试是一种很好的质量保证测试,因为小于一定长度的线通常表示存在重复顶点等问题。网络边缘无效,悬挂(超调)一般来说线条不好。

例如,下面的箭头表示两条非常短的线,悬挂在道路网与不完全匹配的多边形边界之间的地方:

计算这些坏特性中有多少是非常简单的。然而,如下文所述,像这样的线自动固定更困难。

下载

源数据集

定位短线:作为模板的工作区

将短行计数:工作区作为模板

固定短行:作为模板的工作区

源数据

本例的源数据集是一组线条(在AutoCAD DWG数据集中),表示温哥华市的道路。

数据集在FME数据检查器中如下所示:

这里的场景是我们希望创建一个适当的边缘/节点网络,但要认识到,我们应该添加一些质量保证检查,以确保没有坏的线条被使用。

定位短线:逐步说明

按照以下步骤学习如何识别短线功能。

1.启动FME工作台,从一个空画布开始。

从菜单栏中选择“读卡器>添加读卡器”。

将数据格式设置为autodesk autocad dwg/dxf。选择附加的dwg文件作为源数据集。单击参数按钮,并将分组实体设置为“属性模式”。

单击“确定”,然后再次单击“确定”以添加读卡器。

2.第2条。源数据集由行功能组成。为了测试它们的长度,我们首先必须用长度计算器变压器测量它们。

所以,添加长度计算器变压器。将所有读卡器功能类型连接到长度计算器输入端口。

三。要评估特征的长度,需要一个可以根据特定条件过滤特征的变压器。最容易使用和最常见的变压器是测试仪。

所以,添加测试变压器并将其连接到长度计算器:输出端口。

4。一条线在被怀疑之前需要有多短是一个主观的决定。然而,一条短于其宽度的道路连接似乎是一个明显的候选者。维基百科告诉我们3米宽.温哥华的大部分道路由两条车道组成。因此,我们应标记所有长度小于6米的路段。

所以,打开“检测仪参数”对话框。设置测试条件以检查测量长度小于6的道路特征:

5。向每个测试仪输出端口添加两个inspector transformers-一个-并运行工作区。当输出出现时,在FME数据检查器中调整特征颜色,使短线更加突出。

检查红色特性,看看它们是否真的是问题特性以及原因。你会发现在整个城市都有一些孤立的问题。

6。假设我们想确定受影响的道路类型;即他们是私人的吗?住宅的,次要的,等。这样做的第一步是将该信息作为属性公开。

所以,单击任何源要素类型上的“…”按钮以打开其属性对话框。单击“格式属性”选项卡并找到属性功能类型。

对属性进行复选标记以公开它(使其在工作区中可用)。

7。打开连接到检测仪的检测程序的参数对话框:通过端口。

单击“按设置分组”的“浏览”按钮,然后选择新显示的功能类型

重新运行工作区。在数据检查器中,每种类型的道路都将被分成自己的图层。你会看到14个坏特性中的一个;4条是主干道,7个是住宅区,三是次要的。

短线计数:逐步说明

计算坏特性的数量非常容易,因为我们已经将它们过滤掉了。例如,甚至工作台的特性计数也会告诉我们所涉及的数字:

要创建存储在属性中的计数,使用statisticscaleculator转换器很简单。

按照以下步骤学习如何计算短线功能。

8。在tester:passed端口和其inspector transformer之间添加一个统计计算器。打开参数对话框。

第一,选择“长度”作为要分析的属性。事实上,我们选择哪个属性并不重要,因为我们只需要一些功能。

删除“计算属性”字段中的所有值,然后在“总计数”字段下添加“BadFeatures”。这将提供一些坏特性。单击“确定”关闭对话框。

重新运行工作区。这次,输出应该包含一个属性,该属性指示每种类型有多少坏特性。

NB:如果您将StatisticsCalculator:Summary输出端口连接到检查器,只有一个输出特性。要获得所有输出功能,确保连接完整端口。

9。如果您想要基于道路类型的坏特征(作为属性)计数,重新打开StatisticScaleCalculator参数对话框,并将Group By参数设置为Group By属性功能类型

运行工作区,您将看到每种道路类型的不良特征数量。

固定短线路:逐步说明

没有简单的解决方案可以自动修复短线路,因为短线路有多种不同的发生方式。要解决的最简单的情况是使用线路合并变压器将短线路合并到相邻线路中;但是,如下面的示例所示,有时,尝试自动修复短线路会带来比修复更多的错误,并可能成为一个非常复杂的过程。

12。添加一个线路连接变压器(在FM2018或更新版本中称为线路组合器),并将其插入读卡器功能类型和长度计算器变压器之间:

13。打开LineJoiner Transformer的“参数”对话框。这个变压器有许多参数来控制它的工作方式。这里的一个危险是不需要的连接,因为没有办法告诉它,所以只应该加入简短的特性。

所以,将group by参数设置为“hblock”,将consider node elevation参数设置为“yes”。

现在,除非线路是同一条道路的一部分,否则线路将无法连接,如果它们在不同的高度上互相越过,就不会。

14。即使使用LineJoiner参数,有些线路可能无意中连接在一起。例如,同一块中的两个段应通过传入连接拆分,但现在连接在一起:

为了避免这种情况,在LineJoiner和长度计算器变压器之间添加交叉变压器。

15。重新运行工作区。

您将看到一些问题特性已被清除。例如,查找街道ID为11255的功能。在运行清理工作区之前,这是一个不必要的简短部分。之后,LineJoiner和Intersector合并了该功能,并在与StreetID 11342的交叉路口处与街区相交。

然而,其他特征被不必要地交叉(见街道ID 13545):

所以这是一个交叉口解决了一些问题的例子,但也会引起其他人。

16.我们现在需要做的是重新连接错误相交的特性,留下那些交叉的,因为它们是原始合并的一部分。这就是事情开始变得更复杂的地方,但是我们可以通过比较它被分成的部分的数量来区分一个特征和另一个特征,它的零件数。

打开LineJoiner的参数对话框。选中标记为“生成列表”的框,然后输入列表名称(如mylist,例如)。这将创建一个FME列表——一个具有多个值的属性——它告诉我们正在连接哪些(和多少)路段。

17。添加列表元素计数器和测试变压器,和第二个线路连接器-所有连接在工作区的末端,就像这样:

打开ListElementCounter参数对话框,将List属性设置为MyList。它将记录最初连接在一起的每个特征的零件数。

打开“检测仪参数”对话框。为_element_count=_段设置测试条件。这将告诉我们是否将特性重新连接在一起。即如果接合线和交叉线对零件数量没有影响,那么它不应该被修改,应该被修复。

最后,打开LineJoiner参数对话框,并将Group By参数设置为StreetId。这将要做的是基于streetID将线路连接起来,把不必要的街道连接起来。

18。连接InspectorTransformers(您需要LineJoiner和Tester:FailedOutput),然后重新运行工作区。

如果您愿意,您可以添加第二个长度计算器/测试仪组合,以查看是否有任何剩余的短线:

请注意,现在输出的大部分原始短线都已固定。

你可能也注意到现在有比原来更多的短线!这是因为此技术在以前没有节点的交叉点处拆分了线。换言之,它发现了一些不正确的线条,并纠正了这一点——在这个过程中暴露了一些短线。

笔记

1-短线的另一个解决方案是识别和删除短线和超调线。[链接到超调删除文章]

2-你可能想知道为什么第一个线人不只是用streetid分组,而不是先使用hblock,然后使用streetid进行第二次迭代。这是因为短链接在进程开始时有不同的ID号,只有在第一个线人之后才得到一个匹配的streetID。

数据属性

这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。

GIS 统计计算器 数据质量保证 部门间 细木工 拓扑构建器 几何验证程序 长度计算器 网络 制图的 结婚,2016年8月24日19:51:57格林尼治标准时间 MARK2CAT亚搏在线SALIT
教程:使用FME进行数据验证和质量保证 https://knowledge.亚搏在线safe.com/articles/32707/tutorial-data-validation-and-qa-with-fme.html(https://knowledge.safe.com/articles/32707/tutorial-data-validation-and-qa-with-

使用FME进行数据验证和质量保证

搬家时,整合,转换数据,确保数据质量达到合适的标准也很重要。

FME有许多工具和变压器可用于数据验证。有些——比如几何验证和属性验证——是专门为数据验证而设计的。其他的——正如本教程所显示的——并不是特定于数据验证的,但也可以用于这个目的。

在评估数据质量时,有三种技术可以应用:

  • 识别问题:识别不符合要求标准的特征
  • 计算问题:通过量化不合格特征的数量来评估总体数据质量
  • 定影问题:通过修复在不合格功能中发现的问题来提高数据质量

本教程中的每个示例都将包含有关如何识别的信息,量化,解决正在讨论的问题。

内容

本教程将涵盖数据验证和QA的几个不同领域。

NB:如果以下要点还没有链接,它们仍在进行中。

几何不一致

这些几何图形本身就很糟糕,而不是不合格网络或覆盖范围的一部分。这包括:

复制品

这些特性具有某种形式的复制。这包括:

小特征

通常非常小的特征表示几何结构和/或拓扑结构较差。这包括:

面积拓扑

这些是与连续多边形覆盖相关的问题。这包括:

线性拓扑

这些问题与线性网络有关。这包括:

空间概念

这些是包含某种形式的逻辑问题的地理特征,例如,由多边形表示的道路或穿过湖泊的自行车道。这包括:

属性概念

这些属性具有某种形式的逻辑错误。这包括:

  • 架构无效
  • 域验证
  • 时间验证(时间属性无效)

GIS 数据质量保证 几何验证程序 制图的 结婚,2016年8月24日14:08:03格林尼治标准时间 MARK2CAT亚搏在线SALIT
数据质量保证:识别小多边形特征 https://knowledge.亚搏在线safe.com/articles/32605/identifying-small-polygon-features-with-fme.html网站

介绍

小多边形是指面积小于指定公差的多边形。这些可以通过以下组合找到:测量多边形的面积然后用滤波变压器施加一个试验条件。

对小多边形的测试是一个很好的质量保证测试,因为低于一定尺寸的多边形通常表示存在重叠等问题。条子,以及线条不齐。

计算这些坏特性中有多少也很简单。然而,如下文所述,像这样的多边形自动修复更困难。

下载

源数据集

定位小多边形:作为模板的工作空间

计算小多边形:作为模板的工作空间

固定小多边形:作为模板的工作空间

源数据

本例的第一个源数据集是一组线条(在AutoCAD DWG数据集中),表示温哥华市的地产边界轮廓。

第二个数据集(ESRI地理数据库格式)是一组表示地址的点功能。

数据集在FME数据检查器中如下所示:

这里的场景是我们希望将这些线转换为真正的多边形特征。这在FME中很简单,但我们将添加一些质量保证检查,以确保没有创建过小的多边形。特别地,包含地址点的小多边形是个坏消息。

定位小多边形:逐步说明

按照以下步骤学习如何识别小多边形特征。

1.启动FME工作台,从一个空画布开始。

从菜单栏中选择“读卡器>添加读卡器”。

将数据格式设置为autodesk autocad dwg/dxf。选择附加的dwg文件作为源数据集。单击参数按钮,并将分组实体设置为“属性模式”。

单击“确定”,然后再次单击“确定”以添加读卡器。

2.第2条。源数据集由行功能组成。要创建多边形,需要一个单一的FME转换器:区域生成器。

所以,添加区域生成器转换器。将其连接到parcellines功能类型。

三。为了测试小多边形,我们首先需要测量每个多边形的面积。这是通过区域计算器变压器完成的。

所以,添加一个区域计算器转换器并将其连接到区域生成器:区域输出端口。

4。在大多数情况下,我们现在会添加一个滤波变压器来测试这个区域。但在这个例子中,我们将引入一个额外的细节级别:地址点。

再一次,从菜单栏中选择“读卡器>添加读卡器”。

这次将数据格式设置为esri geodatabase(文件geodb open api)。选择附加的地理数据库作为源。提示时,仅选择要添加到工作区的PostalAddress表。邮政编码边界表不是必需的。

5。要将地址点属性传输到多边形上,我们将使用PointOnAreaOverlayer转换器。

所以在reaoverlayer变压器上放置一个点。

将PostalAddress功能类型连接到PointOnAreaOverlayer:点输入端口和区域计算器:输出端口连接到PointOnAreaOverlayer:区域输入端口。

通过将Inspector Transformer添加到PointOnAreaOverlayer:Area输出端口来测试运行工作区。结果应该是一组具有多边形区域属性(_区域)的多边形特征,如果与地址点重叠,则为定义地址的属性。

6。现在,让我们过滤坏特性。温哥华州建筑条例:

微型住宅的建筑面积必须至少为29.7平方米。

我们在看地块边界,没有建立足迹,但是,30平方米似乎是一个很好的截止点,低于该点的多边形可能是错误的。

我们要测试三种情况:

  • 正确大小的多边形
  • 大小不正确的多边形
  • 包含地址点的不正确大小的多边形

像这样测试多个条件的最好方法是使用一个testfilter变压器。

所以,添加一个连接到PointOnAreaOverlayer:区域输出端口的testfilter变压器。

7。打开TestFilter参数对话框。双击“测试条件”列下的第一行。这将打开一个条件编辑器。

在本编辑器中,为小于(或等于)30的区域设置测试子句。为重叠大于(或等于)1设置第二个测试子句:

如果这两条都是真的,多边形太小,包含地址点。但要测试这两个子句(而不仅仅是一个子句或另一个子句),请将pass criteria参数设置为“all tests(and)”。

最后,在对话框的底部,将输出端口名称设置为“带地址点的小型”,然后单击“确定”返回上一个对话框。

现在单击第一个测试条件,然后单击对话框上的“复制”按钮。这将复制第一组子句并打开它们进行编辑。

单击第二个子句,然后单击“-”按钮,删除第二个子句(用于重叠部分)。我们不需要测试重叠,因为任何有重叠的东西都将被过滤掉。

将输出端口名称设置为“不带地址点的小型”,然后单击“确定”。现在定义应该如下所示:

如果是这样,单击“确定”返回主画布。

8。将inspector transformers连接到每个testfilter输出端口(如果需要,请重命名inspector):

运行工作区。结果将是FME数据检查器中代表三种不同状态的三层。检查标记为小的功能,以确保它们在某些方面不正确。大多数是两条边界线相交的多边形,创建一个小的银色多边形。

计算小多边形:逐步说明

计算坏特性的数量非常容易,因为我们已经将它们过滤掉了。例如,甚至工作台的特性计数也会告诉我们所涉及的数字:

要创建存储在属性中的计数,使用statisticscaleculator转换器很简单。

按照以下步骤学习如何计算小多边形特征。

9。在第一个testfilter输出端口与其inspector transformer之间添加一个statisticscalculator。打开参数对话框。

首先选择区域作为要分析的属性。事实上,我们选择哪个属性并不重要,因为我们只需要一些功能。

删除“计算属性”字段中的所有值,然后在“总计数”字段下添加“BadFeatures”。这将提供一些坏特性。单击“确定”关闭对话框。

10。复制现有的统计计算器(选择它并按ctrl+d)。将其连接在第二个testfilter输出端口与其检测变压器之间。

因为这是复制品,不需要打开它的参数对话框并进行任何更改。

11。重新运行工作区。这次,输出应该包含一个属性,该属性指示每种类型有多少坏特性。

NB:如果您将StatisticsCalculator:Summary输出端口连接到检查器,只有一个输出特性。要获得所有输出功能,请确保连接了完整的端口。

固定小多边形:逐步说明

修复小多边形不是一项简单的任务。简单地删除这些特性可能会导致拓扑覆盖上的空白,并不是所有的人都有一个共同的身份证号码,通过这个号码将他们合并(解散)在一起。

然而,有一些解决方案可以应用:

a)删除小多边形,然后使用除渣变压器以填补剩余数据中的任何空白。

b)选择一个与小多边形相邻的特征,并将两者融合在一起。

按照以下步骤学习如何修复小多边形特征,使用邻居查找器/溶解器。

12。删除两个统计量计算器,如果您在步骤11中添加了它们,以及任何剩余的检查变压器。

13。添加一个连接到testfilter的计数器变压器: 端口。这将为每个大小正确的多边形创建一个唯一的ID。

14。添加邻居查找变压器。将小多边形功能(来自testfilter的其他两个端口)连接到neighfinder:base,并将counter:output端口连接到neighborfinder:candidate

在FM2018或更新版本中,默认情况下,合并属性参数未设置,必须手动设置。

15。添加溶解变压器。连接邻居查找器:匹配的端口,还可以在计数器之外创建第二个连接:到溶解器的输出端口。您的工作区现在将如下所示:

16.打开“溶解器参数”对话框。将group by参数设置为“_count”。这将导致小多边形溶解到它们的邻居中。

17。连接Inspector Transformer并运行工作区。大多数小多边形都是通过分解到相邻的多边形中来固定的:

您可以添加一个最终的区域计算器转换器来帮助证明这是事实,如果您不想从视觉上检查数据。

笔记

不用面积计算器,您可以直接在像测试仪这样的过滤器变压器中使用@area()函数。我们在这里使用面积计算器使最后的工作区更加清晰。

修复数据的解决方案依赖于具有共享边界的小多边形的最近邻居。两个小多边形不能固定,因为它们的最近邻只共享一个顶点,因此无法溶解。

数据属性

这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。

GIS 测试过滤器 数据质量保证 露天矿 几何验证程序 面积计算器 制图的 周一,2016年8月22日格林尼治标准时间21:05:00 MARK2CAT亚搏在线SALIT