dist2coast文档

dist2coast确定从任何地理位置到最近海岸线的距离。

参见:而且topo_interp

回到气候数据工具内容

内容

语法

Di = dist2coast(lati,loni)

描述

Di = dist2coast(lati,loni)给出了大圆的距离距离地理位置的公里数意大利,loni到最近的海岸线。对于陆地上的点,是到最近的海洋的距离。对于大洋地区,是到最近陆地的距离。

例1:全局网格

举个简单的例子,使用cdtgrid创建一个四分之一度的Lat,Lon点全球网格,并确定每个点距离最近的海岸线有多远:

四分之一度网格:[Lat,Lon] = cdtgrid(0.25);%到最近海岸线的距离:D = dist2coast(Lat,Lon);

用图绘制到最近海岸的距离imagescn

imagescn(Lon,Lat,D) cb = colorbar(“位置”“southoutside”);包含(cb、距离最近海岸线的距离(公里)

在上图中,你可能会注意到的第一件事是,太平洋上的某个地方似乎距离最近的陆地超过5000公里。这实际上是错误的。(见限制有关这方面的更多细节,请参阅下面的部分。)

你会注意到的第二件事是,无论在陆地上还是在海里,到海岸的距离都是正的。如果你愿意,你可以用函数确定哪些单元格是陆地,哪些是海洋,然后将陆地单元格设置为负值,如下所示:

土地=岛屿(Lat,Lon);%使陆地距离为负:D(土地)= -D(土地);图imagescn(Lon,Lat,D) cb = colorbar(“位置”“southoutside”);包含(cb、距离最近海岸线的距离(公里)) cmocean (“差异”“主”)边界

上面我们将颜色映射设置为cmocean冰斗湖(Thyng et al., 2016),并使其“枢轴”为零值。还增加了政治边界与边界函数。

例2:大洋漂浮物

例1考虑了全局网格,但现在让我们考虑分散数据的情况。例如,阿尔戈号漂浮在印度洋北部。以下是一些随机数据点,可能是这样的Argo浮动:

印度洋周围的1500个随机点:拉= 40*兰特(1500,1)-10;Lon = 60*兰特(1500,1)+40;将此随机数据集限制为海洋点:土地=岛(lat,lon);Lat(土地)= [];Lon (land) = [];绘制随机数据点:图绘制(经度、纬度、“。”“颜色”rgb (“灰色”)举行他=地球形象;%添加一个地球图像uistack(他,“底”%将地球图像放置在圆点下方

找出每个浮标距离陆地有多远,并将距离绘制为分散的数据点:

D = dist2coast(lat,lon);散射(经度、纬度30 d,“填充”) cb = colorbar;ylabel (cb、“到最近陆地的距离(公里)”) cmocean%设置颜色映射

基于与陆地距离的掩蔽

假设你只对距离海岸200到500公里的数据感兴趣。得到这些点对应的指数并使用rgb将它们绘制成电蓝色的x标记:

Ind = d>200 & d<500;情节(经度(印第安纳州),lat(印第安纳州),“x”“颜色”rgb (铁蓝色的))

轮廓线

要绘制距离海岸的等高线,请使用meshgridcdtgrid要制作网格,请获取每个网格点到最近海岸线的距离,并使用要掩盖陆地网格单元格:

做一个网格:[Lon,Lat] = meshgrid(40:0.1:100,-10:0.1:30);%获取格点到海岸的距离:D = dist2coast(Lat,Lon);%屏蔽土地:D(岛(Lat,Lon)) = NaN;%轮廓线并标注轮廓线:[C,h] =等高线(Lon,Lat,D);clabel (C、h、“颜色”' w '

限制

在例1中,我们首先看到的东西之一是太平洋上的某个地方,似乎距离陆地超过5000公里。实际上,距离陆地最远的点是尼莫点(point Nemo),在(37.58S,139.39W),距离最近的陆地只有2688公里。的原因dist2coast这么离谱,是因为吗dist2coast使用相同的1/8度掩模函数来确定土地的存在。任何不足以在1/8度数据集中显示的土地都不能用dist2coast.因此,这个功能可能最适合不受小岛影响的中尺度过程。

同样值得注意的是dist2coast函数认为北美五大湖和其他大型淡水水体不是陆地,而是水。因此,北美离水最远的地方是怀俄明州,而不是加拿大的某个地方,那里有很多大湖。

作者信息

这个函数是气候数据工具箱Matlab.该功能和辅助文档由德克萨斯大学奥斯金宝app汀分校的Chad A. Greene编写。