FME教程:实现按属性字段合并图斑,同时合并属性字段值,对合并的属性值同步进行去重处理的案例思路方法

目录

一、实现效果

二、实现过程

1.读取数据

2.融合图斑

3.合并属性字段值,并去重

4.属性字段值排序、整理

5.输出成果

6.模板的使用

三、总结


今天介绍使用FME实现按属性合并图斑,同时合并属性字段值,并对合并的属性值同步进行去重处理,这里以shapefile格式的面数据为例进行示范,其他的点、线矢量数据,乃至其他格式表格数据,例如Excel数据等,要进行属性列的值合并都可以参考本案例思路方法。关注薇信工众号:“GIS工具乐园”,回复“FME”,获取模板及示例数据下载链接。

一、实现效果

下面的图1、图2分别为原始的shapefile数据和合并图斑后的数据,可以看到成功实现了根据“MC”字段合并图斑,同时将“DLMC”字段值进行合并及去重处理。

图片

图1 原始数据

图片

图2 合并图斑后的数据

二、实现过程

1.读取数据

要进行数据合并,首先要进行数据读取,这里使用shapefile读模块将shapefile数据读取进来,如下图所示。   

图片

图3 读取数据

2.融合图斑

使用融合转换器根据“MC”字段将图斑进行合并处理,效果如下图所示。

图片

图4 融合图斑

3.合并属性字段值,并去重

在合并图斑之后,将所涉及的“DLMC”字段进行分组合并,并在列表中进行去重处理。如下图。

图片

图5 合并属性字段值,并去重

4.属性字段值排序、整理

根据实际需要,对分组后的“DLMC”属性值进行排序,并使用顿号作为分隔符连接合并在一起,形成新的“DLMC”属性字段,如下图所示。

图片

图6 属性字段值排序、整理

5.输出成果

完成数据处理后,添加一个shapefile格式的写模块,将成果数据进行输出,如果需要输出其他格式数据,那么使用相应格式的写模块即可,如下图所示。

图片

图7 输出成果

6.模板的使用

在使用模板时,选择源shapefile数据、输出目录等参数,然后点击运行即可。   

图片

图8 运行选项


☛ FME系列视频教程推荐 ☚



频讲解及模板下载☛ :【视频教程】13.实现按属性字段合并图斑,同时合并属性字段值,并对合并的属性值同步进行去重处理的案例思路方法


        

三、总结

本案例介绍了使用FME实现按属性合并图斑,同时合并属性字段值,对合并的属性值同步进行去重处理的思路方法,其他格式的表格数据需要合并属性,解决的思路方法也是相同的,可以参考使用修改。关注薇信工众号:“GIS工具乐园”,回复“FME”,获取模板及示例数据下载链接。

图片

图8 总体流程 


☟ 往期推荐 ☟


### Kettle中数据处理方法 在Kettle工具中,数据是一个常见的需求,可以通过多种方式实现。以下将详细介绍如何使用Kettle进行数据处理方法和步骤。 #### 1. 创建转换并添加控件 首先需要创建一个转换文件(如 `part_repeat_transform`),并在其中添加必要的控件。通常情况下,会用到“文本文件输入”控件、“唯一行(哈希)”控件以及Hop跳连接线[^1]。 - **文本文件输入**:用于读取源数据文件。 - **唯一行(哈希)**:通过哈希算法对数据进行操作。 #### 2. 配置“文本文件输入”控件 双击“文本文件输入”控件进入其配置界面。具体步骤如下: - 单击“浏览”按钮选择要的数据文件(如 `people.txt`)。 - 单击“增加”按钮将文件路径添加到输入列表。 - 切换到“内容”选项卡,清除分隔符(如默认的“;”),并根据实际情况设置分隔符为Tab(Insert TAB)。 - 取消勾选“头部”,以避免将文件的第一行作为字段名称。 - 转到“字段”选项卡,根据数据文件的内容手动添加对应的字段名称。 - 单击“预览记录”按钮检查数据是否正确加载,确认无误后点击“确定”完成配置[^3]。 #### 3. 使用“唯一行(哈希)”控件 接下来,添加“唯一行(哈希)”控件,并将其与“文本文件输入”控件通过Hop跳连接线连接起来。 - 双击“唯一行(哈希)”控件进入配置界面。 - 在“字段”选项卡中选择需要字段。例如,如果 `people.txt` 文件包含姓名、年龄和地址字段,则可以选择这些字段进行。 - 的核心原理是基于所选字段生成哈希,相同的哈希会被视为复数据并过滤掉。 #### 4. 输出后的数据 为了保存或查看后的结果,可以添加“文本文件输出”控件或其他目标控件。 - 配置“文本文件输出”控件的目标文件路径及字段格式。 - 将“唯一行(哈希)”控件与“文本文件输出”控件通过Hop跳连接线连接起来。 #### 5. 运行转换 完成所有配置后,单击工具栏上的“运行”按钮启动转换。Kettle将按照设定的逻辑读取源数据文件,执行操作,并将结果输出到目标文件中。 --- ### 示例代码:Kettle XML配置片段 以下是Kettle中可能涉及的XML配置片段示例,用于定义“唯一行(哈希)”控件的字段选择逻辑: ```xml <step> <name>Unique rows (hashset)</name> <type>UniqueRows</type> <fields> <field> <name>name</name> <rename></rename> </field> <field> <name>age</name> <rename></rename> </field> </fields> </step> ``` 此代码片段表示选择了 `name` 和 `age` 字段进行操作[^1]。 --- ### 数据类型的选择 在实际应用中,还需要注意数据类型的正确选择,以确保操作的准确性。以下是一些常见数据类型的含义及其应用场景[^2]: - **BigNumber**:适用于高精度数场景,如金融交易。 - **String**:用于表示文本信息,如姓名、地址等。 - **Integer**:用于整数,如年龄、数量等。 - **Timestamp**:用于包含日期和时间的完整时间信息。 --- ### 注意事项 - 如果数据量较大,建议优化文件读取和写入性能,例如使用分块处理。 - 对于不完全的情况,可以根据业务需求调整字段选择逻辑[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GIS工具开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值