Boundary/polygon around coastline of Greenland
조회 수: 2 (최근 30일)
이전 댓글 표시
I have a big dataset of the topography of Greenland. x and y are in stereographic coordinates, with x being a vector of length 10218x1, y being a vector of length 18346x1 and z being a matrix of size 18346x10218 containing values of topography, negative values in the sea and postive inland.
I have a meshgrid of the x and y coordinates and I wish to calculate the distance from the closest point of the coast at every point in this meshgrid. My problem is to create a boundary or a border around the coast and islands surrounding Greenland, ie. where z goes from being negative to positive. I have tried to create a polygon, but the difference in length of the x and y arrays is giving me problems.
The dataset is too large (2.5 gb) to attach, but can be downloaded here.
filename = 'BedMachineGreenland-2021-04-20.nc';
x = ncread(filename,'x');
y = ncread(filename,'y');
x = double(nc_x);
y = double(nc_y);
dx = 5000;
x_ax=min(x):dx:max(x);
y_ax=min(y):dx:max(y);
[xx,yy]=meshgrid(x_ax,y_ax);
z = ncread(filename,'bed')';
figure
imagesc(nc_x,nc_y,z); axis xy equal; caxis([-500 1800]);
colorbar
Any help is appreciated. Thanks.
댓글 수: 0
채택된 답변
KSSV
2022년 1월 22일
You can get the coastline using the function contour. Read about it.
[M,c] = contour(x,y,Z,[0 0]) ; % M has the coordinates you want
추가 답변 (1개)
Chad Greene
2022년 4월 3일
I've just added a 'gl' option to plot Greenland's grounding line using BedMachine's mask. https://github.com/chadagreene/BedMachine, so
bedmachine('gl','greenland')
produces this:
or
bedmachine('gl','color','red','linewidth',2,'greenland')
produces this:
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Map Display에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!