GEBCO数据读取方法

1. 概述

GEBCO(General Bathymetric Chart of the Oceans)全球 DEM数据集(Geo-Engineering Digital Savage)是基于“全球地球系统计划”(Global Earth System Project)的最新数据集,可以获得高分辨率海洋 DEM和高分辨率陆地 DEM,以及全球海陆结合的 DEM数据集,可为研究地球系统与全球变化、海洋与大气相互作用等提供有力的科学支持。

官网:GEBCO | General Bathymetric Chart of the Oceans

2. 数据下载

官网有三种下载方式

image-20260109155035696

Ice-surface elevation :存在冰面时,以冰表面为准的高程数据

under-ice topography:存在冰面时,以冰底面为准的地形数据

Type Identifier (TID) Grid:类型标识网格,标识了区域数据获取方式

3. 数据读取

以下载的GEBCO_2025 Grid(Ice surface elevation)为例,绘制中国南海的海深图。

matlab代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
clc;
clear;
close all;
ncdisp('GEBCO_2025_sub_ice.nc');%查看文件内容
filename=('GEBCO_2025_sub_ice.nc');
lon=ncread(filename,'lon');%读入经度
lat=ncread(filename,'lat');%读入纬度
elevation=ncread(filename,'elevation');%读入海拔高度
lonS=105;%经度范围[-180,180],lonE>lonS
lonE=123;
latS=6;%纬度范围[-90,90],latE>latS
latE=22;
lon1=lon((lonS+180)*240+1:(lonE+180)*240);
lat1=lat((latS+90)*240+1:(latE+90)*240);
elevation1=elevation((lonS+180)*240+1:(lonE+180)*240,(latS+90)*240+1:(latE+90)*240);
elevation2=double(elevation1);%转换数据类型
elevation3=elevation2';%转置得到常用的经纬度标识
figure
m_proj('miller','lon',[lonS,lonE],'lat',[latS,latE]);
m_pcolor(lon1,lat1,elevation3);
shading flat;
colormap([m_colmap('blue',-min(min(elevation3))); m_colmap('gland',max(max(elevation3)))]);
brighten(.2);
m_grid('linestyle','none','box','fancy','tickdir','in');
c=colorbar('eastoutside','fontsize',10);
set(get(c,'title'),'string','[m]');

image-20260109160242984

4. 注意

需要注意的是上图的绘制要用到m_map函数,可以到官网下载函数包,再导入到matlab中就可以使用。

m_map函数官网:M_Map: A Mapping package for Matlab