关于如何下载ETOPO1数据并使用 您所在的位置:网站首页 水深的图 关于如何下载ETOPO1数据并使用

关于如何下载ETOPO1数据并使用

#关于如何下载ETOPO1数据并使用| 来源: 网络整理| 查看: 265

👉关于如何下载ETOPO1数据并使用

数据下载网站

在写这篇博文前,我也有看过别人的博文内的经验分享,然而可能是多年前的博文了,ETOPO1的网站有点变化了。所以写这篇博文的目的是补充前人的博文内容,以达到与时俱进的作用。并且我看的那篇博文里,似乎给出了错误的经验,所以我也想记录一下自己的下载和使用过程供众人参考。

首先直接百度搜索ETOPO便可找到它的官网:https://www.ngdc.noaa.gov/mgg/global/global.html 网站内容有些许变化,没有binary的链接可以点了(binary的链接是我看的别人的博文里的截图还有的)。 数据下载链接截图 但是没有关系,这都不是事。点击ETOPO1 Bedrock中的cell-registered中的链接,两个中的任意一个都可以,会出现这个界面: 在这里插入图片描述 点击Parent Directory,返回上级菜单就可以找到Binary的选项了: 在这里插入图片描述 点击Binary,下载链接里的数据。我下载的是etopo1_bed_c_f4.zip。为什么要下载这个,是因为Matlab中的etopo函数里用的是这个数据。 在这里插入图片描述

数据读取(Matlab-etopo函数)

读取ETOPO1数据并在Matlab中画图的程序已经有很多人po出来了,我在这也copy一下别人的(来源:https://www.ilovematlab.cn/thread-552348-1-1.html)。 lon_lim=[130 180]; lat_lim=[0 30]; [topo, refvec] = etopo(‘E:\mat\etopo1_ice_c_f4.flt’, 1, lat_lim, lon_lim); lon=linspace(lon_lim(1,1),lon_lim(1,2),size(topo,2)); lat=linspace(lat_lim(1,1),lat_lim(1,2),size(topo,1)); geoshow(topo,refvec,‘DisplayType’,‘surface’) demcmap(topo, 256); 【顺便一提如果想画跨过180°经线的图,把西经变成负数就好了,比如[-130 130]】 这个程序运算得到的分量有topo、refvec。其中这个topo是一个1800x3000的深度数组。但是没有相应的经纬度数组。我想要对应的经纬度数组方便使用m_map绘出地形(虽然m_map中也可以直接用ETOPO1画图,但是这个方法我暂时没学会),所以只能另辟蹊径得到topo数组对应的经纬度。

ETOPO1的官网中说到这个数据是1弧分的精度,1弧分等于1/60°,结合这个绘图程序可以看出经度跨度50°纬度跨度30°,正好每一个乘以60可以得到3000和1800。也就是说topo的形状是纬度x经度(1800x3000)。可以自行计算得到经纬度数组。 lonmap=lon_lim(1)+1/60:1/60:lon_lim(2); latmap=lat_lim(1)+1/60:1/60:lat_lim(2); [LON,LAT]=meshgrid(lonmap,latmap); 此时得到的LON,LAT可以和topo一起用m_contour画图了。

这是一个笨办法,如果有朋友有更好的办法欢迎来分享~😀 2021/3/17



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有