Latitude and Longitude Data to Universal Transverse Mercator (UTM)
142 views (last 30 days)
Show older comments
Sérgio Querido
on 17 Nov 2016
Commented: Kristoffer Walker
on 19 Oct 2022
Hi,
How can i convert this spreadsheet with xy gps coordinates (Latitude and Longitude) to Universal Transverse Mercator (UTM), in meters?
0 Comments
Accepted Answer
André Luiz Lourenço
on 13 Apr 2021
Edited: MathWorks Support Team
on 6 Jun 2022
Update: Please see this doc page: https://www.mathworks.com/help/map/working-in-utm-without-a-map-axes.html
************************************
Matlab has his own functions to deal with it.
First you need to get the utm zone from the coordinates
p1 = [lat,lon];
z1 = utmzone(p1)
Then you must get the geoid of this zone and construct the projection structcture using the following functions
[ellipsoid,estr] = utmgeoid(z1);
utmstruct = defaultm('utm');
utmstruct.zone = z1;
utmstruct.geoid = ellipsoid;
utmstruct = defaultm(utmstruct);
Finally you use mfwdtran to convert coordinates
[x,y] = mfwdtran(utmstruct,lat,lon)
This explanation content was found in reference: https://www.mathworks.com/help/releases/R2020a/map/working-in-utm-without-a-map-axes.html
3 Comments
Honey
on 22 Nov 2021
Hello .
I have a problem with this code in zone part. I know that my lat and lon data is located in 40 zone of north hemisphere. But this code is showing me z1= 40S. what's the matter?
More Answers (1)
KSSV
on 18 Nov 2016
Load the data into matlab and use the following function to convert degrees to utm.
YOu can load data from excel to matlab using xlsread.
2 Comments
KSSV
on 18 Nov 2016
Lat = data_MOM(:,1) ; % is X latitude? check
Lon = data_MOM(:,2) ; % is Y longitude? Check
[x,y,utmzone]= wgs2utm(Lat,Lon) ;
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!