假装有目录

所用软件:
  GMS
  QGIS

实现功能:
  将GMS中计算的网格结果如 Head ET Recharge 等转化成GIS软件中可操作的 .SHP 格式文件,然后按照 GIS 的土地利用类型(栅格数据)进行分类汇总,生成每个土地利用类型的 mean sum max 等统计值

首先将3D网格转化成2D网格,此时2D网格只有默认的数据

然后在 Grid 中将 3D 数据转化成 2D 的

此时会出现相应选项,可以导出最大值、平均值、最高活跃网格值等

此时的 2D Grid 数据是无法导出成 GIS 可用的 .SHP 格式,因此继续将 2D Grid 数据转化成 2D Scatter 数据,2D Scatter 数据导出成 .SHP 文件后拖入到 QGIS 中,采用Sample raster value功能将土地利用类型数据提取到散点中,这样提取的好处在于土地利用类型的代码是直接被提取,不受插值的影响

提取完成以后得到新的散点数据,里面包含了一个名为 r_value1 新数据列,采用QGIS的 Statistics by categories 工具进行自动分类汇总,注意分类数据和目标数据的选择

最后生成的汇总表格如图,可导出成CSV用EXCEL进行后续操作
出现问题:
 数据表中包含了空值-999,直接进行 Statistics by categories 操作会把空值计算到各个类型中,而由于数据表太大,在QGIS的属性表中删除这些空值会让程序运行崩溃。需要利用 GDAL/OGR 进行直接读取属性表操作。

安装 gdal ,在cmd中输入命令

conda install gdal

此处参考python shp文件操作
导出所需字段和要素的数据表文件,生成CSV

import pandas as pd
#导入库
try: from osgeo import ogr
except:import ogr
#加载相应数据类型的驱动,相当于初始化一个对象
driver = ogr.GetDriverByName('ESRI Shapefile')def read_dbf_to_csv(name):#打开数据fileName="samplepoint%s.shp"%namedataSource = driver.Open(fileName,0) #0是只读,1可写if dataSource is None:print('could not open')sys.exit(1)#获取图层layer = dataSource.GetLayer(0)#查看图层的信息print("图层描述 :{0}".format(layer.GetDescription()))print("图层范围 :{0}".format(layer.GetExtent()))print("要素数量 :{0}".format(layer.GetFeatureCount()))print("元数据描述 :{0}".format(layer.GetMetadata()))print("空间参考 :{0}".format(layer.GetSpatialRef()))#获取图层的字段信息layerDefinition = layer.GetLayerDefn()print("字段名 \t字段类型 \t字段长度 \t字段精度 \t字段类型代码")for i in range(layerDefinition.GetFieldCount()):fieldName =  layerDefinition.GetFieldDefn(i).GetName()fieldTypeCode = layerDefinition.GetFieldDefn(i).GetType()fieldType = layerDefinition.GetFieldDefn(i).GetFieldTypeName(fieldTypeCode)fieldWidth = layerDefinition.GetFieldDefn(i).GetWidth()GetPrecision = layerDefinition.GetFieldDefn(i).GetPrecision()print("{0} \t{1} \t{2}  \t{3} \t{4}".format(fieldName,fieldType,fieldWidth,GetPrecision,fieldTypeCode,))#获取要素,并获取要素相应的字段f_count=layer.GetFeatureCount()dbf=pd.DataFrame(columns=['LUCC','ET','RCH'])#获取属性表    for i in range(f_count):     feat = layer.GetFeature(i) # 获取要素RCH=feat.GetField(4)if not (RCH==-999):LUCC=feat.GetField(5) # 获取要素的字段ET=feat.GetField(3) #geom = feat.GetGeometryRef() # 获取要素坐标temp=pd.DataFrame([[LUCC, ET, RCH]],columns=['LUCC','ET','RCH'])dbf=dbf.append(temp,ignore_index=True)print('{:.4}%'.format(i/f_count*100)) #打印属性表获取进度dbf.to_csv('%s.csv'%name)dataSource.Destroy() #关闭数据源for name in ['2000','2010','2015']:read_dbf_to_csv(name)

导出成为 CSV 文件后进行分类汇总
此处参考资料分类汇总功能实现Group

import pandas as pddf=pd.read_table('2015.csv',sep=',',index_col=0)
categories=df.groupby(by='LUCC')
print(categories.count())
print(categories.sum())
print(categories.mean())

最后就得到根据土地利用类型分类汇总的各项数据了

导出GMS计算结果,并进行分类汇总相关推荐

  1. 计算机考试spss数据分析,SPSS怎么进行分类汇总数据?SPSS简单数据分析之分类汇总数据方法-电脑自学网...

    SPSS怎么进行分类汇总数据?许多用户在工作或者学习的时候都需要使用数据分析,而数据分析中就有一个分类汇总操作,那么我们只用spss怎么进行分类汇总数据呢?下面小编就带着大家一起学习一下吧! 操作方法 ...

  2. xlsx表格怎么做汇总统计_怎样在Excel电子表格中对数据进行分类汇总 实例教程...

    当需要在Excel中对数据进行分类计算时,除了使用数据透视表,还可以使用分类汇总命令.与数据透视表不同的是,它可以直接在数据区域中插入汇总行,从而可以同时看到数据明细和汇总.下面是分类汇总的使用方法: ...

  3. xlsx表格怎么做汇总统计_怎样在excel电子表格中对数据进行分类汇总,实例教程...

    怎样在 excel 电子表格中对数据进行分类汇 总 , 实例教程 篇一:怎样在 excel 中对数据进行分类汇总 怎样在 Excel 中对数据进行分类汇总 当需要在 Excel 中对数据进行分类计算时 ...

  4. excel按季度分类汇总_按部门对Excel表格中数据进行分类汇总的方法

    分类汇总是Excel的一项重要功能,它能快速以某一个字段为分类项,对数据列表中其他字段的数值进行统计计算.本文以在表格中按照部门来统计数据总和为例介绍Excel表格中数据进行分类汇总的方法的操作方法. ...

  5. java性别分类汇总,excel表格 男女数据分开-Excel按性别进行分类汇总

    excel 分类汇总问题 按"职称"和"性别"进行分类,分... 这个用数据透视就好,你也可以有汇总的SUBTOTAL例:=SUBTOTAL(3,A1:A18) ...

  6. excel按季度分类汇总_excel进行分类汇总的五种方法

    excel 进行分类汇总的五种方法 方法 1 :使用创造性的 IF 语句和"选择性粘贴" 步骤如下: 按账户(列 A )对数据进行排序. 在列 C 中创建一个公式, 以持续对每个账 ...

  7. 6.5 对多个工作簿中的工作表分别进行分类汇总

    import os import xlwings as xw import pandas as pd app = xw.App(visible=False,add_book=False) file_p ...

  8. 用SPSS对数据进行分类汇总

    在日常办公和学习研究中,经常需要对数据进行分类汇总.比如在统计公司员工的工资和年龄的时候,要求根据员工的性别求出员工的平均工资和平均年龄.就会用到分类汇总的功能,本文我会用IBM SPSS Stati ...

  9. 【Fluent】导出瞬态计算过程每一秒或每一个时间步的各个坐标/节点的物理量-温度场-压力场,TUI命令/file/export和/file/transient-export

    一.功能需求 如果你进行的是稳态计算,你需要将物理场中的每一个节点上的物理量数据(例如温度.压力)导出成类似txt或Excel表格的文件. 文件里的内容形式是:每一行中有节点ID.节点的XYZ坐标.物 ...

最新文章

  1. 国防科技大学教授:殷建平——计算机科学理论的过去、现在与未来
  2. 信息安全复习2关于网络安全
  3. Creating Your First Mac App--创建你的第一个Mac应用
  4. CAS单点登录 - 用户登录与校验
  5. php 微信机器人_微信小程序机器人自动客服功能
  6. apache lucene_Apache Lucene拼写检查器的“您是不是要”功能
  7. app http routes.php,Laravel:我的应用程序没有被路由(Laravel : My app doesn't get routed)
  8. 【JSP内置对象】之9大内置对象(JavaWeb必背必掌握)
  9. 力扣 面试题 08.04. 幂集
  10. 简单理解以太网和令牌环网【区别】
  11. 开源软件管理调研报告
  12. 无线传感器网络技术原理及应用 许毅编著(转载请注明出处---https://www.cnblogs.com/qingl)...
  13. 【Unity】UI面板:倒计时器
  14. 微信投票平台防止刷票的方法和原理随笔
  15. 微信小程序开发—背景图片全屏(无白条)
  16. 微信自定义菜单与网页授权结合
  17. 2019-2021届蓝桥杯——java真题集锦
  18. WVS使用教程(Web Vulnerability Scanner)
  19. SVN、CVS、VSS区别
  20. Windows 7下直接开启AHCI

热门文章

  1. 无线局域网wlan是计算机网络与,WIFI与无线局域网到底有什么不同?
  2. 太赞了!100个案例,Matplotlib 从入门到大神!
  3. 1060显卡支持dx12吗_RTX2070和GTX1080到底谁强?全面测评七彩虹Neptune RTX2070一体水冷显卡...
  4. Spark Streaming概述
  5. 回文链表 牛客网 程序员面试金典 C++ Python
  6. QCustomPlot (一) 画一个简单正弦曲线
  7. 【蓝桥练习系统】【多重背包】 算法提高 贪吃的大嘴
  8. Android面试题【初级工程师版】
  9. mongodb(让你成为高手高高手)
  10. 搜狗手机浏览器测试管理方法(二)-----项目测试流程