侧边栏壁纸
博主头像
YouGIS博文 - YouGIS顽石工坊 博主等级

行动起来,活在当下

  • 累计撰写 60 篇文章
  • 累计创建 33 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

中国1:100万植被类型空间分布数据(免费):侯学煜院士权威图集数字化 · 11大类/54亚类/796群系完整技术说明

Administrator
2026-07-21 / 0 评论 / 0 点赞 / 3 阅读 / 0 字

中国1:100万植被类型空间分布数据(免费):侯学煜院士权威图集数字化 · 11大类/54亚类/796群系完整技术说明

主页:yougis.com.cn
博文:
blog.yougis.com.cn
工具:
yougis.com.cn

GIS数据:yougis.com.cn/res/home

qr-wechat.jpg

扫码获取更多精彩内容

gh_1b60b293e57f_430.jpg

一键获取海量空间数据

摘要:植被覆盖度、碳储量、生物多样性研究的必备权威底图——侯学煜院士《1:100万中国植被图集》栅格版。覆盖 11 大类/54 亚类/796 群系,1km 分辨率,846 个 Value 代码,配套 12 类配色 CSV 与 Python 可视化代码,数据包完全免费获取。

关键词:中国植被图集 · 1:100万植被类型 · 群系代码 · ArcGIS配色 · CIELAB转sRGB · 侯学煜 · resdc

数据代码Vegetation-1M

系列索引18.数字高程模型 DEM | 20.中国100万植被类型(本文)


0. 数据档案

参数

数据集名称

中国 1:100 万植被类型空间分布数据

原始来源

《1:1 000 000 中国植被图集》

主编

侯学煜 院士

编制单位

中科院牵头,53 个单位、250 余位专家联合

出版

2001 年 5 月,科学出版社

数据现势性

详细反映 1990 年代植被状况

数据格式

GeoTIFF(int32)

空间参考

WGS84(EPSG:4326)

空间分辨率

约 1 km(0.00833° 经纬度网格)

覆盖范围

中国陆地全境

Value 编码总数

846 个(含主码、附码、长附码、非植被码)

大类数

11(不含"其他")

亚类数

54(植被型)

群系数

796(群系和亚群系)

优势种数

2000+

来源平台

资源环境科学与数据平台 (resdc.cn)

YouGIS 整理

微信公众号 YouGIS顽石


1. 免费获取方式

数据由微信公众号 YouGIS顽石 整理分享,完全免费。两种方式任选其一。

方式一:YouGIS 公众号关键词(推荐)

关注微信公众号 YouGIS顽石,发送关键词:

植被类型分布   → 完整 1:100 万植被类型数据包(TIF + 代码表 + 配色 + 制图)

系统自动回复 百度网盘 + 夸克网盘 双链接。

方式二:YouGIS 数据助手

平台

入口

微信小程序

搜索「YouGIS数据助手」

PC 端

https://yougis.com.cn/res/home

支持在线查看数据元信息(分辨率、坐标系、覆盖范围),适合批量检索。


2. 数据背景

1.1 图集来历

本数据集来源于《1:1 000 000 中国植被图集》,由著名植被生态学家侯学煜院士主编,中国科学院有关研究所、有关部委和各省区有关部门、高等院校等 53 个单位 250 多位专家共同编制,2001 年 5 月由科学出版社正式出版,国内外公开发行。

1.2 学术地位

本图集是我国植被生态学工作者 40 多年来继《中国植被》等专著出版后又一项总结性成果,是国家自然资源和自然条件的基本图件。它详细反映了 1990 年代(出版时间是 2001 年)我国 11 个植被类型组、54 个植被型的 796 个群系和亚群系植被单位的分布状况、水平地带性和垂直地带性分布规律,同时反映了我国 2000 多个植物优势种、主要农作物和经济作物的实际分布状况及优势种与土壤和地面地质的密切关系。

由于本图集属于现实植被图图种,故反映出我国植被近期的质量状况。

1.3 图集规格

图集为四开本,280 页,包括:

  • 1:1 000 000 分幅的中国植被类型图 60 幅

  • 1:10 000 000 的中国地势图、中国植被图和中国植被区划图各 1 幅

  • 中英文对照图例

1.4 应用价值

本图集是国家自然资源和自然地理特征的基本图件,是研究全球环境变化、生物多样性、环境保护与监测等必不可少的科学资料和重要依据。


3. 技术规格

2.1 栅格参数

数据格式:GeoTIFF
数据类型:int32(最大 Value=58611,不可用 int8/int16)
空间参考:WGS84 / EPSG:4326
空间分辨率:0.00833°(约 1 km × 1 km)
覆盖范围:中国陆地全境
Value 字段含义:植被类型代码(详见 §3)
NoData:0

2.2 代码表结构

植被类型代码表.xlsx 共 846 行记录,字段:

字段

含义

示例

Value

栅格像素值(int32)

1 / 1001 / 57310 / 9807

Code

字母数字代码

1 / 1a / 573j / 水系

大类

11 个植被类型组

针叶林

亚类

54 个植被型

寒温性针叶林

群系

796 个群系和亚群系

兴安落叶松林


4. 分类体系与编码规则

3.1 三级分类体系

11 个植被类型组(大类)       ← 顶层
  └── 54 个植被型(亚类)     ← 中层
       └── 796 个群系/亚群系  ← 基础单位(栅格 Value 直接对应)

涉及 2000 多个植物优势种、主要农作物和经济作物。

3.2 11 大类总览

#

植被类型组

Value 数

亚类数

Hex 配色

代表性分布

1

针叶林

83

5

#00A91D

大兴安岭、横断山区、东南丘陵

2

针阔叶混交林

13

2

#00FB7F

东北东部、亚热带山地

3

阔叶林

143

10

#A5FDBE

温带落叶林、亚热带常绿林、热带雨林

4

灌丛

102

7

#00DA30

温带落叶灌丛、亚高山灌丛

5

草丛

29

2

#00FBAD

温带草丛、亚热带热带草丛

6

草原

95

4

#A7F9FF

内蒙古高原、青藏高原

7

草甸

107

5

#00A91D ⚠️

温带草甸、高寒草甸、盐生草甸

8

沼泽

27

4

#5F9DFD

三江平原、若尔盖、红树林

9

高山植被

17

3

#FFB2FD

青藏高原高山带

10

荒漠

102

8

#CBCBCB

西北干旱区、高寒荒漠

11

栽培植被

96

8

#FFCF68

全国农田(一年一熟~三熟)

另有 “其他” 类(Value=0 及 9801~9908 等,共 32 个 Value),为水体、冰雪、裸岩、城市等非植被地物。

3.3 Value 编码规则(重要)

栅格像素值(Value)有四段:

Value 范围

含义

示例

主码

1 ~ 586

群系/亚群系基础单位

Value=1 → 兴安落叶松林

附码

1000 ~ 9999

主码下的细分(亚群系)

Value=1001 → Code=1a

长附码

10000 ~ 58611

1 位编号不够用的扩展

Value=57310 → Code=573j

非植被

9801 ~ 9908

水体/裸地等

Value=9807 → Code=水系

附码不影响大类统计——做汇总时按"Value → 亚类 → 大类"对照表 group 即可。

关键提示:Value 最大到 58611,存储时必须使用 int32;误用 int8(max 127)或 int16(max 32767)会导致附码和长附码全部溢出。


5. 配色方案

4.1 配色来源与 CSV 字段

数据包内 植被大类配色.csv 已给出 12 大类的完整配色,字段如下:

字段

含义

类型

说明

类别

大类名

str

11 大类 + “其他”

L

明度

float

CIELAB 明度通道

a

红绿轴

float

CIELAB a* 通道

b

黄蓝轴

float

CIELAB b* 通道

R

int

sRGB(0-255)

G

绿

int

sRGB(0-255)

B

int

sRGB(0-255)

Hex

十六进制

str

#RRGGBB

CSV 中 Lab 列源自 ArcGIS .lyr 文件(CIELAB 色彩空间存储),R/G/B/Hex 列已按 D65 白点完成转换。直接使用 R/G/B/Hex 即可,无需自己转换

CSV 原始数据预览:

类别,L,a,b,R,G,B,Hex
其他,59.614,71.599,36.824,255,70,84,#FF4654
栽培植被,85.666,6.550,57.045,255,207,104,#FFCF68
沼泽,64.608,8.812,-53.614,95,157,253,#5F9DFD
灌丛,75.507,-81.840,64.406,0,218,48,#00DA30
...

4.2 从 CSV 读取配色的代码

import csv

def load_color_scheme(csv_path='植被大类配色.csv'):
    """从数据包内的配色 CSV 读取 12 大类配色"""
    scheme = {}
    with open(csv_path, encoding='utf-8-sig') as f:  # utf-8-sig 处理 BOM
        for row in csv.DictReader(f):
            scheme[row['类别']] = {
                'L':   float(row['L']),
                'a':   float(row['a']),
                'b':   float(row['b']),
                'R':   int(row['R']),
                'G':   int(row['G']),
                'B':   int(row['B']),
                'Hex': row['Hex'],
            }
    return scheme

color_scheme = load_color_scheme()
print(f"共读取 {len(color_scheme)} 个大类配色")
for name, c in color_scheme.items():
    print(f"  {name:<12} {c['Hex']}  RGB({c['R']:>3},{c['G']:>3},{c['B']:>3})  "
          f"Lab({c['L']:.1f},{c['a']:.1f},{c['b']:.1f})")

4.3 12 大类完整配色表(读取自 CSV)

植被大类配色.png

#

大类

L*

a*

b*

R

G

B

Hex

1

针叶林

59.66

-68.10

54.95

0

169

29

#00A91D

2

针阔叶混交林

86.84

-78.92

44.87

0

251

127

#00FB7F

3

阔叶林

92.45

-38.80

21.63

165

253

190

#A5FDBE

4

灌丛

75.51

-81.84

64.41

0

218

48

#00DA30

5

草丛

87.38

-72.64

22.99

0

251

173

#00FBAD

6

草原

93.04

-23.35

-10.74

167

249

255

#A7F9FF

7

草甸

59.73

-67.54

55.16

0

169

29

#00A91D ⚠️

8

沼泽

64.61

8.81

-53.61

95

157

253

#5F9DFD

9

高山植被

82.29

40.70

-25.38

255

178

253

#FFB2FD

10

荒漠

81.84

0.00

0.00

203

203

203

#CBCBCB

11

栽培植被

85.67

6.55

57.04

255

207

104

#FFCF68

12

其他

59.61

71.60

36.82

255

70

84

#FF4654

4.4 已知问题:针叶林与草甸同色

从 CSV 可直接观察到,针叶林与草甸的 RGB 完全相同(均为 #00A91D,RGB 都是 0,169,29)。原因是两者在 CIELAB 空间中的值(L≈59.7、a≈-68、b≈55)极为接近,经 D65 白点转换后恰好舍入到同一 sRGB 整数像素。

CSV 原始值对比:

类别,L,a,b,R,G,B,Hex
针叶林,59.664,-68.095,54.947,0,169,29,#00A91D
草甸,  59.727,-67.539,55.156,0,169,29,#00A91D   ← 完全相同

解决方案(按优先级):

  1. 读取 CSV 后,在 color_scheme 中覆盖草甸:color_scheme['草甸'] = (154, 205, 50)(#9ACD32 黄绿)

  2. 按 54 个亚类重新分配色卡(更细致,但工作量大)

  3. 仅展示其中一类时无需处理

💡 CSV 已含转换结果.lyr 文件本身存的是 CIELAB 值,但数据包内的 植被大类配色.csv 已经把 Lab 和转换后的 sRGB 都列出来了,直接用 R/G/B/Hex 列即可,不需要在代码里再实现一遍 CIELAB → sRGB 转换。


6. 数据包文件构成

完整数据包含 6 部分

#

部分

文件

大小

说明

1

成果数据

植被类型.tif

GeoTIFF 栅格主文件

2

类型代码表

植被类型代码表.xlsx

846 行

Value-Code-大类-亚类-群系对照

3

制图成果

vege.jpg中国100万植被类型空间分布数据图.png

全国植被图可视化预览

4

配色说明

植被大类配色.csv植被大类配色.png

12 大类 Lab/RGB 配色表与色卡图

5

配色方案

植被大类配色_10.2.lyr植被大类配色方案_10.2.mxd

ArcGIS 10.2 工程文件

6

数据说明

0-数据说明-必读.txt数据来源.docx

数据来源与使用说明

5.1 .lyr 文件加载常见问题

问题 1:图层显示红色感叹号
原因:数据源路径失效(如 .lyr 中保存的源路径为 F:\植被类型.tif,本机无 F: 盘)。
解决:图层右键 → Properties → Source → Set Data Source → 重新指向本机 植被类型.tif

问题 2:.lyr 无法打开
原配色文件为 ArcGIS 9.x 格式,部分新版本不兼容。
解决:使用数据包内 _10.2.lyr 版本(已转换为 ArcGIS 10.2 兼容格式,向下兼容 10.2-10.8)。

问题 3:颜色显示异常(过饱和或失真)
原因:颜色采用 CIELAB 色彩空间存储,部分软件转换异常。
解决:参考 §4.2,按 Hex 值在 Layer Properties → Symbology → Unique Values 中手动设置。


7. Python 实战代码

6.1 加载与基本信息

import rasterio
import numpy as np

with rasterio.open('植被类型.tif') as src:
    arr = src.read(1)
    print(f"CRS: {src.crs}")
    print(f"Size: {src.width} × {src.height}")
    print(f"Resolution: {src.res}")
    print(f"BBox: {src.bounds}")
    print(f"dtype: {src.dtypes[0]}")

    unique_vals = np.unique(arr)
    print(f"Unique Values: {len(unique_vals)}")
    print(f"Value range: {unique_vals.min()} ~ {unique_vals.max()}")

6.2 加载代码表

import openpyxl
from collections import defaultdict

def load_code_table(xlsx_path='植被类型代码表.xlsx'):
    """加载 Value → 大类/亚类/群系 对照表"""
    wb = openpyxl.load_workbook(xlsx_path, data_only=True)
    ws = wb['value-code']
    mapping = {}
    for row in ws.iter_rows(min_row=2, values_only=True):
        if row[0] is None:
            continue
        value = int(row[0])
        mapping[value] = {
            'code':     row[1] or '',
            '大类':     row[2] or '',
            '亚类':     row[3] or '',
            '群系':     row[4] or '',
        }
    return mapping

code_table = load_code_table()
print(f"代码表共 {len(code_table)} 条记录")

# 反向映射:大类 → Value 列表
big_to_values = defaultdict(list)
for v, info in code_table.items():
    if info['大类']:
        big_to_values[info['大类']].append(v)

6.3 按大类统计面积

# 按 1 km²/像素 估算(WGS84 下高纬度误差较大,严谨请投影后统计)
print(f"{'大类':<15} {'Value数':>8} {'像素数':>12} {'面积估算(km²)':>15}")
print('-' * 55)
for big_class in sorted(big_to_values.keys(),
                        key=lambda x: -len(big_to_values[x])):
    values = big_to_values[big_class]
    count = int(np.isin(arr, values).sum())
    print(f"{big_class:<15} {len(values):>8} {count:>12,} {count:>15,}")

# 严谨统计:投影后用 rasterstats
# import rasterstats
# stats = rasterstats.zonal_stats(boundary_shp, '植被类型_albers.tif',
#                                  categorical=True)

6.4 按配色方案渲染全国植被图

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import csv

# 从数据包内 植被大类配色.csv 读取 12 大类配色
color_scheme = {}
with open('植被大类配色.csv', encoding='utf-8-sig') as f:
    for row in csv.DictReader(f):
        color_scheme[row['类别']] = (int(row['R']), int(row['G']), int(row['B']))

# 针叶林与草甸同色(CSV 原值都是 0,169,29),手动覆盖草甸以区分
color_scheme['草甸'] = (154, 205, 50)  # #9ACD32 黄绿

rgb_arr = np.zeros((*arr.shape, 3), dtype=np.uint8)
for big_class, (r, g, b) in color_scheme.items():
    values = big_to_values.get(big_class, [])
    if not values:
        continue
    mask = np.isin(arr, values)
    rgb_arr[mask] = [r, g, b]

plt.figure(figsize=(14, 12))
plt.imshow(rgb_arr)
plt.title('中国 1:100 万植被类型空间分布', fontsize=15, pad=15)
plt.axis('off')

# 图例(Hex 由 CSV 的 R/G/B 重新拼接)
patches = [mpatches.Patch(
    color='#{:02X}{:02X}{:02X}'.format(r, g, b), label=name)
    for name, (r, g, b) in color_scheme.items()]
plt.legend(handles=patches, loc='lower left', fontsize=10, framealpha=0.9)
plt.savefig('vegetation_china.png', dpi=200, bbox_inches='tight')
plt.show()

6.5 提取特定大类

# 示例:提取针叶林(83 个 Value)并统计占比
coniferous = big_to_values['针叶林']
mask = np.isin(arr, coniferous)
total_veg = (arr > 0).sum()
print(f"针叶林像素数: {mask.sum():,}")
print(f"占植被总面积: {mask.sum() / total_veg * 100:.2f}%")

# 导出为单独的栅格
profile = src.profile.copy()
profile.update(dtype='uint8', nodata=0, compress='lzw')
with rasterio.open('针叶林_mask.tif', 'w', **profile) as dst:
    dst.write(mask.astype('uint8'), 1)

6.6 投影后统计面积(严谨)

# 数据是 WGS84 经纬度,计算面积需先投到等积投影
# 推荐 Albers 等积投影(中国常用参数)
import subprocess
subprocess.run([
    'gdalwarp',
    '-t_srs', '+proj=aea +lat_1=25 +lat_2=47 +lat_0=105 '
              '+lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m',
    '-r', 'near',   # 分类数据用最近邻,切勿 bilinear/cubic
    '植被类型.tif',
    '植被类型_albers.tif',
], check=True)

# 重采样方法选择:
# - nearest(最近邻):分类数据必备,不产生中间值
# - bilinear(双线性):连续表面(高程、温度),会产生插值
# - cubic(三次卷积):更平滑,但分类数据禁用

8. 使用注意事项

8.1 数据现势性

本数据反映 1990 年代 植被状况(图集出版于 2001 年)。若研究区域近期有大范围造林、采伐、城市化、农业结构调整,需结合更新的数据交叉验证:

数据集

分类口径

时间范围

分辨率

CLCD 土地利用

用途分类

1985-2024(年度)

30m

NDVI 植被指数

连续值

2000-2024

250m-1km

FVC 植被覆盖度

连续值

2000-2024

250m

MCD12Q1 IGBP

功能型

2001-至今

500m

8.2 数据类型选择

Value 最大到 58611(栽培植被长附码),必须使用 int32 存储

  • int8(max 127):主码即溢出

  • int16/uint16(max 32767/65535):长附码溢出

  • int32(max 2.1×10⁹):✅ 正确选择

8.3 面积计算与投影

数据为 WGS84 经纬度(EPSG:4326),计算面积前需投影

# GDAL 投影到 Albers 等积投影(适合全国统计)
gdalwarp -t_srs '+proj=aea +lat_1=25 +lat_2=47 +lat_0=105 +lon_0=0 \
                   +x_0=0 +y_0=0 +datum=WGS84 +units=m' \
         -r near 植被类型.tif 植被类型_albers.tif

重采样方法选择(重要):

  • nearest(最近邻):✅ 分类数据必备,保持类别值不混

  • bilinear(双线性):❌ 会产生不存在的中间值

  • cubic(三次卷积):❌ 同上,且分类意义全失

8.4 配色区分

.lyr 配色文件中针叶林与草甸 RGB 完全相同(#00A91D)。同时渲染两类时务必手动修改其中一个(推荐草甸改为 #9ACD32)。

8.5 .lyr 文件版本

原配色为 ArcGIS 9.x 格式,ArcMap 10.2+ 可向下兼容读取。若加载报错或路径失效,使用数据包内 _10.2.lyr 版本。

8.6 适用尺度

约 1 km × 1 km 分辨率,适合:

  • ✅ 省级、流域级、全国尺度分析

  • ✅ 植被本底调查、生态区划、生物多样性评估

  • ❌ 县级及以下精细尺度(精度不足)


9. 常见问题

Q1: 数据是哪一年的?
反映 1990 年代植被状况,图集出版于 2001 年。研究现状需结合更新数据(CLCD、NDVI、FVC)。

Q2: 分辨率是多少?
约 1 km × 1 km(0.00833° 经纬度网格)。适合省/流域/全国尺度分析,不适合县级。

Q3: 附码(1001、57310)是错误数据吗?
不是。附码对应主码下的亚群系细分,是数据源的精细编码设计。做大类统计时按代码表 group 即可,不影响结果。

Q4: 为什么针叶林和草甸颜色一样?
原始 .lyr 配色文件中两者的 CIELAB 值经 D65 转换后恰好映射到同一 sRGB(#00A91D)。渲染前手动修改其中一个即可。

Q5: 学术引用如何写?
建议引用原出版物:

侯学煜 主编. 1:1 000 000 中国植被图集 [M]. 北京: 科学出版社, 2001.

Q6: 和 CLCD 土地利用数据有什么区别?

  • 本数据:植被生态分类,按群系划分(马尾松林、杉木林),反映自然植被本底

  • CLCD:土地利用分类,按用途划分(林地、耕地、建设用地),反映人类利用

两者互补:本数据生态意义更强,CLCD 现势性更好。

Q7: 商业使用是否合规?
图集由科学出版社公开出版,数据集源自公开渠道。学术使用建议引用原出版物;商用建议联系原出版方确认许可。


10. 参考文献

  1. 侯学煜 主编. 1:1 000 000 中国植被图集 [M]. 北京: 科学出版社, 2001.

  2. 中国科学院中国植被图编辑委员会. 1:1 000 000 中国植被图集(说明书). 2001.

  3. 资源环境科学与数据平台. https://www.resdc.cn

  4. YouGIS 数据助手. https://yougis.com.cn/res/home


数据整理:微信公众号 YouGIS顽石
数据获取:公众号关键词 植被类型分布 / YouGIS数据助手
更新日期:2026 年

0

评论区