span8
span4
无效的几何体类型是其中几何结构的类型是类的功能,它代表的无效;例如自行车路径由点几何表示,或河流由多边形的几何形状(如下面)表示:
是否有这样的几何形状是真正无效取决于数据用户的解释和任何特殊情况下两者。例如,数据的规模可能是这样的:河岸的两侧被捕获(如上述),因此多边形是一个完全合法的几何类型。
无效的几何类型也涵盖了一个组织可能有,允许通常是无效的情况下,任何特殊规则。例如,映射组织可能法令,街道照明列未在其核心位置存储在由点特征,而是被存储为表示所述可接受照明水平的程度(像下面)的多边形:
一般来说FME可以找出问题的功能很容易使用GeometryFilter变压器 - 在某些情况下 - 可以修复使用的问题GeometryCoercer。
注:这里,无效的几何类型表示组织规则无效。这并不意味着几何图形对于格式本身是无效的。
对于此示例源数据集是线的表示的轮廓线(假想的)集(在GML数据集)。
该数据集看起来像这样的FME数据检查:
这里的情况是,我们有很多的轮廓文件,并希望设置检查使用此单个文件作为原型坏几何类型。正如你所看到的,形成一个闭合的形状轮廓多边形的特征被创建。此外,不仅有轮廓,而且还当场高度点,谁知道还有什么其他类型的几何体。这些功能需要或者过滤或使用FME固定。
按照这些步骤,以了解如何识别有一个无效的几何型轮廓特征。
1。启动FME Workbench和一个空的画布开始。
选择读者>从菜单栏中添加读卡器。在打开的设置数据格式GML(地理标记语言)对话框。选择附加GML文件作为源数据集。
单击确定关闭对话框,并添加读者。
2。添加GeometryFilter变压器GML阅读器功能类型后:
3。打开GeometryFilter参数对话框。在这里我们可以定义过滤其几何类型。我们应该选择“线”,因为轮廓的天性线功能。我们还应该选择“区域”,因为我们知道,区域功能存在,并且它们可以被固定。
单击OK并再次单击OK关闭对话框。工作空间现在看起来是这样的:
任何不是直线或区域的几何图形都将被“未过滤”。
4.将检查变压器连接到每个输出端口并运行工作区。非线功能将被过滤到单独的层,显示如何现在可以单独处理它们。
计算坏的特性的数量是很容易的,因为我们已经过滤掉了它们。例如,即使工作台特性计数也显示有40个未过滤的特性。
使用StatisticsCalculator转换器创建存储在属性中的计数非常简单。
5.在GeometryFilter:Unfiltered端口和它的Inspector transformer之间添加一个统计计算器。打开参数对话框。
首先选择海拔高度作为要分析的属性。实际上,我们选择哪个属性并不重要,因为我们只想要特性的数量。
从Calculate Attributes字段中删除所有值,然后在Total Count字段下添加“BadFeatures”。这将提供一个坏特性的计数。单击OK关闭对话框。
重新运行工作区。这一次,输出应该包含一个属性,该属性表示有多少不好的特性。
注:如果将StatisticsCalculator:Summary输出端口连接到检查器,则只有一个输出特性。要获得所有输出特性,请确保连接了完整的端口。
可以使用geometrycoer在FME中更改几何类型。我们已经过滤掉了点特征(以及任何其他几何类型),因为没有简单的方法可以将它们转换为线特征。然而,区域特征可以很容易地从多边形更改为闭合线。
6.添加一个连接到GeometryFilter的geometrycoer变压器:
确保它是连接如所示-与强制功能加入等值线在一个检查变压器。
7.打开geometrycoer的参数对话框。将几何类型设置为“fme_line”。
单击OK关闭对话框并重新运行工作区。结果是一组干净的轮廓,没有无效的几何类型:
下面是一些修复无效几何类型的其他技术。
第1集:当几何应该是一个岛屿(或甜甜圈),但“洞”是填补(如下):
…then the DonutBuilder transformer would be the best solution.
第2集:当几何应该是线,但是一个区域(在逐步的例子)和结果应该是一个网络(像这些道路特征)…
…then the GeometryCoercer changes the area to a line, but it won't split it at node points.这将需要增加一个部门间变压器。
3。geometrycoer可以将单个闭合线转换为多边形特性,但它不会从一组单独的线构建多边形。那需要一个变压器。
这里使用的数据来源于不列颠哥伦比亚省温哥华市(data.vancouver.ca).它包含在开放政府许可下的信息-温哥华。
©2019安全亚搏在线软件公司|法律