第8页
第4排
无效的几何图形类型是指几何图形类型对于其表示的要素类无效的情况;例如,自行车路径由点几何图形表示,或者河流由多边形几何体表示(如下所示):
这种几何图形是否真正无效取决于用户对数据的解释和任何特殊情况。例如,数据的规模可能会使河岸两侧都被捕获(如上所述)。因此多边形是完全合法的几何类型。
无效的几何类型还包括组织可能具有的任何特殊规则,允许通常无效的情况发生。例如,测绘机构可以命令街道照明柱不由其核心位置的点特征存储,但是,存储为表示可接受照明水平范围的多边形(如下所示):
一般来说,FME可以使用几何过滤器变压器和-在某些情况下-可以解决问题使用几何坐标系.
注意:此处无效的几何类型表示对组织规则无效。这并不意味着几何图形对格式本身无效。
本例的源数据集是(假定的)一组线条(在GML数据集中)表示轮廓。
数据集在FME数据检查器中如下所示:
这里的场景是,我们有许多轮廓文件,并且希望使用此单个文件作为原型来设置对错误几何类型的检查。如你所见,形成闭合形状的轮廓被创建为多边形特征。此外,不仅有轮廓,但也要注意高度点和谁知道其他类型的几何图形。这些特性需要使用FME过滤或修复。
按照以下步骤了解如何识别具有无效几何类型的轮廓特征。
1.启动FME工作台,从一个空画布开始。
从菜单栏中选择“读卡器>添加读卡器”。在打开的对话框中,将数据格式设置为GML(地理标记语言)。选择附加的GML文件作为源数据集。
单击“确定”关闭对话框并添加读卡器。
2.第二步。在GML读卡器功能类型之后添加几何过滤变压器:
三。打开“几何过滤器参数”对话框。在这里,我们可以定义要过滤的几何图形类型。我们应该选择“线”,因为轮廓是由自然的线特征决定的。我们还应该选择“区域”,因为我们知道区域特征存在,并且它们可以被修复。
再次单击“确定”和“确定”关闭对话框。工作区现在如下所示:
任何非线条或区域的几何图形都将“未过滤”。
第四章。将Inspector Transformers连接到每个输出端口并运行工作区。非线条特征将被过滤到单独的图层上,显示如何单独处理它们。
计算坏特性的数量非常容易,因为我们已经将它们过滤掉了。例如,甚至工作台特性计数也显示了40个未过滤的特性。
要创建存储在属性中的计数,使用statisticscaleculator转换器很简单。
5.在geometryfilter:unfiltered端口与其inspector transformer之间添加一个统计计算器。打开参数对话框。
第一选择高程作为要分析的属性。事实上,我们选择哪个属性并不重要,因为我们只需要一些功能。
删除“计算属性”字段中的所有值,然后在“总计数”字段下添加“BadFeatures”。这将提供一些坏特性。单击“确定”关闭对话框。
重新运行工作区。这次,输出应该包含一个属性,该属性指示有多少坏特性。
注意:如果您将StatisticsCalculator:Summary输出端口连接到检查器,只有一个输出特性。要获得所有输出功能,请确保连接了完整的端口。
可以在FME中使用GeometryCoercer更改几何类型。我们过滤掉了点特征(以及任何其他几何图形类型),因为没有简单的方法可以将它们转换为线特征。然而,区域特征可以很容易地从多边形更改为闭合线。
6.添加一个连接到几何过滤器的几何线圈变压器:区域输出端口:
确保其连接如图所示-强制特征将轮廓连接在单个检测变压器中。
第七章。打开GeometryCoercer的“参数”对话框。将几何类型设置为“FME_line”。
单击“确定”关闭对话框并重新运行工作区。结果是一组干净的轮廓,没有无效的几何类型:
以下是修复无效几何体类型的其他一些技术。
1:当几何图形应该是一个岛(或甜甜圈),但“孔”被填充(如下所示)时:
…那么Donutbuilder变压器将是最好的解决方案。
2:当几何图形应该是直线时,但是是一个区域(如一步一步的例子),结果应该是一个网络(如这些道路特征)。
…然后几何取景器将区域变为一条线,但它不会在节点点拆分它。这就需要增加一个交叉变压器。
三。几何控制器可以将一条闭合的直线变成一个多边形特征,但它不会从一组单独的线条中构建多边形。这需要区域生成器变压器。
这里使用的数据来源于温哥华市提供的开放数据,不列颠哥伦比亚(数据.couver.ca)。它包含根据开放政府许可证(温哥华)获得许可的信息。
?2019安全亚搏在线软件公司|法律