FME转换器介绍之(五)

2019-07-31 16:56:28 浏览数 (1)

其实本来这周想休息一下再写的,但想想已经立了的Flag(十个转换器的推送),再看看已经写过的,已经有四个了,索性再写一个,凑够五个再休息!

SpatialFilter转换器

这个转换器,也会经常用到,功能依然强大! 我觉得貌似没有哪个转换器功能不强大的!

使用场景(一):空间筛选

需求

从全国公交数据中,以安庆市行政区为界,选出安庆市的所有公交线路

数据

动图中的线图层,是全国公交线路; 面层,是某县界(非全部)

筛选方式

模板

这种空间筛选类的需求,实现起来非常简单,转换器使用默认设置就好。模板整体如下图所示:

结果预览
转换器设置

默认设置即可

参数说明

Spatial Predicates to Test:这是个重点参数,一般像这种筛选类的,在这里选择默认的Intersects即可。但如果你想更近一步,可以看看下面的动图,相交细分下去有很多种情况,在使用中需要根据不同需求设置不同的条件。

相交包括:相等、接触、压盖、包含、被包含……

当然,除了相离!

另外一个我想介绍一下的,就是这个转换器的MergeAttributes参数!

MergeAttributes:这个参数的存在,可以让我们用这个转换器完成空间赋值操作,比方上面的这个例子,我可以将乡镇界(面)的任何一个字段值通过空间关系赋给公交(线),反过来也可以。另外通过对下面的是否添加前缀操作进行设置,可以有效的避免字段名称冲突。 也许你觉得线面叠加的转换器也可以进行空间赋值,但是,线面叠加,会把线打断,其他的叠加类(面面叠加)转换器,或多或少都有类似的问题。而本次介绍的这个转换器,不会破坏原始的几何图形。

小结

本次推送主要讲了筛选,由于时间原因,对如何进行赋值没有过多介绍。但怎么赋值(通过设置Merge Attributes参数)已经介绍过了。动手做一下应该难度不大,记得昨天有个技术交流群里,就有朋友问到怎么把注记的文字信息赋给面。

现在我可以回答你,通过这个转换器就可以!

0 人点赞