1. 为什么是CLCD一个长时序30米产品在项目里的位置1.1 从找不到合适数据到CLCD我最早接触到CLCD是在做华东某城市群扩张研究的时候。当时项目要求拉一条从1980年代到最近年份的城市建设用地变化曲线这就意味着我需要一个时间覆盖足够长、空间分辨率足够高的土地利用数据。那会儿手头能选的方案其实不多GlobeLand30精度确实高但它的可用年份断断续续2010、2020、还有后来的2000年版本中间缺口非常明显根本没法做逐年连续分析。ESA-CCI的年份倒是连贯从1992年到2020年几乎没有断档但分辨率只有300米放到地级市尺度做细节分析结果粗糙得没法看。MCD12Q1呢500米分辨率2001年才有往前够不到上世纪。也就是说在整个公开可获取的遥感土地覆盖产品池子里能够同时满足长时序和30米分辨率这两个条件的基本没有。后来有人推荐了武汉大学黄昕教授团队发布的CLCD也就是China Land Cover Dataset我才第一次认真去翻它的文档和数据。当时它发布的版本还只到2019年但已经足够让人眼前一亮——1985年到2019年的逐年30米栅格这是真正意义上的每年一张图。到现在数据集已经更新到了2024年等于覆盖了整整四十年。对一个做长时序土地利用变化研究的从业者来说这几乎是必须入手的底图数据。1.2 CLCD背后Landsat加随机森林的生成逻辑不少刚接触CLCD的人会把它当成一个普通的遥感分类产品觉得反正都是基于Landsat做的差不多。但如果你打算在项目里长期依赖它最好先搞清楚这套数据是怎么生成的因为它的生成逻辑直接决定了它和MCD12Q1、GlobeLand30这类产品的本质差异也决定了你在后续分析中应该怎么对待它。CLCD的底层影像来自Landsat系列卫星包括Landsat 5、7、8、9全部是30米分辨率的多光谱影像。这套卫星系列的优势我不多说了时间跨度从1984年到现在几乎没有断档是全球最长的连续对地观测记录。分类方法上CLCD采用的是随机森林分类器特征输入里同时包含了光谱特征、物候特征和地形特征。其中物候特征相当重要因为很多地类靠单期影像很难区分但加入时序变化之后像耕地和水田、常绿林和落叶林的差异就明显了。另外CLCD的训练样本也不是简单地从某个现成产品里搬过来而是把人工目视解译样本和FROM-GLC、GlobeLand30等已有产品的样本做了融合。这个操作很花功夫但也正是它能在长时间序列上保持分类一致性的关键。我个人的理解是CLCD本质上是一套用Landsat时序影像加机器学习分类器再加上大规模样本库做出来的产品而不是简单地对各年份影像做独立分类再拼起来。这也是为什么它的逐年结果在时序上看起来比较平滑没有那种相邻年份地类突变乱跳的毛病。2. 数据规格细节时间、分辨率、分类与精度的完整拆解2.1 逐年30米栅格这个指标意味着什么1985–2024年逐年30米栅格这句话看起来简单但放在实际使用场景里它的含义值得展开。先说逐年。目前公开可获取的全球土地覆盖产品里能做到逐年的本就不多逐年又是30米分辨率的更是少见。这意味着如果你要研究某个县过去三十年的建设用地扩张过程可以一年一年地提取建成区边界而不是像有些研究那样只能用2000年、2010年、2020年三个断面去推中间的变化。断面数据有个天然缺陷不知道变化具体发生在哪一年也很难判断变化是匀速还是有突变。而CLCD这种逐年的数据可以精确到年份来做突变检测和时间趋势分析。再说30米。30米栅格在一个像元大约对应900平方米换算成实际地物尺度大概是一个边长30米左右的方块。这个分辨率能看清什么能看清乡镇级别的建设用地轮廓能分辨出较大的农村居民点能识别集中的耕地地块但指望它分辨单栋建筑或者窄马路就有点强人所难了。在项目里我一般把它定位成区域尺度到市域尺度的分析底图省市级研究完全够用但如果你想做某一个村庄的宅基地变化那还是得掏更高分辨率的影像自己解译。2.2 分类体系与像元值代码CLCD的分类体系整体上沿用了国际主流土地覆盖分类框架分为9个一级类像元值类别英文名称1农田Cropland2森林Forest3灌木Shrub4草地Grassland5水域Water6冰雪Snow/Ice7裸地Barren8不透水面Impervious9湿地Wetland这个分类体系的好处是很干净一级类只有9个做面积统计、转移矩阵、制图都比较方便。它没有二级类所以如果你需要区分水田和旱地或者常绿阔叶林与落叶阔叶林CLCD是给不了的。在这方面它确实不如某些专项产品精细但它的价值在于时序完整且分类稳定。对多数长时序研究来说一级类已经能回答大部分问题了。数据格式是标准的GeoTIFF单波段像元值是上述1到9的整数。一般我看到的情况是官方发布的文件里每个年份一个TIFF文件文件名里带了年份信息和行政区范围。你拿到手之后不需要做任何格式转换可以直接扔进ArcGIS Pro、QGIS或者Python的rasterio进行后续处理。2.3 精度验证CLCD在公开评测里的表现做土地利用研究精度是绕不开的话题。如果数据本身精度不行后面任何分析结论都可能站不住脚。根据CLCD团队公开发表的成果他们利用独立的验证样本点进行了精度评估总体精度在80%左右在不同区域和不同地类上精度有所差异。这组数字放在30米尺度的长时序土地覆盖产品里属于第一梯队的水平。作为横向对比MCD12Q1的总体精度在很多独立验证里也就在70%上下GlobeLand30虽然精度更高但年份不连续。所以在综合时间连续性和精度两个维度之后CLCD在目前可用的产品里是非常有竞争力的。不过我要强调的是总体精度是个平均概念具体到你研究的区域某一类地物的精度可能明显高于或低于总体水平。比如我印象里CLCD对不透水面的识别整体不错因为不透水面在Landsat影像上的光谱特征相对清晰。但像灌木和草地的区分在某些地区可能会有一定的混淆尤其是植被过渡带。所以拿到数据后最好还是用你手头的高分影像或者实地调查样本在研究区内单独做一次局部验证别只依赖官方给出的总体精度。3. 从获取到落地下载、拼接、重投影与年度对比的实操记录3.1 获取渠道与文件组织方式要拿到CLCD目前主要渠道是武汉大学团队提供的官方下载入口以及在一些开放数据平台上发布的整包数据。由于数据已经更新到2024年整个时间序列时间跨度比较长而且每个年份都是一整张全国范围的30米栅格单文件体积不小。你可以选择按年份逐年下载也可以一次性把四十年数据全部拉下来放到本地硬盘。我个人的建议是如果机器硬盘够大一次性下完整套数据比较好因为长时序分析几乎总是需要逐年对比你总不能每分析一年就去下载一次。CLCD在Google Earth Engine上也有托管如果不想下载整套数据也可以直接在GEE里调用。不过GEE版本有时候更新不一定同步到最新年份而且如果你的分析依赖大量本地数据还是把CLCD放在本地更顺手。下载完之后建议按年份建好目录命名统一这一步看似简单但能帮你省掉后面很多找数据的麻烦。3.2 数据拼接与重投影ArcGIS Pro和QGIS的两条路径CLCD发布的数据虽然是全国范围的成品但实际下载下来之后部分版本的文件是按分幅或者分省组织存放的使用之前需要做拼接。做拼接时我最常用的是ArcGIS Pro的栅格合并工具。在ArcToolbox里找到数据管理工具—栅格—栅格数据集—镶嵌至新栅格把同一年份的多个分幅文件全部选中输入进去像素类型选8位无符号整型波段数设成1其他参数保持默认即可。合并出来的结果就是一张完整的全国栅格图。有一点必须提醒合并的时候一定要确认所有分幅的空间参考一致。以CLCD来说官方提供的数据一般用的是WGS84地理坐标系但也有部分版本可能经过投影转换如果混着合并结果会出现错位而且这种错位很隐蔽不放大看根本看不出来。合并完成后检查一下范围确认没有黑边或者空值区域再用按掩膜提取裁剪到你的研究区。如果你不用ArcGIS ProQGIS里也有类似操作而且还要更简单一点菜单栏栅格—其他工具—Build Virtual Raster也就是构建虚拟栅格可以把多个分幅文件拼成一个虚拟栅格文件不用真正生成一个大的合并文件后期处理更灵活。不过虚拟栅格本质上还是引用了原始文件你不能把原始文件挪走或者改名否则就会失效。3.3 重投影与面积统计一个容易翻车的环节很多人在用CLCD做面积统计时翻过车原因不是数据不对而是坐标系没处理好。CLCD默认是地理坐标系WGS84单位是度。在ArcGIS Pro里你直接把栅格放到图层里打开属性表看每个像元的面积那是算不出真实平方公里数的因为经纬度坐标下每个像元代表的实际地面面积在不同纬度差异很大。正确做法是先把栅格投影到等积投影坐标系国内一般用Albers等积圆锥投影或者Lambert等距圆锥投影然后再做面积统计。我自己的标准流程是这样的在ArcGIS Pro里用投影栅格工具把WGS84地理坐标系的CLCD数据投影到Krasovsky_1940_Albers坐标系这一步可以选用全国范围的Albers参数然后基于投影后的数据做重分类、面积统计。如果你用的是省级范围也可以改成对应的中央经线和标准纬线参数。总之记住一个原则做面积统计和转移矩阵必须用等积投影做显示和目视解译用地理坐标系或者Web墨卡托都可以。3.4 多年数据放在一起对比时的像元对齐问题做逐年变化分析时还有一个细节特别容易被忽略就是不同年份栅格之间的像元对齐。CLCD数据是按Landsat影像处理链生成的不同年份的影像在几何校正之后理论上像元网格是对齐的。但实际操作中由于裁剪范围、投影参数或者处理环境差异你下载下来的不同年份文件可能出现像元网格的微小错位。如果直接用栅格计算器对两个年份做差结果会出现很多细碎的虚假变化像元。解决方法是有的也比较简单。在做逐年对比之前先统一把所有年份数据重采样到同一个参考网格。具体操作是选定某一年的栅格作为基准使用重采样工具把其他年份数据都投到同一个像元网格上采样方法选最邻近NEAREST因为CLCD是类别型数据用双线性或三次卷积插值会产生不合理的小数类别值。这一步做完后面再算转移矩阵、变化强度就干净很多了。4. 能做出什么结果CLCD在几个常见研究场景中的应用展开4.1 城市扩张与不透水面变化分析CLCD里不透水面这一类对我做城市研究来说是最有价值的。把每年的不透水面单独提取出来重新编码成二值栅格1是不透水面0是其他然后就可以做一套完整的城市扩张分析。举个例子。以前我做某省会城市的研究时把1985年、2000年、2010年、2024年四期不透水面提取出来叠加在一起用ArcGIS Pro的栅格唯一值工具统计每个像元的类别组合就能算出一个三分量结果持续建成区、新增建成区、消失区。这个结果再结合行政边界做分区统计就能看出城市扩张是沿着哪个方向走的摊大饼还是轴线发展。再把不透水面面积除以行政区面积得到的就是建成区占比可以做城市扩张强度指数。这套分析如果换成以前只有断面数据的产品基本做不出来因为要先知道每一年建成区在哪。而有了CLCD我甚至可以做逐年扩张速率的折线图找出哪几年扩张最快哪几年基本停滞再结合当时的政策背景去解释故事的完整度就完全不同了。4.2 耕地变化与农田流失评估CLCD里的农田这一类在农业和粮食安全研究里用得非常多。做法一般是每年提取农田像元然后统计不同行政区的农田面积变化趋势。我做过一个比较典型的分析把2000年到2023年逐年农田面积拉出来做线性回归拟合就能看出这个区域是在净增耕地还是在持续流失。进一步把农田变化图和不透水面变化图叠加还能识别耕地是被建设占用了还是主动退耕了。这里我特别想提一个隐藏用法CLCD对农田的识别精度整体较高但要注意的是农田是一种季节性很强的地物如果某一年影像获取时作物还没长出来或者已经收割完毕分类器可能把农田识别为裸地。所以在做农田面积时序分析时建议先观察一下曲线里有没有异常的年份突变如果某一年农田面积突然大幅减少、第二年又恢复正常大概率是当年影像质量问题或者分类误差而不是真实的农田变化。4.3 与社会经济格网数据叠合CLCD加上GDP和人口格网之后更值钱这两年非常流行的一个研究方向是把土地覆盖数据和GDP、人口格网数据叠在一起做空间统计分析。热搜词列表里就有GDP空间分布网格数据集说明不少人在关注这个方向确实这类数据一旦叠上CLCD能问出很多有价值的问题。举个例子。你可以把某年的GDP格网数据重采样到与CLCD相同的地理范围然后统计农田像元上的GDP总量和不透水面像元上的GDP总量做一个比较。如果某个地区的经济高度集中在建设用地上说明用地效率高如果大量GDP产出分布在农田区域可能说明当地存在大量的设施农业或者农村工业用地实际情况需要结合其他数据判断。另一个常见操作是单位面积产出分析。把GDP格网数据除以每个格网内的建设用地面积得到单位建设用地GDP产出这在区域经济地理研究里是很有说服力的指标。CLCD提供建设用地边界GDP格网提供经济总量两者叠加之后就能做出这类分析。4.4 生态质量评估与驱动因素分析的拓展除了城市和农业CLCD在生态领域也能做不少事。比如把CLCD的森林、灌木、草地合并成植被覆盖类型分析三十年植被覆盖格局的变化或者提取水域范围变化分析湿地退缩趋势。土地利用变化本身就是生态驱动力的核心表征所以很多生态环境研究的开题都是从一套长时序LUCC数据开始的。我在曾做过的一个项目里把CLCD的林地变化数据作为因变量把高程、坡度、降水、温度等环境因子作为自变量做了一个地理探测器分析用来判断哪个因子对研究区林地变化的解释力最强。如果没有CLCD这种逐年连续的土地覆盖数据这个分析做到2000年就断了后面十几年的变化趋势根本没法入模。5. 用CLCD这三年我踩过的坑和摸索出来的经验5.1 像元值不能只靠记忆建议建一个编码表CLCD的9个像元值看起来简单但实际分析时你会发现一个项目里会有多种操作反复用到类别编码。尤其是在Python的numpy或者ArcGIS的栅格计算器里写分类逻辑时很容易把3和4搞混灌木和草地的编码多写错一个0整个结果就废了。我的建议是在项目目录下建立一个固定的编码对照文档像本文第2.2节那个表格一样把每个值对应的类别、RGB颜色都列出来。同时在做重分类时一定要定义清楚值—新值的映射关系千万不能想当然地让系统自动按顺序重映射。另外一个更笨但更保险的办法是每次打开数据先做一个查找表用唯一值渲染确认一下各种地类的分布位置是否符合你对研究区的认知。5.2 时序曲线里的突变先怀疑影像再怀疑事实CLCD在时间一致性上已经做得相当好但连续四十年的时序里个别年份出现分类突变仍然无法完全避免。这类问题很多来源于Landsat影像本身的质量问题比如云遮挡严重、传感器故障Landsat 7的条带问题、或者当年可用影像数量不足。在做时序分析时一旦发现某一年的某一类面积出现异常跳变不要急着下真实变化的结论先去查那一年研究区的Landsat影像质量。我自己的处理习惯是对逐年面积序列做一次Savitzky-Golay滤波或者移动平均先把异常跳变平滑掉再做趋势计算。注意这不是为了掩盖真实变化而是为了避免把分类噪声当成真实变化。如果某一年的跳变在滤波之后仍然非常明显而且周边影像质量没问题那才值得进一步深挖真实原因。5.3 和其他土地覆盖产品混用时要小心口径差异很多项目里CLCD不会单独上场而是需要和GlobeLand30、ESA-CCI甚至地方的土地利用现状数据相互验证或补充。这种情况下最需要注意的是产品之间的分类口径差异。比如说同一个地块在CLCD里可能被分为草地在GlobeLand30里可能被分为灌木这两种产品本身都没有错只是分类标准对灌木和草地的边界定义不完全一致。如果你直接把两类数据拼到一个时间序列里中间就会出现一个不连续的台阶。所以我的做法是跨产品对比时只对比结构和趋势不对比值的大小如果非要衔接使用就必须先做一次本地样本的重映射校准而不能直接拿来就用。5.4 大数据量处理时的效率优化最后说一个很现实的问题40年逐年全国30米栅格的数据量是非常可观的直接全部叠加做分析机器很容易卡死。我刚开始用的时候把40张全国栅格全部加载到ArcGIS Pro里做栅格计算直接卡了将近二十分钟。后来学聪明了全部用分区处理加Python脚本替代交互式操作。尤其是在做多年叠加分析时我会先裁剪到研究区范围再做逐年重分类和统计。Python里用rasterio和numpy可以非常高效地处理这类批量栅格任务。比如读取某一年研究区的CLCD栅格数据为numpy数组然后基于像元值做逻辑判断把结果保存到一个年份序列的二维矩阵里最后所有年份的数组堆叠成一个三维数组按像素沿时间轴做统计分析处理速度比在ArcGIS里点鼠标快得多。另外提醒一句处理大数据量的栅格时注意中间结果的清理临时生成的栅格文件如果不及时删除很容易把硬盘填满。6. 从数据到成果一次完整的CLCD分析工作流参考6.1 标准化处理流程清单以我比较常用的ArcGIS Pro环境为例一套典型的CLCD分析流程大概分成这么几步下载CLCD逐年数据按年份和行政区域建好目录对分幅数据做镶嵌合并得到全国整图用研究区边界裁剪到目标区域投影到Albers等积投影坐标系重采样到统一像元网格如果需要对齐按研究目标提取目标类别并重分类为二值栅格扩展分析如栅格计算、分区统计、转移矩阵等输出图表和专题图。这套流程说起来简单但每一步都有很多值得注意的细节。比如第二步镶嵌时要注意像元类型一致性第四步要注意输出位置和像元大小第六步要确保重分类规则不出错。我建议把每一步都写成批处理脚本或者模型构建器这样下次换一个研究区或者换几个年份只需要改一下参数就能直接跑省下来的时间非常可观。6.2 成果表达中的地图设计与专题图经验数据做完了最后一步是出图。CLCD这种分类栅格的出图最常用的配色方案是参考已有的全球土地覆盖制图标准。比如MCD12Q1的标准假彩色体系或者CLCD官方发布的配色。在ArcGIS Pro里可以用唯一值渲染把每个类别的颜色手动和官方标准对齐这样出图效果才够专业。我个人的经验是出专题图时尽量不要把40年的数据全部叠加在一张图上信息量太大反而看不清。可以先做两张图一张是起始年份状态图一张是结束年份状态图再加一张变化热点图三幅图排在一个图版里叙事逻辑就很清晰了。如果要做逐年变化动图GIF或者视频的形式会更有冲击力但注意逐年输出时保持色彩映射完全一致否则动态效果会失真。6.3 这套数据还可以怎么扩展CLCD目前更新到2024年但没必要把这套数据当作一个一次性的数据源。实际上它有很多值得进一步挖掘的扩展方向。比如你可以把逐年不透水面数据和夜间灯光数据结合做一个城市蔓延与灯光亮度变化的耦合分析。也可以把每年水域范围和气象数据降水、温度做相关性分析看看研究区的水域面积波动在多大程度上由气候因素驱动。如果你做碳循环研究CLCD的森林和农田范围变化也可以作为碳排放估算的空间边界。总而言之这套数据是一个基础底图它的价值取决于你能不能把它和其他领域的数据打通。这几年我算是因为项目需求前前后后处理过很多套土地利用产品CLCD是我目前最愿意在项目里长期使用的一套。它最大的价值不在于某一个年份的精度有多高而在于它能把1985到2024年这整整四十年的中国土地利用变化过程用统一的标准、一致的方法逐年呈现在你面前。这种时间连续性才是它真正不可替代的地方。将来如果团队把时间序列进一步往前延伸到更早的年代或者加入更细的二级分类那它对我们这类研究者的价值还会更大。
