尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

栅格数据组织、转换与统计导出Excel的完整实践指南

发布时间:2026/9/24 19:50:33

资讯中心
01
ARTICLE

栅格数据组织、转换与统计导出Excel的完整实践指南

栅格数据组织、转换与统计导出Excel的完整实践指南
从去年年底开始我一直在处理一套覆盖全省的多时相土地利用栅格数据。前两篇写栅格基础操作时评论区问得最多的不是“怎么做重分类”而是“那么多景影像到底怎么管”“分析完怎么把数导出来给不会GIS的同事”。说实话这些问题才是日常项目里真正卡住人的地方。这篇就来聊聊我在这类场景里沉淀下来的东西栅格数据组织形式怎么选、格式和投影怎么统一、怎么把栅格分析结果导出成Excel形成业务闭环以及我踩过的一些坑。1. 栅格数据的四种组织形式单文件、栅格目录、栅格数据集与镶嵌数据集1.1 每种组织方式解决什么问题很多人在拿到几十景甚至上百景栅格后第一反应是“全放一个文件夹里要用的时候直接加载”。等数据量超过三四十景这个做法基本就失控了——文件名对不上、坐标系不清楚、有的带金字塔有的不带加载一次卡半天更别提做批量统计。ARC/GIS 生态里栅格数据的组织形式大致有四种我按使用频率从低到高说。普通栅格文件就是最熟悉的 .tif、.img、.dat 这类单文件。优点在于通用、简单任何软件都能读拷贝分发方便。缺点是单文件本身没有跨文件的统一管理能力元数据靠文件名硬撑几十个文件堆在文件夹里很难检索和维护。栅格目录Raster Catalog本质是一个地理数据库中的表每一行记录一个栅格行里可以存放路径、时间、波段数、空间参考等属性。它解决的是“查询和管理”问题。比如你有60景2023年拍摄的影像可以按日期字段查出“2023年6月以后的所有影像”。但它不适合直接把整个目录当成一个整体来做空间分析显示时也容易因为每个栅格单独加载而出现接边生硬的情况。栅格数据集Raster Dataset则是栅格在磁盘或地理数据库中真正承载像元值、金字塔、统计信息和坐标系统的存储结构。我们常说的“把TIFF导入File Geodatabase”导入后的产物就是一个栅格数据集。它本身不是“多个栅格的组织方式”而是一个栅格的基础容器。镶嵌数据集Mosaic Dataset是我现在最推荐的大批量栅格组织方式。它把“存储”和“显示规则”拆开多个原始栅格文件仍然以原样放在磁盘上但通过一套配置规则实时拼接成一幅无缝影像。支持接缝线、色彩平衡、概视图也可以按空间范围和拍摄时间动态选择参与显示的影像。空间分析时可以直接把它当作一个栅格输入。1.2 为什么组织形式会直接影响空间分析结果这里要先说个容易忽略的点组织形式看起来只是“文件怎么管理”实际上会影响分析的效率和结果。举个例子。如果直接用栅格目录做输入很多空间分析工具并不认它你得先把目录中的栅格逐项处理或者先转成镶嵌数据集。如果有几个栅格的投影坐标系不一致镶嵌数据集可以按当前工程动态投影显示和处理基本无感但用普通栅格文件时就必须自己在分析前先做投影转换否则分析结果会出现像元错位甚至空白。再比如切分影像做建模训练数据或者按行政区批量统计时分区统计工具严格要求输入是单个栅格。这时候如果手里是一堆散文件就得先做镶嵌或镶嵌数据集否则没法一次性得到所有行政区的统计结果。所以组织形式选型不是简单的文件归档问题而是直接决定了后面分析流程能不能跑通。1.3 我的选型标准按项目场景对号入座这是我整理的一份选型表直接按场景套用基本不会错场景数据规模推荐形式理由单景或几景小数据5景以内普通栅格文件简单、通用、无需额外管理多景数据需要按时间/区域查询几十景栅格目录元数据表可检索多景数据需要统一加载、分析、出图几十到上千景镶嵌数据集动态拼接、直接作为分析输入需要发布影像服务/切片缓存大数据量镶嵌数据集支持动态服务、缓存友好临时跨软件交换数据任意GeoTIFF 或 ERDAS IMG通用格式兼容性最好我个人的偏好是源数据永远保留原始文件长期维护的项目一律建一个镶嵌数据集来汇总管理。原始文件做只读归档日常显示和分析统一走镶嵌数据集。这套方案在实际项目中已经稳定跑了大半年没有再因为“文件太多找不到”“坐标系对不上”这种问题返工过。2. 栅格转化的实操链路格式、投影、裁剪与批量重采样2.1 格式转换里最容易被忽略的“像元类型”栅格格式转换是每天都要做的事但很多人转换完之后才发现结果不对。问题大多出在像元类型Pixel Type上。像元类型决定了每个像元用多少位存储、有没有符号、是不是浮点。常见的8位无符号整型最多只能表示0到25516位整型可以表示0到65535浮点型可以表示小数。NDVI 的计算结果一般是 -1 到 1 的浮点值如果你用“转为整型”的工具把它转成了整型输出直接就变成了 -1、0、1 三个值中间的信息全丢了。反过来分类后的土地利用编码比如 1 表示耕地、2 表示林地完全可以用整型存储既省空间又方便统计。转换工具在 ArcToolbox 里有两条路径转换工具 → 转为栅格To Raster或右键图层导出数据时选择格式。重点不是选哪个工具而是看清楚对话框里的“像元类型Pixel Type”和“无损/有损压缩”选项。如果你要拿去给其他软件建模一般推荐 GeoTIFF LZW 压缩无损多媒体或底图预览则可以用 JPEG 压缩有损但体积小。2.2 投影转换选错重采样方法分类数据直接“花掉”投影栅格工具Project Raster里最关键的隐藏参数就是“重采样技术Resampling Technique”。很多人不看就默认运行结果要么结果变形要么分类值出现“不可能存在的值”。我的建议是分情况选择最近邻Nearest Neighbor适合分类栅格和离散型数据。土地利用类型编码是 1、2、3、4、5用最近邻能够保证输出像元的值仍然来自原像元的某个值不会产生 1.5、2.7 这种根本不存在的“混合地类”。如果你是分类数据这个选项是唯一选择。双线性Bilinear适合连续表面数据比如高程、气温、降水、NDVI。输出值是邻近像元的加权平均看起来更平滑不会出现锯齿。三次卷积Cubic适合航空影像或遥感影像增强显示更平滑但计算量大且可能在边界处出现过冲。处理高程时我不推荐因为容易产生超出原始值域的极小或极大值。另外投影后还有一个大坑像元大小会变。比如原始 DEM 是 30 米分辨率投影到 Web Mercator 后在纬度较高的地方新像元尺寸往往不再是整 30 米。这样算坡度、算面积都会产生偏差。所以做完投影后务必在输出栅格源信息里核对一下像元大小必要时手动调整为目标分辨率。2.3 几十景影像批量重采样别再一景一景手动点了实际项目中很少只处理单景栅格。一次性拿到全区 30 景影像要统一重采样到 100 米、裁剪到研究区、再转成统一格式这个场景如果靠手动一个小时能完成一景已经算快了。我常用的方案有三个按效率从低到高在 ArcToolbox 里右键工具名称选“批处理Batch”一次性配置多个输入输出。适合简单重复的转换但配置项如果多依然繁琐。用模型构建器ModelBuilder中的“迭代栅格Iterate Rasters”自动遍历工作空间循环执行投影、重采样、裁剪。直接用 ArcPy 写一段循环脚本。效率最高也最灵活。脚本的简易模板我贴在下面供参考import arcpy arcpy.env.workspace rD:\raster_src arcpy.env.overwriteOutput True out_gdb rD:\result.gdb # 需要输出的坐标系这里以WGS1984 Web Mercator为例 target_sr arcpy.SpatialReference(3857) for ras in arcpy.ListRasters(): out_name out_gdb \\ ras.replace(.tif, _proj) # 双线性适合连续表面分类数据请换成NEAREST arcpy.ProjectRaster_management( in_rasterras, out_rasterout_name, out_coor_systemtarget_sr, resampling_typeBILINEAR, cell_size100, geographic_transform ) print(ras done)脚本跑完再配合“按掩膜提取”统一裁剪整个流程从手工两小时直接压缩到五分钟以内。3. 从“图像分析”到“统计分析”分区统计与Excel导出的完整闭环3.1 分区统计让栅格数据“可统计”的核心工具回到热搜词“arcmap栅格数据转化导出为excel”。为什么这么多人想导出到 Excel因为项目验收和汇报要用。栅格终究是个“图”不是“数”领导要的是“这个县的平均气温是多少”“哪个镇耕地面积最大”“变化斑块集中在哪些区域”这类具体数值。把栅格变成数值的核心工具就是“分区统计为表”Zonal Statistics as Table在 ArcToolbox 里的路径是空间分析工具 → 区域分析 → 分区统计为表。它的核心逻辑非常直观。“分区”Zone是你定义的一个个空间桶比如行政区边界、流域边界、缓冲区分级而“值栅格”是你要统计的连续或分类数据。工具会按分区边界把值栅格“切”开在解放日报每个分区内计算均值、最大值、最小值、总和、标准差、像元数等统计量最终输出一张表。有四个参数我每次都会重点检查分区字段必须是能区分区域的字段建议用区县名或行政区代码别用FID。值栅格选择你要统计的连续栅格温度、高程、NDVI也可以是分类栅格。忽略NoData通常要勾选。如果不勾分区内只要有一个像元是 NoData该分区的所有统计结果都可能变成 NoData非常坑。输出表建议输出到 File Geodatabase 而不是输出 dbf。gdb 表字段名限制更宽松中文兼容性更好。3.2 ArcMap里把栅格数据导出Excel的三条路拿到统计表之后接下来的环节就是导出 Excel这里有三条路。第一条直接导出属性表。如果一个栅格带有属性表分类栅格才有连续栅格一般不带右键图层 → 打开属性表 → 表选项 → 导出。导出格式选 dBase 或文本再用 Excel 打开。但要注意带中文的 dbf 在 Excel 里经常乱码字段名还可能被截成 10 个字符。所以这个方案我一般只在数据量小、字段简单时用。第二条栅格转 ASCII 再导入Excel。ArcToolbox → 转换工具 → 从栅格 → 栅格转 ASCII输出一个文本文件。文件的内容本质上是一个矩阵每一行对应栅格的一行像元值。在 Excel 里用“数据 → 从文本/CSV”导入按空格分列就能看到每个像元的值。这个方法适合研究小范围内像元值的分布或者把像元矩阵导入其他统计软件。缺点是大栅格输出的文本文件非常大动辄几百 MBExcel 根本打不开。第三条分区统计表转Excel。这条是我日常最常用的路径。分区统计工具输出的 gdb 表直接用 ArcToolbox 里的“表转Excel”Table To Excel在“转换工具 → Excel”下转为 xlsx。区别于 dbf 方案这个工具对中文字段名、字段长度、编码的处理好得多。实验证明gdb 表转 Excel 很少乱码dbf 表则经常。3.3 一个气温栅格按行政区统计的完整实操我拿最近做的一个案例完整走一遍流程。场景有一份全省2023年7月平均气温栅格单位是0.1摄氏度真实数值15.6度在栅格里显示为156像元大小是1km×1km。项目需求是算各市平均气温、最高气温、最低气温并统计各市面积最后输出Excel给业务处室做报告。具体步骤统一坐标系。先检查气温栅格和行政区边界是否在同一坐标系不在就按第2章方式先投影转换。这一步省不得坐标系不一致会导致统计结果错位。打开“分区统计为表”分区要素选择市界矢量分区字段选“市名”值栅格选气温栅格统计类型勾选MEAN、MAX、MIN输出到 gdb 里的表。点击运行后打开输出的表。你会看到每条记录对应一个市有 COUNT有效像元数、MEAN、MAX、MIN。这里的 COUNT 乘以像元面积就是该市的有效面积公式为 COUNT × 1000米 × 1000米 ÷ 1000000 面积平方千米。在 ArcToolbox 里用“表转Excel”把 gdb 表转成 xlsx。转换前我习惯把字段名改成英文如 city_name、mean_temp、max_temp避免表格给外部同事后列名全是拼音或中文导致后续分析困惑。在 Excel 中新增面积列用 COUNT 换算面积再排序、加占比列最终形成报告表格。这个流程跑完从原始栅格到 Excel 出表一共不到十分钟。3.4 Excel导出后最常见的三个“看起来小但很致命”的问题导出完成后经常出现的三类问题我集中说下科学计数法。像元数COUNT一旦超过六位数Excel默认显示为科学计数法比如 1.23E08很容易让不懂内情的人误以为是错误值。处理方式很简单选中列 → 单元格格式 → 数值 → 小数点位数设为0显示就正常了。字段名截断或字符限制。dbf 表字段名最长10字符且不能以数字开头。很多原始字段叫mean_temperature_2023导出dbf后直接被截成mean_temp给后续合并带来麻烦。gdb 表则没有这么严格的限制所以优先用 gdb 表转 Excel。中文乱码。dbf 在 Excel 中打开经常乱码本质是编码表不匹配。解决办法有两条一是用“表转Excel”工具代替直接打开dbf二是如果已经导出dbf用记事本打开后另存为 UTF-8 或 GBK 编码再用 Excel 导入。还需要注意在 Excel 中直接用“打开”而不是“导入”文本文件时往往会用默认编码去解析很容易错。4. 栅格分析中最容易翻车的三个隐性坑4.1 分析范围不一致结果为什么会“偏”有个真实案例我在一期项目里要把“土地利用分类栅格”和“NDVI栅格”叠加统计每种地类的平均 NDVI。两个栅格肉眼看上去范围差不多分区统计跑完后结果异常“耕地”的平均 NDVI 明显偏小。排查链路是这样的先打开两个栅格的“源 → 范围”发现 N 列个范围居然相差了整整一行像元的距离。NDVI 栅格在边缘带有一大片 NoData而土地利用栅格在那个位置有有效值于是分区统计时耕地分区内混入了一大堆无效 NoData 带来的偏差。解决方式很固定设置分析环境。在 ArcToolbox 中打开工具的“环境Environments”设置做三件事处理范围Processing Extent选择“与某图层相同”统一输出范围。捕捉栅格Snap Raster设置为基准栅格让输出像元严格对齐到基准栅格的网格。如果不设即使范围一样像元网格也可能错位半个像元。掩膜Mask设置为研究区矢量或栅格保证输出只在研究区范围内计算。这个设置在“栅格计算器”“按掩膜提取”“分区统计”之前都要养成习惯可以说是栅格分析最重要的环境参数。4.2 NoData不是0三个操作让你彻底看清它NoData 是栅格数据里最隐蔽的“敌人”。很多人以为 NoData 就是 0其实完全不是。在栅格计算器里如果你写温度栅格 - 舒适度栅格两个输入栅格只要有任何一个在某个像元上是 NoData输出的那个像元就是 NoData而不是 0更不是负值。在处理统计表的时候也一样。分区统计的 COUNT 只统计有效像元不会把 NoData 当成 0 计入。如果统计“有效面积”你自己却把 NoData 区域也当作 0 参与运算得到的结果就会比实际面积小很多。处理手段有几个我现在几乎养成了习惯用 IsNull 检查哪里的 NoData 是“真空白”还是“数据缺失”Con(IsNull(温度栅格), 0, 温度栅格)在做掩膜提取Extract by Mask之前先看一眼掩膜栅格和值栅格的范围和 NoData 设置确保重叠区域符合预期。所有栅格导出前在源信息里确认 NoData 值是多少常见的是 -9999、-3.4e38 等不要理所当然地认为是 0。4.3 大栅格卡到怀疑人生九成是这五个原因处理 5GB 以上大栅格时ArcMap 卡死、转圈几小时是家常便饭。多数人第一反应是“电脑不行”但我事后复盘发现很多时候问题根本不在配置而在于数据和环境设置。我每次排查大栅格性能问题都按这个顺序来金字塔是否存在。没有金字塔的栅格任意比例尺下都要全量读取卡是必然。右键栅格图层 → 属性 → “金字塔”标签缺失就立即构建。金字塔相当于给栅格做了一组不同分辨率的缩略图做放大缩小时只读对应层级速度能提升一个量级。统计信息是否已计算。没有统计信息时ArcMap 为了做拉伸符号化需要在加载时现算一遍全图统计值。这个操作对小栅格无所谓对大数据量栅格就是灾难。数据入库后第一件事就应该是先计算统计信息。压缩方式是否合适。如果原始 TIFF 未压缩建议转成 LZ77/DEFLATE 压缩的 GeoTIFF。带压缩的栅格文件体积小磁盘读取压力低。但对于极低性能的机器压缩反而增加解压开销需要权衡。临时磁盘空间是否足够。很多工具在分析前会先生成临时矩阵如果系统盘或 ArcGIS 临时目录所在盘空间不足操作会突然报错或卡在某个阶段不前进。把临时工作路径指到一个剩余空间大的盘会省很多事。并行处理因子设置。在环境的“并行处理”里把并行处理因子设为“90%”或按实际核心数调整有些工具可以利用多核加速。默认值不一定最优。还有一个细节对外交换大栅格时尽量在 GDB 中复制一份并设置合适的“块大小”Block Size。默认 128×128 或 256×256 一般够用过大的块在局部显示时反而会影响读取效率。5. 我的栅格分析工作流与几条实用建议5.1 从源数据到业务报告一套稳定的日常流程被坑了几次之后我固定下来一套流程现在无论接手什么栅格项目都按这个顺序推进第一步数据清点。打开每个栅格的源信息记录坐标系、像元大小、像元类型、范围、NoData 值、金字塔情况。这个动作看着繁琐实际上能省掉后面绝大多数排查时间。第二步统一预处理。所有参与分析的栅格统一坐标系、统一像元大小、统一处理范围必要时统一重采样方法和 NoData 的表示值。这个阶段我基本都是脚本批量完成不再手工操作。第三步分析运算。重分类、栅格计算器、邻域分析、分区统计。每个工具运行前都先检查环境设置里的“捕捉栅格”和“处理范围”是否已经设好再跑正式数据。第四步结果输出。用分区统计输出统计表再用“表转Excel”转成 Excel。出图放在最后先保证数字没有问题。第五步归档。源数据只读保存派生数据按日期和用途放到独立目录统计表单独成一份带原始日期命名的 Excel 文件避免三个月后找不到“到底哪一版是对的”。5.2 让栅格分析少走弯路的五个习惯最后分享几个我坚持了很久的习惯都很小但确实值习惯一所有源数据只读归档任何派生数据都另存不覆盖原始文件。习惯二每次投影或重采样之前记下原始像元大小输出后在源信息里再核对一次。习惯三批量处理前先拿一景数据试运行确认值域和结果合理后再跑全量。跑完看 5 到 10 个随机像元值做抽样验证。习惯四遇到统计结果明显不合理的先查 NoData 和范围再查参数。这个顺序能解决绝大多数问题。习惯五能批量就不手工能用脚本就写脚本。第一次写脚本可能多花半小时但换来的效率提升是长期的。栅格分析看着工具多、参数杂但核心逻辑说到底就是弄清楚数据本身格式对不对、投影统一没有、范围和像元对齐没有、NoData 怎么处理。把这个基本功打牢再复杂的分析项目也能顺着一条清晰的主线往下走。希望这篇能帮你在自己的项目里少踩几个我已经替你踩过的坑。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。