Hi! I have a raster file in tiff format which has some values set to -9999. I wrote a small code that should replace all -9999 values with NaN. Whren I execute the code the loop just keeps on going and it wont stop and generate the result. Can you please hel me figure out why? I am not attaching the raster because it is to big.
%reading Raster Input data from a file
[aspect, A] =readgeoraster('Aspect_0,5m.tif');
[slope, A] = readgeoraster('Slope_0,5m.tif')
imagesc(aspect)
%reading csv Input data from a file
discontinuity_orientations =readtable('orientations.xlsx') ;
for i =1:size(aspect,1)
if aspect (i,1)==-9999
aspect (i,1) = NaN
end
end

 채택된 답변

David Hill
David Hill 2022년 12월 1일

0 개 추천

Instead of a for-loop, just do it all at once.
idx=aspect(:,1)==-9999;
aspect(idx,1)=nan;

댓글 수: 1

Hrvoje Lukacic
Hrvoje Lukacic 2022년 12월 1일
Thank you for your answer !! But just in case, how to I make a for loop which goes from element to element and does some operation?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

VBBV
VBBV 2022년 12월 1일
편집: VBBV 2022년 12월 1일

0 개 추천

if ismember(-9999,aspect(i,1))
Check using ismember

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

릴리스

R2021a

태그

질문:

2022년 12월 1일

댓글:

2022년 12월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by