Cut out piece of matrix based upon other matrix

1 次查看(过去 30 天)
Hi,
I have a DEM of an area represented by an array 46592x3 (first colom: X-coordinate, second colom: Y-coordinate, third colom: elevation). Next to that, I have a 11155x3 matrix (first colom: X-coordinate, second colom: Y-coordinate, third colom: 0 of no glacier present and 1 if glacier present). The extent of the second matrix lays completely within the first matrix.
I now want to cut out that part of the DEM (first array) where only the glacier is present (value 1 in the second array).
Can someone help me?
Thanks!

回答(1 个)

Jan
Jan 2017-3-23
编辑:Jan 2017-3-23
glacierPos = B(B(:, 3) == 1, 1:2); % Coordinates of glacier
inGlacier = ismember(DEM(:, 1:2), glacierPos, 'rows');
Wanted = DEM(inGlacier, :);

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by