Boundary/polygon around coastline of Greenland
2 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
KSSV
on 22 Jan 2022
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
More Answers (1)
Chad Greene
on 3 Apr 2022
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 Comments
See Also
Categories
Find more on Map Display in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!