基于FME的多表格统计分析

“三调”是一次重大国情国力调查,其数据成果可以全面客观地反映我国国土利用状况,以及耕地保护、生态建设、集约用地等方面存在地问题。

 

单单有“三调”数据库的矢量数据,并不能对土地利用现状的分类、总体情况有一个整体的把握。这时候,我们就需要对“三调”数据做地类汇总的统计工作。

 

本文利用FME对“三调”数据作多表格的统计,统计级别到县、镇、村。

表内部:

对于多个表格的统计,我们可以添加多个excel的读写模块,一个一个地统计表格并写出。但是由于各个表格之间的统计过程有一定的相似性,我们可以合并中间相似过程,以提高模板的可维护性,并考虑用一个excel写模块完成上述统计。

进行地类统计前,首先需要解决三个问题:

  1. 汇总表格保留各自的表头
  2. 汇总表格要适用不同县、镇、村
  3. 不同表格按表头所对应列数写出

针对第一个问题,为每个统计项建立excel模板文件,在模板文件名末尾加上行数(从第几行开始插入统计数据),以此来传入保留表头需要用到的参数。

         因为我们只用一个excel写模块,对于多个表格,excel模板文件也有多个,因此,无法使用excel的Template File参数。考虑在写出excel表格之前将需要输出的excel模板文件复制过去,然后再插入数据。

在插入数据时,按照行数,在excel的写模块处设置插入的行位置:

         对第二个问题,由于不同的县级行政区,有不同数量的镇、村,因此需根据“三调”数据库的行政区划图层,将县、镇、村按等级排序,并计算相应的县、镇、村所在的行数,再写入模板文件,结果如下:

         可以看到,除了按等级写出县、镇、村,还可以在每个等级之间插入一行空白行,以此间隔县、镇;并加黑县、镇、村所在单元行,提高excel的可读性。要加黑县、镇、村所在行,需要在FME中将excel单元格的格式属性读取出来:

并对该属性值作相应的修改,以达到加黑单元格的目的。

         对第三个问题,由于不同的表格对应的列数不同,列的属性不同,我们在写出时,需根据不同的表写出对应的列。可以利用excel写模块的动态输出模式达到该效果:

在写出前自行算出需要写出的列名,列名按照A,B,C,…Z,AA,AB,…AZ,BA…排列。

         如此,我们可以着眼于“三调”数据的统计了。统计时,主要用到FME的StatisticsCalculator和Pivoter转换器。StatisticsCalculator完成地类的统计功能,Pivoter实现透视表功能:

完成透视表之后,便获取到相应的数据汇总结果。

         为了在输出时可以选择计算、输出某些表,可以在FME中设置choice参数,以此来选择输出哪些表格:

         针对“三调”的统计,还有一个不可忽略的问题是各地类数据,各镇、村汇总数据,保留两位小数后,需要做面积平差,这可根据不同的平差要求做相应的处理。

如此,完成“三调”数据汇总统计。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值