how to convert decimal degree to utm using loops ?

I have this X ( 51 by 51 ) and Y ( 51 by 51 ) lat and lon matrix and I want to convert them to UTM using the deg2utm function in a loop. deg2utm function says [x,y,utmzone] = deg2utm(lat,lon)
I am not how to loop to though the my X and Y matrix in this case. any help would be highly appreciated. Thanks

1 Comment

I have this code that I wrote but both my new XX lat and YY lon give me 51 by 1 matrix instead of 51 by 51
xx=[]; yy = [];
for i = 1:1:length(X3)
[x(i),y(i),utmzone] = deg2utm(X3(i),Y3(i));
xx(i,:) = x(i);
yy(i,:) = y(i);
end

Sign in to comment.

 Accepted Answer

Firstly do the meshgrid of lon lat.
[lon_new,lat_new]=meshgrid(lon,lat);
for i=1:size(lon_new,1)
for ii=1:size(lon_new,2)
C(i,ii)= deg2utm(lon_new(i,ii),lat_new(i,ii));
end
end
I haven't run this code yet. If your problem is still is not resolved, please attach the .mat file.

5 Comments

My old lat and lon are generated from meshgird already. That's how I have 51 by 51 . is there anyway without creatring another meshgird for my lat and lon ? Thanks!
I have edited my answer. Please go through it.
Please accept the answer, if it helps you.
I had to modify your code without using the meshgrid. Thanks
I have written the complete the complete code, so that others can understand too.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!