前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【技能分享】快速补全数据的两种方式

【技能分享】快速补全数据的两种方式

作者头像
数据处理与分析
发布2021-09-29 15:10:21
1.2K0
发布2021-09-29 15:10:21
举报
文章被收录于专栏:数据处理与分析

前言

本篇知识点

通过本文,你将学到怎么使用GIS软件快速的把数据补全!

具体的包括:在ArcGIS的字段计算器中使用脚本多要素支持【FME的AttributeCreator转换器】、全局变量【Python】

背景

最近有小伙伴在交流群里问到这样一个问题:

如上图所示,如何将name的值补充到后面的要素中?

也就是说,怎样才能将上图中的两个区域补充上对应的name值

解决问题

要解决这个问题,我想到了两种方式:一种是FME,另一种是ArcGIS。

但后来考虑到对方可能没装FME,没有这个环境,就用ArcGIS写了一个脚本给他用了。那么现在我再回过头看下这个问题,再复现一下解决的过程。

ArcGIS方式

实现之前,先来介绍一下这种方式的优点: 1、直接再原始数据基础上操作,无需写出; 2、有问题可以直接改,苗头不对可以直接回撤!

实现方式也很简单,我们可以给所有的要素都补上name信息:

也可以只给特定的要素补上name信息:

tips:进行字段计算的时候最好打开编辑,这样才可以回撤

案例中用到的代码:
代码语言:javascript
复制
import re
ptn = re.compile('[^\s]')

def func(att):
    #需要注意的就是这个全局变量
    global value
    if ptn.match(att):
        value = att
    else:
        pass
    return value

案例中的代码很简单,如果对案例中使用到的全局变量感兴趣,可以自行搜索相关知识。有一点需要指出:全局变量不仅可以用于数据补全,也可以用于遍顺序号等数据处理场景。

FME方式

同样的,做之前,也先来介绍一下优点: 1:零代码,用FME可以不写代码就完成数据补全; 2、支持的格式多,用FME不仅可以处理空间数据,非空间数据也可以。

实现方式同样很简单:

在这里使用AttributeCreator转换器的多要素支持,就可以很方便的完成数据补全。只需要读取数据+一个转换器就可以了,非常方便。如果需要写出的话,只需要再添加一个写模块,只要是FME支持的数据格式,都可以!

总结

本文介绍了两种不全数据的方式,当然,还有很多种数据处理的方式可以完成类似的数据补全。比如:可以把属性表导出成Excel,在Excel补全后再链接回去;比如,可以直接写代码来处理(Python就行);再比如,在FME中写Python代码来处理…… 总之,数据处理有多种方式,并不止是我介绍的这两种,各位读者朋友可以选择适合自己的技术方案。

以本文为例,本文使用的技术都不是什么新技术。就其中ArcGIS方式来说,用了全局变量;就其中的FME方式来说,用了临近要素的支持。技术都不新,关键在于灵活运用!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据处理与分析 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 解决问题
    • ArcGIS方式
      • FME方式
      • 总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档