4.5

4.5 | 12 ratings Rate this file 106 Downloads (last 30 days) File Size: 2.75 KB File ID: #10914

utm2deg

by Rafael Palacios

 

29 Apr 2006 (Updated 17 Aug 2006)

Function to convert vectors of UTM coordinates into Lat/Lon vectors (WGS84)

| Watch this File

File Information
Description

This function is based on UTMIP.m function by Gabriel Ruiz Martinez, but instead of providing a GUI it works with vectors of coordinates.

[Lat,Lon] = utm2deg(x,y,utmzone)

% Example 1:
% x=[ 458731; 407653; 239027; 230253; 343898; 362850];
% y=[4462881; 5126290; 4163083; 3171843; 4302285; 2772478];
% utmzone=['30 T'; '32 T'; '11 S'; '28 R'; '15 S'; '51 R'];
% [Lat, Lon]=utm2deg(x,y,utmzone);
% fprintf('%11.6f ',lat)
% 40.315430 46.283902 37.577834 28.645647 38.855552 25.061780
% fprintf('%11.6f ',lon)
% -3.485713 7.801235 -119.955246 -17.759537 -94.799019 121.640266
%
% Example 2: If you need Lat/Lon coordinates in Degrees, Minutes and Seconds
% [Lat, Lon]=utm2deg(x,y,utmzone);
% LatDMS=dms2mat(deg2dms(Lat))
%LatDMS =
% 40.00 18.00 55.55
% 46.00 17.00 2.01
% 37.00 34.00 40.17
% 28.00 38.00 44.33
% 38.00 51.00 19.96
% 25.00 3.00 42.41
% LonDMS=dms2mat(deg2dms(Lon))
%LonDMS =
% -3.00 29.00 8.61
% 7.00 48.00 4.40
% -119.00 57.00 18.93
% -17.00 45.00 34.33
% -94.00 47.00 56.47
% 121.00 38.00 24.96

Acknowledgements

The author wishes to acknowledge the following in the creation of this submission:
Conversion of UTM Coordinates to Spherical Coordinates

MATLAB release MATLAB 7.1.0 (R14SP3)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (16)
01 Sep 2006 Sang-Ho Yun

Simple and useful. Thank you!

19 Sep 2006 Karel Castro  
30 May 2007 Eddie Mayhew

Rafael,
This function is exactly what I was looking for. Perfect. Simple and easy to use. Results are dead-on accurate. Instructions are well explained in the function's "help" section. Nice.

Eddie

24 Aug 2007 Zack Moratto

Thanks for this!

25 Oct 2007 Oren Fromberg

sweet proggy

02 Apr 2008 Oriol Badia  
14 Oct 2008 Carlos Castillo

I found a mistake at line 80.

24 Feb 2010 Cegeon

I like how it converts the lat/lon to the corresponding UTM. Did the same thing via GlobalMapper and matches quite well.

However, if you have a big domain (spanning multiple UTM zones) and you want ALL of the data on just ONE particular UTM zone, that cannot be done (as far as I can tell.)

15 Nov 2010 Aaron Holtzman  
09 Feb 2011 Orlando Rodríguez

Nice contribution. Thanks Rafael!

17 Aug 2011 Val Schmidt

I think I must be missing something. I don't see in this code where it offsets the latitude correctly based on the UTM zone character field. For example, I get the same result with '17 N' and '17 X'. The first is at the equator, the second is near Greenland.

23 Aug 2011 r nawaz

Dear Val Schmidt

While calculating latitude, the function checks whether the alphabetical letter represents Northern Hemisphere or Souther Hemisphere. The Latitude is then calculated by looking at the northing values. The hemisphere is Northern for both X and N. That is why you get the same result for latitude.

21 Mar 2012 Zhiyong

Excellent. Will be better if it is possible to do coordinate transformation on a matrix instead of just a vector.

22 Mar 2012 r nawaz

Zhiyong

In Matlab you may convert your matrix to vector....do the transformation and convert back to matrix.

05 May 2012 Jane

For large datasets from the same utm zone, is there an easy way to create the 'utmzone'-variable? (without e.g. having to write utmzone=['30 T'; '30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T';'30 T' (and a 1000 more times '30 T';)...];

06 May 2012 r nawaz

Well, if it is the same '30 T' for all values, just set a variable zonn = '30 T', and use it for all conversions.

[lat long] = utm2deg(easting, northing, zonn)

Please login to add a comment or rating.
Updates
29 Jun 2006

Update description. Minor fixes in code.

17 Aug 2006

corrected m-Lint warnings

Tag Activity for this File
Tag Applied By Date/Time
utm Rafael Palacios 22 Oct 2008 08:23:40
coordinates Rafael Palacios 22 Oct 2008 08:23:40
latitude Rafael Palacios 22 Oct 2008 08:23:40
longitude Rafael Palacios 22 Oct 2008 08:23:40
wgs84 Rafael Palacios 22 Oct 2008 08:23:40
degrees Rafael Palacios 22 Oct 2008 08:23:40
coordinates Hans 30 Jun 2010 07:56:44
coordinates Sai Mithinti 29 Jul 2010 12:09:32

Contact us at files@mathworks.com