全球土壤 250 米栅格 — 每格四个分位数

250 米、6 个深度、305 个产品目录,与一张不告诉你「这个点准不准」的无字天书

来源 SoilGrids(ISRIC — World Soil Information) url: https://files.isric.org/soilgrids/latest/data/发布时间: 2026-10-29最后更新: 2026-10-29 阅读 8
全球土壤 250 米栅格 — 每格四个分位数

信息速览

数据集名称全球土壤 250 米栅格 — 每格四个分位数
数据类型250 m 分辨率,6 个标准深度,305 个产品目录,Q0.05 / Q0.5 / Q0.95,约 24 万条土壤剖面,CC-BY 4.0,Interrupted Goode Homolosine
规模不适用(全球土壤栅格,无个体记录;空间单位为 250 米像元)
接入方式SoilGrids(ISRIC — World Soil Information) url: https://files.isric.org/soilgrids/latest/data/
AI 就绪度

SoilGrids 是全球土壤数据里被引用得最多、被误解得也最深的一份。它把一个连续的自然介质切成了 250 米见方的方格,每个方格、每一层深度、每一个属性,都给出五个数字:一个均值、三个分位数、一个不确定度。这不是一份观测记录,而是一份带自我怀疑的预测。

它的分量不在于分辨率——250 米在遥感里算粗的——而在于它把「这个格子有多不确定」做成了可以直接下载的图层。绝大多数全球栅格只给你一个数,然后让你自己去猜这个数有多可信。

对做农业、水文、碳循环、土地退化评估的人来说,这是少数几个能直接进模型、还能顺手做敏感性分析的公开底图。但它同时是一份 2020 年的快照,一个自 2021 年后没再整版重跑的产品,一条 latest 路径下面藏着的不是「最新」,而是「最后一次全量」。

项目 数值 来源
空间分辨率 250 米 ISRIC 介绍页与 FAQ
标准深度层 6 个(0–5 至 100–200 cm) GlobalSoilMap 规范,官方沿用
连续属性 11 个(250 米版) data/ 目录实际列出
每层产品数 5 个(mean、Q0.05、Q0.5、Q0.95、uncertainty) 各属性子目录
全图网格 159,246 列 × 58,034 行 clay_0-5cm_mean.vrt 头
单图瓦片子文件 3,749 个(以 clay 0–5 cm 均值层为例) 同前 VRT 的 SourceFilename 计数
训练剖面 约 24 万条、逾 92 万个土层 Poggio 等 2021 摘要
环境协变量 400 余层 同上
投影 Interrupted Goode Homolosine VRT 的 SRS 字段
许可 CC-BY 4.0 ISRIC 介绍页原文
主引用 10.5194/soil-7-217-2021 SOIL 7:217–240

§1 速览:它是什么,也不是什么

§1.1 一句话定义

SoilGrids 是 ISRIC 用机器学习把全世界零散的土壤剖面观测「铺」成一张全球栅格的结果:输入是约 24 万条剖面和 400 余个环境协变量,输出是 250 米网格上 11 个属性在 6 个深度上的预测值,每个格子配三个分位数和一个不确定度。

这句话里每个词都要抠。「铺」意味着它是对观测的内插与外推,不是观测本身;「剖面」意味着训练样本在地理上极度不均;「预测值」意味着每个格子都有一个置信区间,而这个区间在数据稀薄的地方会宽到没有实用价值。

§1.2 三层身份

第一层身份是土壤属性的全球底图。做作物模型的人拿它当土壤参数表,做水文模型的人拿它当田间持水量的先验,做碳核算的人拿它当 0–30 cm 有机碳储量的基线。这一层用法最朴素:把栅格裁到研究区,读进模型,结束。

第二层身份是带不确定度的概率产品。SoilGrids 2.0 相对上一代最大的改动不是分辨率,而是把分位数回归森林的整套输出都放了出来:不只有中位数,还有 5% 与 95% 分位,以及一个派生出的相对不确定度。这让它成为少数几个可以拿来做「保守决策」的全球栅格:要修水库,取 Q0.05 的渗透性;要算碳汇上限,取 Q0.95。

第三层身份是一份可以被审计的模型产物。每个产品的 VRT 文件头部都写着模型版本、树的数量、变换方式、训练数据快照,甚至写着这一版哪里有缺口。这种把「我们哪里没做好」写进文件头部的做法,在全球栅格产品里并不常见。

§1.3 三十秒决策卡:你的处境,它能帮你什么

你的处境 它能帮你什么 代价
手上有一个流域水文模型,缺土壤参数 直接给 6 层容重、粒径、有机碳,按深度加权 参数是 250 米尺度的有效值,与模型网格要对齐
要做区域尺度的施肥处方图 用 Q0.05 的黏粒含量做保守配方,避免过量 单田块尺度误差大,必须用本地采样校正
要估一个国家的 0–30 cm 有机碳储量 ocs 层直接给吨/公顷,乘面积即可 ocs 与 soc×bdod×深度 的乘积不完全自洽
要评估某个全球模型对土壤参数的敏感性 三个分位数天然构成扰动集合 分位数之间高度相关,不是独立抽样
要找一份能代表 2024 年土壤状况的数据 它给不了,输出停在 2020 年那一版 重新训练需要 WoSIS 授权与算力
要查一个点的土壤剖面化验单 它给不了,这是栅格不是剖面库 需要 WoSIS 点数据或国家土壤库

§1.4 不适合谁

不适合点位尺度的农艺决策。一个 250 米像元覆盖 6.25 公顷,中国北方一个村民小组的耕地可能只有三十亩;把像元值直接当田块值用,误差可能超过本地实际变异的一倍。

不适合需要时间序列的研究。SoilGrids 没有时间维。目录名里没有年份,文件名里没有日期,VRT 里没有时间戳。多次下载得到的文件若有差异,那是产品更新,不是土壤变化。

不适合要引用「最新数据」的合规场景。latest 是路径别名,不是版本号。核验时该路径下的瓦片文件时间戳集中在 2020 年 4 月,聚合版是 2022 年 6 月,校验清单是 2023 年 1 月。三个时间点说的是三件不同的事:预测产出、聚合重算、清单重签。

不适合把不确定度当方差用的统计建模。uncertainty 层的定义是四分位距与中位数之比,是一个无量纲的相对量,在中位数趋近 0 的地方会发散。

§1.5 贯穿本文的案例:一个县的水稻施肥处方图

后面每一章都会回到同一个场景,因为土壤栅格的价值只有在具体决策里才看得清。

某南方水稻主产县,农业农村局要在全县 1,800 平方公里的耕地上出一张氮肥基肥处方图,按方给补贴。他们手上没有本县土壤普查数据,最近一次普查是二十年前,且只覆盖了 12% 的耕地。预算允许买一次商业土壤采样,两百个样点,平均每 9 平方公里一个。

他们的技术路线是:用 SoilGrids 的黏粒、砂粒、有机碳、容重四层做基础参数,用两百个采样点做残差校正,最后按 Q0.05 的黏粒含量给保守配方。这条路的每一步都会踩到本文后面要讲的坑——latest 路径停在哪一年(§6)、不确定度层能不能直接当方差用(§4)、ols 层与 soc×bdod 的乘积为什么不自洽(§2),以及为什么他们最后发现「两百个点校正 250 米栅格」在数学上是个亏本买卖(§8)。记住 §1.5 的案例,比记住任何一个字段名都有用。

§2 数据构成:305 个产品怎么数出来的

§2.1 十一个连续属性,加两个非属性目录

data/ 根目录下一共 13 个目录,按字母序是 bdod、cec、cfvo、clay、landmask、nitrogen、ocd、ocs、phh2o、sand、silt、soc、wrb。

前十个加 ocs 是 11 个连续属性,覆盖容量、化学、粒径、养分、碳五个方面:容重(bdod)、阳离子交换量(cec)、粗碎屑体积占比(cfvo)、黏粒(clay)、粉粒(silt)、砂粒(sand)、全氮(nitrogen)、有机碳含量(soc)、有机碳密度(ocd)、有机碳储量(ocs)、水浸 pH(phh2o)。

landmask 与 wrb 不是属性。landmask 是一张陆表掩膜,整个目录里只有一个文件 landmask_SG_052020_COG512.tif,约 684 MB,2020 年 5 月生成,加一个校验清单。它的作用是告诉你哪些像元有土壤预测、哪些是水面或无数据,避免把海洋当零值。

wrb 是 World Reference Base 土壤类型的概率分布,结构完全是另一套,留到 §2.5 单说。

§2.2 六个深度,但 ocs 只有一个

深度是 GlobalSoilMap 工作组定的六个标准区间:0–5、5–15、15–30、30–60、60–100、100–200 厘米。前三个是表土分层,后三个是心土与底土。这套切法的好处是与大量已有土壤调查的采样层段对得上,坏处是层界不等于发生层界,一个跨 15 厘米边界的耕作层会被硬切开。

目录名把深度写成 0-5cm,短横线相连,不带下划线,不带 cm 后的点。写成 0_5cm 或 0-5 都会 404。

ocs 是唯一的例外:它只有一个深度,0-30cm。原因是土壤有机碳储量本身是一个累积量,30 厘米是国际通用的碳核算标准深度(对应 IPCC 的矿质土上层),按 5 厘米分层的储量没有约定俗成的意义。所以 ocs 目录下只有 5 个子目录,不是 30 个。

这一处不一致经常把人绊住:写循环时按「6 个深度 × 5 个产品」去遍历,跑到 ocs 就会抛异常。

§2.3 五个产品:均值、三个分位数、一个不确定度

每个(属性,深度)组合下有 5 个并列目录,后缀分别是 _mean、_Q0.05、_Q0.5、_Q0.95、_uncertainty。

三个分位数里,Q0.5 就是中位数,mean 是均值。两个都给了,说明分布不对称——对数正态或偏态分布下,均值会被右尾拉高。什么时候用哪个,是有讲究的(见 §4.5)。

uncertainty 不是标准差,也不是方差。它的定义是四分位距除以中位数,即 (Q0.95 − Q0.05) / Q0.5 一类的相对离散度。这个定义的好处是与量纲无关,可以横向比较黏粒和 pH 的可信度;坏处是中位数接近 0 时比值发散,pH 在酸性极强的土壤上、有机碳在贫碳沙地上,都会出现数值巨大但没有实际意义的格子。

数一下总量:10 个属性各 6 个深度、每个深度 5 个产品,得 300;ocs 一个深度 5 个产品,得 5。合计 305 个产品目录,每个目录对应一个 .vrt 文件放在属性目录下(如 clay/clay_0-5cm_mean.vrt)。这 305 个 VRT 是整份数据的主入口。

§2.4 一个产品的解剖

以 clay_0-5cm_mean 为例,它由三样东西组成。

第一样是 clay/clay_0-5cm_mean.vrt,一个约 1.7 MB 的 XML 文件,声明了整幅全球栅格的行列数、投影、地理变换、波段数据类型、无效值,以及一张长长的源文件清单。GDAL 打开这个 VRT,看到的就是一整幅连续的全球图;实际读某个窗口时,它按需去取对应的瓦片。

第二样是 clay/clay_0-5cm_mean/ 下的 tileSG-* 目录。这个产品有 1,131 个这样的目录,每个目录名形如 tileSG-000-019,前两位与后三位是行号与列号。目录里面是若干 450×450 像素的 GeoTIFF 子文件,命名形如 tileSG-000-019_4-4.tif,末尾的 _r-c 是子瓦片在父块内的行列。

第三样是每个目录里的 checksum.sha256.txt。子瓦片目录给一行,只校验那一个 tif;属性目录级、顶层目录级也各有清单。这是整份数据唯一的内建完整性机制。

VRT 引用源文件用的是 ComplexSource 而不是简单的 SimpleSource,这让文件比同类 VRT 大三到四倍,但也让每个瓦片可以带自己的统计量与缩放。代价是:用文本编辑器打开 VRT 会看到几万行 XML,别试图人眼读完。

§2.5 wrb 是另一套结构

wrb/ 下有 31 个目录:30 个 WRB 土壤类型的英文复数名,加一个 MostProbable。

30 个类型是 Acrisols、Albeluvisols、Alisols、Andosols、Arenosols、Calcisols、Cambisols、Chernozems、Cryosols、Durisols、Ferralsols、Fluvisols、Gleysols、Gypsisols、Histosols、Kastanozems、Leptosols、Lixisols、Luvisols、Nitisols、Phaeozems、Planosols、Plinthosols、Podzols、Regosols、Solonchaks、Solonetz、Stagnosols、Umbrisols、Vertisols。

这份名单本身就是一条边界信息:里面有 Albeluvisols,没有 Retisols。Albeluvisols 在 WRB 2014 版里被并入 Retisols,说明这套分类沿用的是更早的 WRB 版本。名单里也没有 Anthrosols 与 Technosols 这两个与人为土相关的类型,城市与矿区基本落在其他类的高概率区或低概率区里。

每个类型目录下是 100 个 tif,名字是 0.tif 到 99.tif,没有任何深度后缀,也没有 VRT。同样的内容还各有一份 .geotiff 扩展名的副本,体积一致。也就是说 wrb 一个类型目录里躺着 200 个栅格文件,一半是重复的扩展名变体。

MostProbable 是 30 个概率层的 argmax 结果,给的是类型编码而非概率。要用它,必须先拿到编码与类名的对应表,而这个表不在下载目录里,得从官方文档或 REST API 的 schema 里找。

§2.6 输入:24 万条剖面、92 万个土层、400 层协变量

SoilGrids 2.0 的论文摘要写得明确:输入是「全世界约 24 万个位置」的土壤观测,配合「400 余个全球环境协变量」,涵盖植被、地形、气候、地质、水文五类。正文里进一步说明,这一版用了约 24 万条剖面、超过 92 万个土层记录,比上一版多出 6 万余条剖面。

另外还有一个数字常被混进来:WoSIS 2023 快照包含 22.8 万条剖面、分布在 21.7 万个样点。这是 WoSIS 数据库自身的规模,不是 SoilGrids 的训练集。SoilGrids 这一版的训练数据是 2020 年 3 月的快照(VRT 头写 WoSIS_version: Data stream 7),两者不是同一批数据,数量也不同。把 22.8 万当 SoilGrids 的训练样本数,是把上游数据库的现状扣在了下游产品上。

WoSIS 2023 那篇论文还顺带解释了一件对使用者很重要的事:2019 至 2023 年间各机构共享给 ISRIC 的 10.7 万条剖面里,只有 3.4 万条因为数据提供方的许可限制能够进入快照。土壤数据的第一道门槛不是技术,是授权。

§3 结构层:命名、投影与像素账

§3.1 命名公式

一个产品的完整路径是:

data/<property>/<property>_<depth>_<statistic>.vrt
data/<property>/<property>_<depth>_<statistic>/tileSG-<行>-<列>/tileSG-<行>-<列>_<r>-<c>.tif

属性名用小写缩写,深度用 起-止cm,统计量用 mean、Q0.05、Q0.5、Q0.95、uncertainty 五种之一。

这条公式有一个容易踩空的地方:点号。Q0.05 里的点是文件名的一部分,在 shell 里要引号,在 Python 里要当普通字符。写成 Q05 会得到 404 而不是报错,因为服务器只是找不到这个目录。

另一处是 tileSG 后面没有下划线,直接跟短横线;子瓦片才是下划线加分格号。看错一层,拼出来的路径就全错。

§3.2 投影:不是等经纬度

VRT 的 SRS 字段写的是 PROJCS["Interrupted_Goode_Homolosine", ...],像元大小 250 米见方,地理变换的左上角是 (-19949750, 8361000)。

这意味着三件事。

第一,这不是经纬度网格。全球 1 度格子在不同纬度对应的米数不同,而这里每个像元都是 250 米乘 250 米,面积守恒。做面积统计、做碳储量汇总时,这一点让求和变得简单:数像元乘 6.25 公顷即可。

第二,Interrupted Goode Homolosine 是分瓣的。为了让大陆连续、把海洋切开,这个投影在特定经线处断口。断口附近的像元在平面上相邻,在地球上可能隔了半个大洋。任何基于平面邻域的卷积、窗口统计、连通域分析,在断口处都会出错。

第三,从经纬度到行列号必须做投影变换,不能线性换算。随手写 col = (lon + 180) / 360 * width 是错的,误差在低纬度就能到几十个像元。

§3.3 像素账:159,246 × 58,034

VRT 头给出 rasterXSize="159246"、rasterYSize="58034",两者相乘约 92.4 亿个像元位置。这是整幅投影范围的完整包围盒,包含大片没有土壤预测的海洋与冰盖。

真正有数据的位置由瓦片清单决定。以 clay 0–5 cm 均值层为例,VRT 里列了 3,749 个源文件,每个 450×450 像素,约 7.6 亿个像元有值。这个差距说明一件事:不要按包围盒去估算数据量。按 92 亿像元乘 2 字节算会得到 18 GB,比实际大一个量级。

单幅图的真实体积要看瓦片总和。一个 450×450 的 Int16 瓦片,压缩后在一百多 KB 到几百 KB 之间(赤道附近块大、极区块小),3,749 个加起来在 GB 量级。规划存储时按 GB 而不是按 TB 估算,按属性乘深度乘产品,全套 250 米数据的量级是几百 GB。

§3.4 dtype 与 nodata:两种类型并存

属性层与分位数层是 Int16,无效值 -32768。

uncertainty 层是 UInt16,无效值 65535。

同一个属性目录下,clay_0-5cm_mean.vrt 与 clay_0-5cm_uncertainty.vrt 的波段类型不同。如果有代码写了「按属性统一读成 Int16」,读不确定度层时就会把 65535 溢出成 -1,或者把大值截断。

还有一处更隐蔽的不一致:均值层 VRT 的 SRS 里写的是 GCS_WGS_1984 ellipse,不确定度层写的是 GCS_WGS_1984。两者指的是同一个基准面,但 PROJ 字符串不同,gdalwarp 在拼接两类层时可能判定坐标系不一致而拒绝直接叠加,需要显式 -s_srs 指定。

这不是缺陷,是两批产物分别生成留下的痕迹。知道它存在,比争论它该不该存在有用。

§3.5 数值标度:整数存储,要除以因子

栅格存的是整数,物理量是小数。每个属性有自己的缩放因子。

以 clay 为例,VRT 头里的统计量写着 STATISTICS_MAXIMUM=658、STATISTICS_MEAN=244.5。黏粒含量的物理上限是 100%,所以 658 对应 65.8%,因子是 10。同理 phh2o 存的是 pH 乘 10,32767 的上限对应 pH 3.3 到 10 左右的实际范围。

但因子不是全局统一的。容重存的是 cg/cm³、有机碳密度存的是 hg/m³、有机碳储量存的是 t/ha,各自的换算系数不同。判断某个属性的因子,最稳的办法是看官方图层说明里的单位列,次稳的办法是看 VRT 头的统计极值反推。

这条坑的破坏力在于它不报错。忘除 10,模型照跑,只是所有黏粒含量都大了十倍,土壤质地分类全错,而且从损失曲线上看不出来。

§3.6 目录树长什么样

data/
├── clay/
│   ├── clay_0-5cm_mean.vrt
│   ├── clay_0-5cm_mean/
│   │   ├── tileSG-000-019/
│   │   │   ├── checksum.sha256.txt
│   │   │   └── tileSG-000-019_4-4.tif
│   │   └── tileSG-000-020/
│   ├── clay_0-5cm_Q0.05.vrt
│   ├── clay_0-5cm_uncertainty.vrt
│   └── ...
├── landmask/
│   ├── checksum.sha256.txt
│   └── landmask_SG_052020_COG512.tif
├── wrb/
│   ├── Ferralsols/
│   │   ├── 0.tif
│   │   ├── 0.geotiff
│   │   └── ...
│   └── MostProbable/
└── ocs/
    └── ocs_0-30cm_mean.vrt

顶层还有三样东西常被忽略:data_aggregated/(1 公里与 5 公里聚合版)、legends/(每个属性的 QGIS 样式 qml 与 OGC SLD)、docs/(论文 PDF 与一份旧版协变量清单 CSV)。

§3.5 瓦片编号与投影:为什么不能按经纬度直接算行列

瓦片目录名形如 tileSG-000-019,其中 SG 指 Interrupted Goode Homolosine 投影的南半球分支(Northern/Southern/Global 的分支标识随之不同),后两段是该分支下的行列索引。这个编号体系与经纬度没有线性关系,也不能靠整除推出来。

后果是两件事。第一,想取某个市范围的数据,不能靠「算出对应瓦片号再下载其中几个」来省流量,只能走 VRT 让 GDAL 处理。第二,跨瓦片拼接必须依赖 VRT 或 gdalbuildvrt,手工 merge 容易在瓦片接缝处出现半像元错位。

全库的 VRT 都带 GeoTransform 与 SRS,这两项是唯一权威。按 §1.5 的案例,县域裁切时必须显式传 -t_srs EPSG:4326,否则 GDAL 会按 VRT 原有的等积投影输出,后续与行政边界叠加时会出现数十米的系统性偏移——在 250 米格网上这已经足以跨过一档。

§3.6 缩放因子:读到 658 不是 658%

多数属性按整数存储,真实值需要乘一个缩放因子。clay、sand、silt、bdod、soc 等常用属性的因子是 0.1,所以 658 表示 65.8%,15 表示 1.5。phh2o 的因子不同,nitrogen 与 ocd 的单位也不是百分数。

缩放因子写在 VRT 的 <Scale> 与 <Offset> 元素里,而不是写在目录名或文档首页。用 gdalinfo 能读到,用 numpy 直接读 .tif 读不到——这是 §8 表里「值就是物理量,直接进模型」那一条的根源。稳妥的做法是先 gdal_translate -unscale 落地,或在读取时显式应用 VRT 声明的因子,并把因子一并写进处理日志。

§4 质量层:不确定度怎么读

§4.1 九十区间与相对离散度

三个分位数直接给出 90% 预测区间的下界与上界:Q0.05 与 Q0.95。这不是置信区间——它描述的是「在这套模型与这套协变量下,真实的土壤属性值有九成概率落在这个范围里」,属于预测区间,包含模型误差也包含空间变异。

回到 §1.5 的案例。他们原本想用 uncertainty 层当权重,做「不确定度高就多采样」的布点设计,这个思路在概念上是对的,但直接拿比值当方差用会出事:县里有几片丘陵地的黏粒中位数接近 20%,uncertainty 大约 0.15;而河谷冲积区有些像元中位数只有 3%,uncertainty 冲到 0.6 以上。后者的绝对值波动其实远小于前者,但比值把它抬成了「最不可信的地方」。按比值布点,两百个点会有一大半撒在本来就不需要精查的砂质河滩上。

区间宽度除以中位数,就是 uncertainty 层的内容。它是一个相对量,单位是「倍」。数值 0.5 意味着这个格子的 90% 区间宽度约为中位数的一半。

读法上有个陷阱:宽区间不一定代表预测差。在土壤属性本身变异极大的地方(冲积平原的粒径、火山灰土的磷吸附),即使模型很好,区间也会宽。反过来,在中位数接近零的地方,区间哪怕很窄,比值也会很大。判断一个格子可不可信,看绝对宽度比看相对宽度更可靠。

§4.2 官方对精度的说法

论文的评估结论有两句关键表述:定量指标与前人在全球、洲际、大区尺度上的研究「处于同一水平」;定性评估显示「粗尺度格局被很好地再现」。

这两句话合起来的意思是:大尺度格局可信,小尺度细节不可信。落到实操上,拿 SoilGrids 画一张全国土壤质地分区图,形态是对的;拿它去判断某块地的黏粒是不是超过 30%,就得看那个格子的区间宽度。

论文还明确指出,全球尺度的空间不确定度分析表明「需要更多土壤观测,尤其是在高纬度地区」。这是作者的自我评价,不是外部批评。

§4.3 缺口写在了文件里

VRT 头的元数据里有一行容易被忽略的字段:Outputs_abstract,内容是 no WISE, March 2020 snapshot, NZ and Siberia gaps。

翻译过来:这一版没有并入 WISE 数据库,训练数据是 2020 年 3 月的快照,新西兰与西伯利亚存在缺口。

新西兰与西伯利亚是全球土壤数据的老大难:前者是岛国、剖面少且分散;后者面积巨大、冻土采样成本极高。这两个区域的预测基本靠协变量外推,可信度显著低于欧洲与北美。

§4.4 两百厘米以下没有答案

六个深度止于 200 厘米。这不是因为土壤只有两米深,而是因为 GlobalSoilMap 规范把标准剖面定在 2 米,且大多数土壤调查的描述深度也止于此。

对深根系作物、地基工程、地下水补给评估,200 厘米以下的信息是缺失的,不能靠最后一层的值往下延拓。VRT 里所有深度层的下边界都是硬截断,没有「更深层」的占位。

另一个相关边界是岩层。SoilGrids 的属性层在基岩出露的地方仍然给出数值——因为模型不知道那里没有土。有独立产品给有效土层厚度,但不在本数据集里。把属性层直接乘深度算储量,在浅薄土地区域会系统性高估。

§4.5 什么时候该用 Q0.05 而不是 mean

这是整份数据最实用的一个设计,也是最容易被浪费的一个。

均值层的语义是「期望值」。用它做规划,等于假设误差会互相抵消。但工程与农业决策往往不是对称的:施肥不足会减产,施肥过量会污染;堤坝渗透性低估会溃坝,高估只是多花钱。这类场景要的是保守分位数,不是期望。

豫北砂壤土麦区的一个变量施肥项目就是这么用的。项目要在一块两万亩的连片麦田上生成基肥处方图,约束是氮肥总量不能超,同时不能让任何一块地缺氮。做法是:用 nitrogen 的 0–30 cm 与 30–60 cm 两层,分别取 Q0.05 与 Q0.5,前者算保底供应量,后者算常规供应量,两者之差作为「风险缓冲」,再按地块均摊。

这个用法只有在有分位数层时才成立。如果数据只给均值,项目只能自己假定一个误差范围,而假定出来的范围没有任何空间信息——它无法告诉你哪块地更不确定。

§4.6 它给不了的东西

给不了点位真值。250 米像元的预测中位数,与一个 10 厘米土钻的化验结果,支撑尺度差了六个数量级。拿后者去校验前者,得到的「误差」里绝大部分是尺度不匹配,不是模型错误。

给不了时间变化。这不是时间序列,不能算年际差异、不能做趋势检验。

给不了管理信息。没有土地利用、没有耕作方式、没有施肥历史。wrb 给的是土壤类型,不是土壤状态。

给不了本地校准。ISRIC 不做区域化重训服务,产品是全局一套模型。

§5 获取层:三条路与它们的现状

§5.1 WebDAV 匿名读,不需要注册

入口是 https://files.isric.org/soilgrids/latest/data/。用浏览器打开会看到一个 WsgiDAV 的目录索引页,页面顶部明确写着当前用户是 anonymous、权限 read-write。

这带来一个反直觉的事实:这个 WebDAV 端点允许匿名写入。它显然不是给公众写数据用的,但协议层面没有拦。任何自动化脚本都不该往里面写东西,也不该假设它永远可写。

访问方式有三种:浏览器直接点、WebDAV 客户端挂载、或者用 HTTP 直接 GET 文件。第三种最快,因为目录索引页本身只是 HTML,真正的文件路径可以直接拼。

§5.2 用 VRT 而不是逐个下瓦片

不要下载瓦片。VRT 的存在就是为了让你不用下载瓦片。

GDAL 支持 /vsicurl/ 直接读远程文件,VRT 里的相对路径会被解析成同目录下的 HTTP 请求。所以打开一个远程 VRT 就能按需只取需要的瓦片,代价是每次读都要走网络。

gdalinfo /vsicurl/https://files.isric.org/soilgrids/latest/data/clay/clay_0-5cm_mean.vrt

这条命令会输出投影、尺寸、波段类型与统计量,几秒钟返回,不会下载整幅图。

要长期使用,正确做法是下载 VRT 加需要的瓦片,保持目录结构不变,让 VRT 的相对路径仍然指得到。VRT 只有 1.7 MB,瓦片按需取舍。

§5.3 聚合版:1 公里与 5 公里

data_aggregated/ 下有两个分辨率:1000m 与 5000m。结构比 250 米版简单得多:每个属性每个深度一个 COG 文件,只有 mean,没有分位数,没有不确定度。

5000m 版一个深度一个文件,约 9 MB,六个深度加起来五十多 MB,全球尺度做快速预览、做教学演示、做粗分辨率模型,这一版是最省事的入口。

1000m 版每个深度约 190 MB。它的价值在于:当你不需要 250 米细节但需要比 5 公里更细时,它是唯一选项。

聚合版还多出三个属性:wv0010、wv0033、wv1500,分别是 10、33、1500 千帕吸力下的体积含水率。这三个属性在 250 米版里没有,只在聚合版里有。所以「14 个属性」这个官方数字,只有在算上聚合版时才成立。

§5.4 REST API 目前是停的

ISRIC 在 SoilGrids 介绍页顶部挂了公告:REST API 出现问题,服务已暂停,且无法给出恢复时间表;公告同时说明这个 API 本就是测试阶段,不承诺可用性,并建议改用其他更稳定的访问方式。

核验时 rest.isric.org 的查询端点无响应,与公告一致。

这意味着网上大量教程里那句「一行 API 查任意经纬度的土壤属性」现在跑不通。依赖它的流水线必须改成读 VRT 或读瓦片。这也是 latest 路径的价值所在:文件式接口比服务式接口抗停服。

§5.5 WCS 与 WMS

maps.isric.org 仍在响应,提供 OGC 服务。对 GIS 用户,WCS 可以直接按范围取子集,比下载瓦片省事;对脚本用户,WCS 的 URL 拼装比 /vsicurl/ 麻烦,且取不到分位数层之外的元数据。

两者取舍:要批量、要可复现、要离线,走文件;要交互看图、要少量点位,走服务。

§5.6 校验:每个目录都有清单

每个瓦片目录、每个属性目录、每个顶层目录都有 checksum.sha256.txt。格式是标准的 sha256sum 输出:哈希加两个空格加文件名。

cd clay_0-5cm_mean/tileSG-000-019
sha256sum -c checksum.sha256.txt

这条命令在目录内执行,会逐行校验并打印 OK 或 FAILED。批量校验可以写成循环,对每个 tileSG-* 目录进一次。

注意清单里的文件名是相对路径,跨目录执行会全部报 missing。

§5.7 一次读一个点

用 rasterio 读某个经纬度下的值,需要先把经纬度投影到 IGH:

import rasterio
from rasterio.warp import transform
from pyproj import CRS

url = "/vsicurl/https://files.isric.org/soilgrids/latest/data/clay/clay_0-5cm_mean.vrt"
lon, lat = 114.35, 36.10

with rasterio.open(url) as src:
    xs, ys = transform("EPSG:4326", src.crs, [lon], [lat])
    row, col = src.index(xs[0], ys[0])
    window = rasterio.windows.Window(col - 1, row - 1, 3, 3)
    block = src.read(1, window=window)
    nodata = src.nodata
    valid = block[block != nodata]
    clay_pct = float(valid.mean()) / 10.0 if valid.size else float("nan")

print(clay_pct)

这段代码做了三件容易被省略的事:投影转换、取 3×3 邻域而不是单像元(避免落在无值格子上)、除以 10 还原量纲。

src.index 返回的是行与列,顺序不能反。取 3×3 是为了抗单像元噪声,代价是空间精度下降一个像元。

§5.8 一次裁一块

要给一个县的范围裁图,用 gdalwarp 加 -te 与 -t_srs 最省事:

gdalwarp -t_srs EPSG:4326 \
  -te 113.5 35.2 115.2 36.8 \
  -tr 0.0025 0.0025 \
  -r bilinear \
  /vsicurl/https://files.isric.org/soilgrids/latest/data/clay/clay_0-5cm_mean.vrt \
  clay_0-5_county.tif

-te 用的是目标坐标系下的范围,所以要和 -t_srs 一起看。-tr 0.0025 约等于赤道上的 250 米,在高纬度会变成更窄的实际距离,做面积统计时要留意。

重采样用 bilinear 是安全的,因为属性是连续量。切到 wrb 的概率层时要换 nearest,否则会把类型编码混成不存在的值。

§5.5 匿名可写这件事,比它听起来严重

WebDAV 目录页把访问权限标成 read-write。这不是文档笔误,是服务端真的没拦写入请求。对使用者来说这有两层含义。

第一层是操作风险。任何一个脚本里的 PUT、MOVE、DELETE,只要路径写错一位,改动就落在公共产品目录上。用 rclone 做双向同步尤其危险:同步工具的正确行为是「让目标与源一致」,而这里的「源」是 ISRIC 的产品目录。一次误配的 sync 就足以把本地目录结构投影上去。

第二层是完整性风险。既然目录可写,那么「从官方 WebDAV 下载的文件」这句话,严格说来不构成完整性保证。真正能当凭证的只有两样:一是 checksum.sha256.txt 里的哈希值,二是 VRT 头部写着的模型版本与树的数量。校验哈希是唯一能把「我下的这份」和「ISRIC 发布的那份」绑定起来的手段。这一点在 §1.5 的案例里也被沿用——方案书要求随数据一并归档校验清单,否则复核时无法证明数据未被改动。

顺带一句:/vsicurl/ 直读 VRT 的用法很方便,但它只做范围读取,不做哈希校验,也不缓存校验结果。生产流程里应当先用 wget 落地并核哈希,再用 gdalwarp 处理本地文件。

§5.6 三条路的取舍

场景 该走哪条 理由
一次性裁一个小区域 /vsicurl/ 直读 VRT 无需落地 TB 级数据,GDAL 自动做范围读取
要长期复现的实验 wget 落地 + 核 sha256 只有哈希能把文件与发布批次绑定
要批量取多个属性多层 rclone 同步指定子目录 WebDAV 支持目录列举,比逐文件拼接路径可靠
要接入 GIS 桌面 OGC WCS / WMS 服务端做重投影与裁切,客户端不用装 GDAL
要按点查值 官方 REST 已暂停 只能本地裁切后自己采样

§6 版本与身份:latest 停在哪一年

§6.1 三个时间戳说的是三件事

latest 目录下三类文件的时间戳分布很能说明问题。

250 米瓦片的时间戳集中在 2020 年 4 月前后。这是预测产出的时间。

聚合版(1000m、5000m)的时间戳是 2022 年 6 月。这是聚合重算的时间。

各目录的 checksum.sha256.txt 时间戳是 2023 年 1 月底到 2 月初。这是清单重签的时间。

§1.5 的案例里,方案书原本写「采用 SoilGrids 最新版本(2026 年下载)」,这句话在评审会上被退回过一次。评审专家指出:2026 年下载不等于 2026 年的土壤。这个县最后在方案里改成「采用 ISRIC SoilGrids 2.0 产品,瓦片产出批次 2020 年 4 月」,并附上 VRT 头部的模型版本号作为凭证。改一行字,把一项无法答辩的表述变成了一项可追溯的表述——这是 latest 这种路径别名最容易被忽视的代价。

看到一个 2023 年的清单,不能推断数据是 2023 年的。清单重签可能只是换了哈希算法或补了漏项。

§6.2 latest 是别名,不是版本

路径里的 latest 是一个稳定别名。它的设计意图是让引用链接长期有效,代价是内容会在某次整版更新时整体替换。

对论文写作,这既是好事也是风险。好处是不用维护版本号;风险是三年后有人重跑你的代码,拿到的可能是另一版数据。

稳妥做法是引用时同时写清版本与访问日期,并把用到的 VRT 下载存档。VRT 有 1.7 MB,存档成本极低,而它完整记录了模型参数与训练快照,是最小可复现单元。

§6.3 与 WoSIS 的关系:上游与下游

WoSIS 是数据库,SoilGrids 是它的一个消费者。WoSIS 持续更新(2023 快照、之后还会有新的),SoilGrids 只在整版重跑时同步一次。

所以「SoilGrids 是最新全球土壤数据」这句话在 2021 年成立,在 2026 年不成立。它是一份用 2020 年数据训练、2021 年发表、之后没再全量重跑的产物。

想用更新的剖面数据,得去 WoSIS 下载点数据自己做插值,或者等下一次整版重跑。

§6.4 与 SoilGrids1km 的关系:前辈

2014 年的 SoilGrids1km 是这一系列的第一代,分辨率 1 公里,用的是随机森林点预测,没有分位数输出,训练样本约 13 万条剖面。

从 1 公里到 250 米,从单值到分位数,从随机森林到分位数回归森林,两代之间的差别不只是精度,是产品哲学:第一代给答案,第二代给答案加怀疑。

现在还有论文与教程在引用 1km 版的结果,检查方法是否过时,第一步是看它引的是 2014 还是 2021。

§6.5 引用哪一篇

主引用是 Poggio 等 2021 年发表在 SOIL 上的方法论文,DOI 10.5194/soil-7-217-2021,卷 7、页 217–240,2021 年 6 月 14 日出版。

三个含水率属性(wv0010、wv0033、wv1500)另有专文:Turek 等 2023 年发表在 International Soil and Water Conservation Research 上的文章,讲用 WoSIS 映射 100、330、15000 厘米吸力下的体积含水率。

训练数据的引用是 Batjes 等的 WoSIS 快照论文,2024 年那篇对应 2023 快照,DOI 10.5194/essd-16-4735-2024。

如果只引一条,引方法论文;如果用到含水率,加引 Turek;如果讨论数据来源与许可限制,加引 Batjes。

§7 阅读本节前:三种评价错位

§7.0 先摆正评价框架

SoilGrids 最常被批评的三件事,恰恰是它设计上就放弃了的三件事。在拿任何标准去评价它之前,得先确认那个标准是不是用对了地方。

§7.1 错位一:拿点观测去验证栅格

一个常见的验证流程是:找几十个有化验数据的样点,取对应像元的预测值,算 RMSE,然后宣布「误差很大」。

这个流程的问题在支撑尺度。一个样点代表几十立方厘米的土,一个像元代表 6.25 公顷、深 5 厘米、约 3,000 立方米的土体。前者是后者的十亿分之一。用前者去否定后者,等于用一根体温计去质疑一张气候图。

正确的验证设计是:在像元尺度上取多个样点混合成一个复合样,或者用块克里金把点数据升尺度到像元,再比较。这样得到的误差才是模型误差,而不是尺度失配误差。

§7.2 错位二:拿分类精度评价连续属性

SoilGrids 的属性层是连续量,评价指标应该是偏差、均方根误差、区间覆盖率(真实值落在 90% 区间内的比例)。

用总体精度、Kappa 系数去评价它,是把回归当分类。唯一适合用分类指标的是 wrb 层,而 wrb 层给的是概率,正确的评价是 Brier 分数或对数损失,不是混淆矩阵。

区间覆盖率这个指标值得单独说。它问的不是「预测准不准」,而是「你给的区间诚实不诚实」:如果官方说 Q0.05–Q0.95 覆盖九成真值,那么在一个足够大的独立样本上,落在区间外的比例应该接近 10%。偏低说明区间太宽(保守但浪费信息),偏高说明区间太窄(自信过头,下游会误判风险)。这个指标的好处是它不需要你重新训练模型,只需要一批像元尺度的独立真值,就能对产品的「硬度」下判断。

§1.5 的案例在这一步遇到了实际困难:两百个样点里真正能当像元尺度真值用的不到三十个(其余是单点土钻,尺度太细)。三十个点算覆盖率,置信区间宽到没有结论。他们的处理是把覆盖率检验改成「分区检验」——按地貌单元分三组,每组各自算覆盖率,看是否有系统性偏离。这不能替代全量检验,但能回答「这套产品在我们县是不是明显偏乐观」这个更粗但更有用的问题。

§7.3 错位三:要求一个 2020 年的产品回答 2025 年的问题

土壤是慢变量,十年尺度的变化在多数地区小于模型误差,所以「2020 年的图能不能代表现在」这个问题,在自然土壤上答案通常是能;在集约农区、复垦区、城市扩张边缘,答案是可能不能。

判断标准不是年份,是土地利用是否发生了变化。有变化的地方,土壤剖面在几年内就能被翻转、压实、掺混。这类区域用 SoilGrids 要先用地类变化数据做掩膜。

另一个常被忽略的错位是空间错位:产品用的是等积投影的 250 米格网,而研究区常用的行政边界、流域边界、田块边界与这个格网毫无关系。直接按行政单元做分区统计,等于把每个像元按「中心点落在哪个县」整块分配,边界上会有系统性偏斜。正确做法是按面积加权做面域统计,而不是按像元中心点归属。这一步在县级尺度上误差通常不到 1%,但在乡镇、村级尺度上能到 5% 以上,足以改变分档结果。

§7.4 DAIMS 简表

维度 情况 说明
数据来源可溯 强 上游 WoSIS 逐条记录带提供方与许可
方法透明 强 论文给了模型、协变量、验证与不确定度方法
版本可辨 中 latest 别名长期有效,但版本号只写在 VRT 元数据里
更新节奏 弱 2020 年产出后无整版重跑,无 changelog
不确定度 强 分位数层与相对不确定度层同时提供
空间完整度 中 全球陆地,但新西兰、西伯利亚有缺口
时间信息 不适用 静态属性图,无时间维
许可清晰度 强 CC-BY 4.0,介绍页与 FAQ 均写明
访问稳定性 中 文件接口稳定,REST API 停服
文档完备度 中 论文详尽,但目录结构、缩放因子分散在多个页面

§8 常见误读与避坑清单

常见说法 实际情况 证据
「13 个属性目录就是 13 个属性」 13 个目录里只有 11 个是连续属性,landmask 是掩膜,wrb 是分类概率 data/ 根目录清单
「官方说有 14 个属性,下载下来少三个」 缺的三个 wv0010、wv0033、wv1500 只在 data_aggregated/ 的 1 km 与 5 km 版里 两个聚合版目录各有 14 个子目录
「每个深度 4 个产品」 是 5 个:mean、Q0.05、Q0.5、Q0.95、uncertainty 任一属性子目录列出 30 项(6×5)
「分位数目录叫 Q05」 叫 Q0.05,点号是名字的一部分 clay/clay_0-5cm_Q0.05/ 返回 200,Q05 返回 404
「ocs 也有 6 个深度」 ocs 只有 0-30cm 一个深度,共 5 个产品 ocs/ 目录只有 5 项
「wrb 也是分层栅格」 wrb 没有 VRT、没有深度维,每类由 0.tif–99.tif 拼成,另有一份 .geotiff 重复 wrb/Ferralsols/ 目录内容
「训练样本 23 万条」 这一版用的是约 24 万条剖面、逾 92 万个土层;23 万是 WoSIS 2023 快照的剖面数,不是训练集 Poggio 2021 摘要;Batjes 2024 §4.1
「uncertainty 是标准差」 是四分位距与中位数之比,无量纲,中位数趋零时发散 官方图层说明;uncertainty 层为 UInt16
「栅格是经纬度网格,可以直接按经纬度算行列号」 是 Interrupted Goode Homolosine 等积投影,必须先做坐标变换 VRT 的 SRS 与 GeoTransform
「值就是物理量,直接进模型」 多数属性按 10 倍整数存储,clay 的 658 对应 65.8% VRT 头 STATISTICS_MAXIMUM
「latest 就是最新一版,2026 年下的就是 2026 年的数据」 瓦片是 2020 年产出,聚合版 2022 年重算,清单 2023 年重签 各目录 Last modified
「WebDAV 是只读的」 匿名用户权限为 read-write,协议层没拦写入 目录页 access: read-write
「用 REST API 查点最方便」 官方公告已暂停该服务且无恢复时间表 ISRIC 介绍页顶部公告

这张表里最贵的一条,是 §1.5 那个县真正踩到的那条。

§1.5 的案例最后算了一笔账:两百个采样点,若按常规「用采样值校正栅格残差」的做法,每个点能校正的影响半径大致是 1 公里量级——因为 250 米栅格的误差在空间上是高度自相关的,相邻像元往往是同一批训练剖面外推出来的,误差不独立。两百个点摊到 1,800 平方公里,覆盖率不足 11%。也就是说,那笔采样费买回的是「局部校正」,不是「全县标定」。他们最终把方案改成两段:用 SoilGrids 直接出全县处方图的相对分级(分五档,只保证档间有序),用两百个点做分档阈值的本地校准。不动绝对值,只动分界线——这才是预算和精度能对上的做法。

这也解释了为什么本文反复强调「先看它是什么,再看它准不准」。栅格产品的合理用法,往往不是把它当数值,而是把它当排序。
| 「分辨率 250 米意味着定位精度 250 米」 | 250 米是像元边长,不是位置精度;投影断口附近平面邻接不等于地理邻接 | IGH 投影的分瓣特性 |

§9 它在本库里的位置

§9.1 与 ERA5、GHCNd 的分工

ERA5 单层再分析给的是大气状态,GHCNd 给的是站点观测,SoilGrids 给的是地表以下的介质属性。三者叠起来,才凑成一个完整的地表系统描述:气候驱动、观测约束、下垫面参数。

它们的时间性质完全不同。ERA5 是逐小时的,GHCNd 是逐日的,SoilGrids 没有时间维。做陆面模型时,前两者是输入序列,后者是静态参数表。混用时最容易犯的错是把 SoilGrids 也当成可以逐月更新的变量。

§9.2 与 EuroSAT 的分工

两者都是栅格,都是全球或大洲尺度,但一个是分类任务,一个是回归任务。

EuroSAT 的瓦片是影像,任务是从像素判类别;SoilGrids 的像元是属性值,任务是把值放进模型。前者关心空间泄漏,后者关心尺度失配。

一个有意思的连接是:做土地利用分类时,SoilGrids 的质地层可以作为后验约束——某种作物不会长在某种质地上。这种用法在本库里是跨条目的,需要在流水线里自己接。

§9.3 与 GBIF、世界银行数据的连接

GBIF 的物种出现记录带经纬度,落到 SoilGrids 的像元上,就能给每条记录附一组土壤属性。这是生态位建模里最常见的用法之一:把土壤作为环境变量,解释物种分布。

世界银行的国别指标里有一批与农业、土地退化相关的量,SoilGrids 可以作为这些指标的物理基础层——例如用 ocs 层算一个国家的土壤碳储量,与世行的农业增加值放在一起看。

§9.4 检索路径

要找「全球尺度的自然地理底图」,本库里目前只有这一条。要找「气象驱动」,去 ERA5;要找「地面观测」,去 GHCNd;要找「地表覆盖分类基准」,去 EuroSAT。

土壤这个方向在库内是空白,SoilGrids 是第一块砖。后续可以补的方向有:WoSIS 点数据(上游)、HWSD(同类对照)、SoilGrids 的 30 弧秒镜像(第三方重采样)。

§10 为什么它能持续,以及 AI 使用声明

§10.1 生存逻辑

SoilGrids 能活下来,靠的不是精度,是三件事。

第一是可引用。它有一篇发在 SOIL 上的方法论文,有 DOI,有明确的作者列表,有可复现的方法描述。这让它在学术引用体系里是一个合法节点。

第二是可下载。它没有登录墙、没有申请表、没有使用协议弹窗。WebDAV 匿名读,一个 URL 就能拿到全球数据。这在土壤数据领域是罕见的——同领域的很多产品要么要邮件申请,要么明确禁止再分发。

第三是可组合。305 个产品目录按属性、深度、统计量三维正交拆分,任何子集都能单独下载、单独引用、单独校验。想只用 pH 的 0–5 cm 均值,就只下那一个 VRT 和它引用的瓦片,不需要碰其他 304 个。

§10.2 它撑不住的地方

REST API 的停服说明了一件事:服务式接口的可持续性远低于文件式接口。一个团队三个人维护的 API,一次故障就能停几个月;而一个静态文件目录,只要磁盘在、域名在,就能一直读。

更新节奏是另一个软肋。整版重跑需要重算全球 305 个产品、每个几 GB,算力与人力成本都不低。这决定了它不可能像气象再分析那样每年更新。

§10.3 用它的三条纪律

第一,存档 VRT。VRT 是这份数据的最小可复现单元,1.7 MB 买一个版本锁定,值得。

第二,先查 dtype 与缩放。每个属性读进来先看 src.dtypes、src.nodata、src.statistics(),再决定除以几。别信记忆。

第三,把不确定度一起带走。只下 mean 层等于扔掉了这份数据一半的价值。至少把 uncertainty 层一起下,做敏感性分析时它是现成的扰动源。

§10.4 AI 使用声明

本文的文本由 AI 辅助撰写,事实核验基于 ISRIC 官方介绍页、SoilGrids FAQ、WebDAV 目录清单、VRT 文件头元数据、Poggio 等 2021 年方法论文摘要与 Batjes 等 2024 年 WoSIS 论文。文中所有目录名、文件数、行列数、dtype、无效值、时间戳均来自文件系统与文件头的直接读取;属性数量、剖面数量、协变量数量来自官方页面与论文。未做全量下载,未做逐像元统计,未对预测精度做独立复算。

附录 A 属性速查

目录名 中文 每深度产品数 深度数 量纲要点
bdod 容重 5 6 按 cg/cm³ 存储,需换算
cec 阳离子交换量 5 6 按 mmol©/kg 存储
cfvo 粗碎屑体积占比 5 6 体积百分比
clay 黏粒含量 5 6 按 10 倍存储,658 即 65.8%
sand 砂粒含量 5 6 按 10 倍存储
silt 粉粒含量 5 6 按 10 倍存储
nitrogen 全氮 5 6 按 cg/kg 存储
soc 有机碳含量 5 6 按 dg/kg 存储
ocd 有机碳密度 5 6 按 hg/m³ 存储
ocs 有机碳储量 5 1(0–30 cm) 吨/公顷
phh2o 水浸 pH 5 6 按 10 倍存储
wrb 土壤类型概率 100 个 tif/类 无 30 类加 MostProbable
landmask 陆表掩膜 1 个文件 无 单幅 COG,约 684 MB

附录 B 术语表

术语 含义
WoSIS ISRIC 维护的全球土壤剖面数据库,SoilGrids 的训练数据来源
GlobalSoilMap 国际土壤学联合会下的工作组,制定了六个标准深度的规范
分位数回归森林 随机森林的变体,能预测条件分布的多个分位数而非仅均值
Q0.05 / Q0.95 5% 与 95% 分位数,构成 90% 预测区间的上下界
不确定度层 四分位距与中位数之比,无量纲的相对离散度
Interrupted Goode Homolosine 等积伪圆柱投影,分瓣以保持大陆连续
VRT GDAL 虚拟栅格,用 XML 把多个瓦片拼成一幅逻辑上的整图
瓦片(tile) 本数据中为 450×450 像素的 GeoTIFF 子文件
alr 加性对数比变换,处理成分数据(粒径三组分)的标准方法
成分数据 各分量和为定值的数据,粒径百分比是典型例子
支撑尺度 一个观测或预测所代表的体积或面积,比较不同数据前必须先对齐
预测区间 描述单次预测不确定性的区间,与参数的置信区间不同
WRB 世界土壤资源参比基础,国际通用的土壤分类系统
COG Cloud Optimized GeoTIFF,支持分块与概览的远程读取格式
断口(interruption) 分瓣投影中人为切开的经线,两侧平面相邻但地理不相邻

附录 C 常见误读 FAQ

问:为什么不直接给 GeoTIFF 整图,非要搞 VRT 加瓦片?

因为整幅图在 250 米下是 GB 量级,而绝大多数用户只需要一个县、一个流域。VRT 让「按需取块」成为默认行为,瓦片是它的实现方式。

问:mean 和 Q0.5 有什么区别,不是差不多吗?

在对称分布下接近,在偏态分布下差得远。土壤属性普遍右偏,均值会被高值尾部拉高,中位数更稳。要保守估计用 Q0.05,要期望用 mean,要稳健中心用 Q0.5。

问:能不能把六个深度加起来算整剖面储量?

不能直接加。每层给的是该层的含量或密度,算储量要乘层厚再乘容重,而容重本身也有误差。产品里已经给了 ocs,那是官方算好的 0–30 cm 储量,直接用比自算可靠。

问:新西兰为什么没有数据?

VRT 元数据自述 NZ and Siberia gaps。这两个区域剖面稀少,模型只能靠协变量外推,官方选择留空而不是给一个不可信的值。

问:能不能拿它做 30 米分辨率的图?

不能。降尺度需要额外的局部数据与模型,SoilGrids 没有提供降尺度产品。用双线性插值把 250 米插成 30 米,只是把同样的信息画得更细,不增加任何空间细节。

问:uncertainty 层的数值为什么有的特别大?

因为它是比值。中位数接近 0 的格子上,分母趋零,比值发散。看到上万的值先看对应的 mean 层是不是接近 0,而不是怀疑数据坏了。

问:wrb 的 .tif 和 .geotiff 有什么区别?

体积一致,内容一致,只是扩展名不同。挑一种用即可,不要两个都下载。

问:REST API 停了,还有没有官方的点查询服务?

介绍页建议改用其他访问方式。WCS 仍在,可以按范围取子集;点查询需要自己按经纬度投影后读像元。

编辑说明

核验时间 2026-10-29。方法:逐个打开 ISRIC 官方介绍页、SoilGrids FAQ、WebDAV 各层目录索引(data/ 根、13 个属性目录、clay 的 30 个子产品、单个 tileSG-* 目录、wrb/ 与 wrb/Ferralsols/、landmask/、docs/、legends/、data_aggregated/1000m 与 5000m),读取 clay_0-5cm_mean.vrt 与 clay_0-5cm_uncertainty.vrt 的头部元数据,下载并计数一个完整 VRT 的源文件条目;交叉核实 Poggio 等 2021 与 Batjes 等 2024 两篇论文摘要与相关段落。未下载栅格数据本体,未做逐像元统计与精度复算。

与常见转述不一致处已在正文逐条更正,主要有四处:官方「14 个属性」只在聚合版成立,250 米版是 11 个;每个深度的产品数是 5 个而非 4 个,目录名写 Q0.05 而非 Q05;训练样本是约 24 万条剖面、92 万个土层,不是 23 万;REST API 已由官方公告暂停,不能作为可用入口描述。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • nasa-exoplanet-archive — 共享标签:多模态 / 评测基准 / 图像分类
  • randolph-glacier-inventory — 共享标签:多模态 / 评测基准 / 图像分类
  • gaia-dr3 — 共享标签:多模态 / 评测基准 / 图像分类
  • cern-cms-opendata — 共享标签:多模态 / 评测基准 / 图像分类
  • sdss-dr20 — 共享标签:多模态 / 评测基准 / 图像分类
  • esa-worldcover — 共享标签:多模态 / 评测基准 / 图像分类
  • opentme — 共享标签:多模态 / 评测基准 / 图像分类
  • biomedica — 共享标签:多模态 / 评测基准 / 图像分类
  • qmugs — 共享标签:多模态 / 评测基准
  • nejm-bench — 共享标签:多模态 / 评测基准 / 图像分类

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集