etop地形数据

您所在的位置:网站首页 全球地形地图高清版下载 etop地形数据

etop地形数据

2024-07-13 07:15| 来源: 网络整理| 查看: 265

ETOPO1全球地形数据使用方法介绍

       1. ETOPO1全球地形数据简介

       ETOPO1全球地形数据是由美国国家海洋和大气管理局(National Oceanic and Atmospheric Administration,NOAA)下属的美国地球物理中心(U.S.National Geophysical Data Center,NGDC)发布的全球地形高程数据集。该数据集不仅包括陆地地形数据,还包括海底地形数据。该数据集水平基准面采用WGS-84 坐标系,高程基准面采用海平面。该数据集可在https://www.ngdc.noaa.gov/mgg/global/网站中获取。现网站提供下载的数据格式有:netCDF(nc)、Geotiff、Binary、GRD98、xyz五种。其提供的数据如下图1所示。

图1 ETOPO1提供的数据版本与数据格式

       1. 1 ETOPO1, ETOPO2, ETOPO5和GLOBE Topography的区别

       网站提供四种数据集,分别为 ETOPO1、ETOPO2、ETOPO5以及GLOBE Topography。其中ETOPO1分辨率为1-arc-minute,ETOPO2分辨率为2 arc-minute,ETOPO5为5 arc-minute,GLOBE Topography 分辨率为30-arc-second。其中ETOPO2模型与ETOPO5模型由于模型精度过低已被弃用。

       1. 2 ETOPO1数据集数据来源

       ETOPO1数据集中的数据来源于不同的全球数据集和区域数据集。将这些数据移动到相同的水平基准面和高程基准面上,并对这些数据进行评估与修改,最终整合成为ETOPO1数据集。其中海岸线数据,水深数据,地形数据,海陆融合数据和基岩数据,这些数据来自几家政府机构,国际机构和学术机构(如图2,图3)。

图2 ETOPO1冰盖全球地形模型(Ice Surface Global Relief Model)数据来源

图3 ETOPO1基岩全球地形模型(Bedrock Global Relief Model)数据来源

       其中海岸线数据来自美国国家地球物理数据中心(National Geophysical Data Center,NGDC)和南极数字数据库(Antarctic Digital Database,ADD)。

       水深数据主要来自日本海洋学数据中心(Japan Oceanographic Data Center,JODC),NGDC,里海环境计划(the Caspian Environment Programme,CEP)和地中海科学委员会(the Mediterranean Science Commission,CIESM)。

       地形数据主要来自于NGDC, NASA和 美国冰雪资料中心(the National Snow and Ice Data Center,NSIDC)。

       海陆融合数据主要来自于斯克里普斯海洋研究所(Scripps Institute of Oceanography ,SIO),莱布尼兹海洋科学研究所(the Leibniz Institute for Baltic Sea Research,LIBSR)和NGDC。

       基岩数据主要来自于NSIDC,欧洲冰盖建模倡议(European Ice Sheet Modeling Initiative,EISMINT)和南极研究科学委员会(the Scientific Committee on Antarctic Research,SCAR)。

       上述这些数据来源详见由ETOPO官方给出的报告:《ETOPO1 Report: Procedures, Data Sources & Analysis》

       https://www.ngdc.noaa.gov/mgg/global/relief/ETOPO1/docs/ETOPO1.pdf

       1. 3 Ice Surface和Bedrock的区别

       ETOPO1数据集中包含两个版本,分别为Ice surface版本和Bedrock版本,两者在处理南极洲以及格林兰地形时,Ice surface版本给出的是加上冰盖层之后的高程,Bedrock版本给出的是岩床的高程。

       1. 4 grid-registered和cell-registered的区别

       图4解释了grid-registered和cell-registered的差异。每个独立的单元都有一个高程值,该值表示了从该单元扩展区域的平均高程值,该值可以表示为单元中心的一个点。grid-registered和cell-registered的区别在于网格范围的定义不同。Grid- registration的网格范围定义为:位于网格线(即经纬线)上的单元中心向外扩展1/2单元宽度所生成的网格范围。Cell-registration的网格范围定义为:网格边界的外边缘包含的网格范围。

图4 Grid- or node- registration 和Cell- or pixel- registration之间的差异。

Grid-registered grids单元中心在网格线上(ETOPO1中的经线和纬线),cell-registered grids单元坐落于网格线之间。

       2. Etopo 地形数据下载

       进入网站https://www.ngdc.noaa.gov/mgg/global/

       点击 Grid Versions下的View Metadata进入下载页即可下载数据,也可以直接点击netCDF或georeferenced tiff 下载对应格式的数据。

       3. 数据的使用

       3. 1 查看数据集内容

       以nc数据为例,下载ETOPO1_Bed_g_gmt4.grd.gz数据,解压获得ETOPO1_Bed_g_gmt4数据。使用matlab的m_map包进行绘图。加载数据:

topo = '你的数据文件路径'; //在使用时将''内内容替换为你的数据文件路径。 ncdisp(topo) //展示数据 得到输出: Source: D:\codes\matlab\ETOPO1_Bed_g_gmt4.grd // 数据文件的路径 Format: Classic // format格式 Global Attributes: Conventions = 'COARDS/CF-1.0' title = 'ETOPO1_Bed_g_gmt4.grd' GMT_version = '4.4.0' node_offset = 0 Dimensions: // 数据维度 x = 21601 y = 10801 Variables: x Size: 21601x1 // 数据大小 Dimensions: x Datatype: double // 数据类型(指在计算机中存储的数据类型) Attributes: // 数据特征 long_name = 'Longitude' // 数据名称 actual_range = [-180 180] // 数据范围 units = 'degrees_east' // 数据单位 y Size: 10801x1 Dimensions: y Datatype: double Attributes: long_name = 'Latitude' actual_range = [-90 90] units = 'degrees_north' z Size: 21601x10801 Dimensions: x,y Datatype: int32 Attributes: long_name = 'z' _FillValue = -2147483648 // 无效值占位(例如缺失数据使用该数值占位,此处使用占位值为 INT32_MIN) actual_range = [-10898 8271] // 数据范围

       3.2绘制南海地形图(Miller投影)

Matlab代码: etopo = 'ETOPO1_Bed_g_gmt4.grd'; lon = ncread(etopo,'x'); lat = ncread(etopo,'y'); hei = ncread(etopo,'z'); lon1 = 105; lon2 = 130; lat1 = 5; lat2 = 25; x = lon((lon1+180)*60+1:(lon2+180)*60+1); y = lat((lat1+90)*60+1:(lat2+90)*60+1); z = hei((lon1+180)*60+1:(lon2+180)*60+1,(lat1+90)*60+1:(lat2+90)*60+1)'; m_proj('miller','lon',[lon1,lon2],'lat',[lat1,lat2]); m_pcolor(x,y,z); shading flat; colormap([ m_colmap('blues',-min(min(z))); m_colmap('gland',max(max(z)))]); brighten(.2); m_grid('linestyle','none','box','fancy','tickdir','in'); c=colorbar('eastoutside','fontsize',10); set(get(c,'title'),'string','[m]');

       3.3绘制北美地形图(Lambert投影)

Matlab代码: etopo = 'ETOPO1_Bed_g_gmt4.grd'; lon = ncread(etopo,'x'); lat = ncread(etopo,'y'); hei = ncread(etopo,'z'); lon1 = -160; lon2 = -40; lat1 = 30; lat2 = 80; x = lon((lon1+180)*60+1:(lon2+180)*60+1); y = lat((lat1+90)*60+1:(lat2+90)*60+1); z = hei((lon1+180)*60+1:(lon2+180)*60+1,(lat1+90)*60+1:(lat2+90)*60+1)'; m_proj('lambert','long',[lon1 lon2],'lat',[lat1 lat2]); m_pcolor(x,y,z); shading flat; colormap([ m_colmap('blues',-min(min(z))); m_colmap('gland',max(max(z)))]); brighten(.2); m_grid('linestyle','none','box','fancy','tickdir','in'); c=colorbar('southoutside','fontsize',10); c.Label.String = '[m]';

       3.4绘制北极(Stereographic投影)

Matlab代码: etopo = 'ETOPO1_Bed_g_gmt4.grd'; lon = ncread(etopo,'x'); lat = ncread(etopo,'y'); hei = ncread(etopo,'z'); lon1 = -180; lon2 = 180; lat1 = 65; lat2 = 90; x = lon((lon1+180)*60+1:(lon2+180)*60+1); y = lat((lat1+90)*60+1:(lat2+90)*60+1); z = hei((lon1+180)*60+1:(lon2+180)*60+1,(lat1+90)*60+1:(lat2+90)*60+1)'; m_proj('stereographic','lat',90,'long',120,'radius',25); m_pcolor(x,y,z); shading flat; colormap([ m_colmap('blues',-min(min(z))); m_colmap('gland',max(max(z)))]); brighten(.2); m_grid('xtick',12,'tickdir','out','ytick',[70 80],'linest','-'); c=colorbar('southoutside','fontsize',10); c.Label.String = '[m]';

       3.5绘制全球地形(Robinson投影)

Matlab代码: etopo = 'ETOPO1_Bed_g_gmt4.grd'; lon = ncread(etopo,'x'); lat = ncread(etopo,'y'); hei = ncread(etopo,'z'); lon1 = -180; lon2 = 180; lat1 = -90; lat2 = 90; x = lon((lon1+180)*60+1:(lon2+180)*60+1); y = lat((lat1+90)*60+1:(lat2+90)*60+1); z = hei((lon1+180)*60+1:(lon2+180)*60+1,(lat1+90)*60+1:(lat2+90)*60+1)'; m_proj('robinson','lon',[lon1,lon2],'lat',[lat1,lat2]); m_pcolor(x,y,z); shading flat; colormap([ m_colmap('blues',-min(min(z))); m_colmap('gland',max(max(z)))]); brighten(.2); m_grid('linestyle','none','tickdir','in'); c=colorbar('eastoutside','fontsize',10); set(get(c,'title'),'string','[m]');

       3.6绘制南海地形(3D)

Matlab代码: etopo = 'ETOPO1_Bed_g_gmt4.grd'; lon = ncread(etopo,'x'); lat = ncread(etopo,'y'); hei = ncread(etopo,'z'); lon1 = 105; lon2 = 130; lat1 = 5; lat2 = 25; x = lon((lon1+180)*60+1:(lon2+180)*60+1); y = lat((lat1+90)*60+1:(lat2+90)*60+1); z = hei((lon1+180)*60+1:(lon2+180)*60+1,(lat1+90)*60+1:(lat2+90)*60+1)'; s = surf(x,y,z); s.EdgeColor = 'none'; set(gca,'xtick',[110 115 120 125 130],... 'xticklabel',{'110°E' '115°E' '120°E' '125°E' '130°E'},... 'ytick',[5 10 15 20 25],... 'yticklabel',{'5°N' '10°N' '15°N' '20°N' '25°N'},... 'ztick',[-10000 -5000 0 5000],... 'zticklabel',{'-10000m' '-5000m' '0m' '5000m'}); colormap([ m_colmap('blues',-min(min(z))); m_colmap('gland',max(max(z)))]); brighten(.2); c=colorbar('southoutside','fontsize',10); set(get(c,'title'),'string','[m]');

       3.7绘制断面图(维度0°为例)

Matlab代码: etopo = 'ETOPO1_Bed_g_gmt4.grd'; lon = ncread(etopo,'x'); lat = ncread(etopo,'y'); hei = ncread(etopo,'z'); hei = hei'; h=hei(5400,:); plot(lon,h,'k'); hold on; y_low=zeros(1,length(hei))-11000; x=-180:1/60:180; yForFill=[h,fliplr(y_low)]; xForFill=[x,fliplr(x)]; fill(xForFill,yForFill,[.5 .5 .5],'FaceAlpha',0.5,'EdgeAlpha',1,'EdgeColor','k'); hold off; set(gca,'YLim',[-11000 9000]); set(gca,'XLim',[-180 180]); ylabel('[m]'); set(gca,'xtick',[-180 -120 -60 0 60 120 180],... 'xticklabel',{'180°W' '120°W' '60°W' '0°' '60°E' '120°E' '180°E'});

       3.8绘制南极冰盖厚度

Matlab代码: etopo = 'ETOPO1_Ice_g_gmt4.grd'; lon = ncread(etopo,'x'); lat = ncread(etopo,'y'); hei = ncread(etopo,'z'); etopo2 = 'ETOPO1_Bed_g_gmt4.grd'; hei1 = ncread(etopo2,'z'); thi = hei-hei1; lon1 = -180; lon2 = 180; lat1 = 65; lat2 = 90; x = lon((lon1+180)*60+1:(lon2+180)*60+1); y = lat((lat1+90)*60+1:(lat2+90)*60+1); z = thi((lon1+180)*60+1:(lon2+180)*60+1,(lat1+90)*60+1:(lat2+90)*60+1)'; m_proj('stereographic','lat',90,'long',90,'radius',25); m_pcolor(x,y,z); shading flat; colormap([ m_colmap('blues',0); m_colmap('blues',max(max(z)))]); brighten(.2); m_grid('xtick',12,'tickdir','out','ytick',[70 80],'linest','-'); c=colorbar('southoutside','fontsize',10); c.Label.String = '[m]';



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3