GEBCO data downloadhttps://download.gebco.net/数据下载地址如上链接,打开如下所示
界面左侧菜单,依次选择产品版本(SELECT GRID VERSION)
输入经纬度上下限(ENTER BOUNDARIES)
格式选择2D netCDF也就是常用的.nc文件
设定的BOX范围会在右侧展示
随后在左侧菜单栏下拉至底部选择加入菜篮(Add to basket),并在View basket中下载数据
将下载好的数据解压,并在MATLAB中处理成.xyz文件使用如下
% 本代码修改水深原始散点数据
clear
clc
% 文件名
filename = 'gebco_2023_n34.0_s27.0_w120.0_e126.0.nc';
% 查看文件结构
% ncinfo(filename);
% 读取经纬度坐标
lon = ncread(filename,'lon');
lat = ncread(filename,'lat');
% 生成坐标网格
[lon,lat] = meshgrid(lon,lat);
% 读取高程信息,向下为正
ele = -ncread(filename,'elevation');
ele = double(ele');
% contourf(lon,lat,ele) % 绘图验证
% colorbar
% 整合数据
data = [lon(:),lat(:),ele(:)];
% 把水位为负的都删去
index = data(:,3)<0;
data(index,:) = [];
% 写入
writematrix(data,'dep_revised',Delimiter=' ')
% 重命名
movefile("dep_revised.txt","dep_revised.xyz")
需要注意,Delft3d中水深数据(bathymetry)向下为正,删除负值, 也就是陆地点数据
可以将数据绘制contourf验证一下,案例验证如下东海地形图
最后打开Delft3d-》Grid-》QUICKIN
导入网格(.GRD)以及刚才生成的水深散点(.xyz)
方法:File-》Attribute Files-》Open samples
然后Operations-》Triangular Interpolation就生成对应网格的水深啦,记得保存生成的数据。
如果觉得有用的话,
感谢您的点赞收藏和关注~
激励我继续更新吧!
欢迎评论区讨论