FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

目录

1 读取数据

1.1 读取数据转换器

1.2 别名

1.2.1 别名的三种读取格式

1.2.2 更改别名的示例

2 写出数据

2.1 转换器说明

3 捕捉转换器

3.1 两个捕捉转换器

3.1.1 捕捉转换器

3.1.2 锚定捕捉转换器

3.2 三种捕捉类型

3.3 示例及结果


1 读取数据

重点关注的参数:参数-结构属性-别名模式

1.1 读取数据转换器

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

1.2 别名

在②设置读入参数下找到结构属性,设置别名模式

1.2.1 别名的三种读取格式

提供了三种别名模式:忽略模式,别名代替属性模式和别名暴露为属性模式

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

别名模式说明:

  • None(无):读入数据时,忽略字段别名
  • Replace Attribute Names with Aliases(使用别名替代属性名称):要素的属性将基于其别名而不是属性字段名称来命名。每个要素都将包含geodb_feature_class_alias属性。当目标格式应使用别名作为属性名称定义要素时,需要设置为该选项
  • Expose Aliases as Metadata Attributes(将别名暴露为元数据属性): 对于每个读取到的属性,将添加一个<name> _alias属性,该属性存储相关属性的别名。每个要素上还将包括geodb_feature_class_alias图层别名属性。当写出目标格式为Geodatabase且需要创建生成要素类和图层时应保留别名,需要设置为该选项。

1.2.2 更改别名的示例

原文链接:使用地理数据库字段别名-更改别名值

ArcEngine修改别名的方法:https://blog.csdn.net/weixin_30670151/article/details/98442664

AttributeManager转换器用于访问在步骤1中暴露的<name> _alias属性,并为数据属性别名分配新值。在AttributeManager转换器的属性中,只需在“Output Attribute”下输入要更改的<name> _alias属性,然后将“Attribute Value”设置为包含要写入目标别名定义的更改后的新值。

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

该步骤也可以用AttributeCreator代替完成。要素类别名:您也可以设置要素类别名。将格式属性 geodb_feature_class_alias设置为别名。

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

2 写出数据

重点关注的参数:要素类或表定义

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

在指定要素类输出模式时,选择Copy from Reader,将从读入的数据中继承需要的属性;这里注意继承属性时,读入转换器应设置为暴露别名模式,否则写出的数据不会继承原始数据的字段别名

3 捕捉转换器

FEM10分钟系列:捕捉转换器视频讲解

重点关注的参数:捉类型、捕捉距离,增加额外的节点、保存小短线

有两个转换器,第一个为捕捉转换器Snapper,第二个为锚定捕捉转换器AnchoredSnapper

3.1 两个捕捉转换器

3.1.1 捕捉转换器

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

3.1.2 锚定捕捉转换器

有参考捕捉位置时,应使用锚定捕捉转换器

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点         FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

3.2 三种捕捉类型

三种捕捉类型:端点捕捉、节点捕捉、段捕捉

端点捕捉:端点捕捉是端点之间的捕捉,线与线、点与点、点与线的端点之间的距离在指定的容差范围内,则将端点捕捉在一起。端点捕捉不对面要素进行处理,因为面要素没有端点。下图是线与线在容差范围内捕捉前后示图:

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

 

节点捕捉:节点捕捉是节点之间的捕捉,线与线、点与点、面与面、面与线的节点之间的距离在指定的容差范围内,则将节点捕捉在一起。点即可以看作端点也可以看作节点,所以在通过Snapper转换器后会与点或是其他要素进行容差内的捕捉。下图是点与点在容差范围内捕捉前后示图:

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

 

段捕捉:段捕捉在Snapper的捕捉类型中非常重要,虽然使用的时候不多,但在需要段捕捉来处理一些数据问题时,就显得非常重要了。段捕捉即是节点(端点)与节点(端点)、节点(端点)与要素、要素与要素之间的捕捉。节点(端点)与要素和要素与要素捕捉后会在要素上添加对应的节点,间而言之就是段捕捉在捕捉后会在相应的位置添加节点。示意如图:

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

 

段捕捉最常用的还是面与面之间的捕捉,主要用于处理面要素的节点一致性和面缝隙。在数据处理中一旦面数据需要考虑节点的一致性,而数据中的要素之间存在节点不一致的情况,如果通过其他方法来解决这问题难度是非常大的。通过段捕捉就显得非常简单了,只需要在Snapper转换器选择段捕捉,设置对应的容差,就能很快地对面要素进行节点一致性处理并消除缝隙。

3.3 示例及结果
原始数据为紫色点,捕捉结果为绿色点,证明在阈值之内的节点都被成功捕捉

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点

fmv文件及测试数据见微信公众号:

FMW及测试数据微文:FME捕捉涵洞到道路河流交叉处​​​​​​​

FME数据处理02:点桥涵洞自动捕捉到最近的道路河流交叉点