LL2UTM and UTM2LL
UTM2LL converts Universal Transverse Mercator (UTM) East/North coordinates to latitude/longitude.
LL2UTM converts latitude/longitude coordinates to UTM.
Both functions are using precise formula (millimeter precision), possible user-defined datum (WGS84 is the default), and are all vectorized (no loop in the code). It means that huge matrix of points, like an entire DEM grid, can be converted very fast.
Example (needs readhgt.m author's function):
X = readhgt(36:38,12:15,'merge','crop',[36.5,38.5,12.2,16],'plot');
[lon,lat] = meshgrid(X.lon,X.lat);
[x,y,zone] = ll2utm(lat,lon); % do the job!
z = double(X.z); z(z==-32768 | z<0) = NaN;
figure
pcolor(x,y,z); shading flat; hold on
contour(x,y,z,[0,0],'w')
hold off; axis equal; axis tight
xlabel('East (m)'); ylabel('North (m)')
title(sprintf('Sicily - UTM zone %d WGS84',zone))
loads SRTM full resolution DEM of Sicily in lat/lon (a 2400x4500 grid), converts it to UTM and plots the result with pcolor and contour. To make a regular UTM grid, you may interpolate x and y with griddata function.
See "doc ll2utm" and "doc utm2ll" for syntax and help.
Citation pour cette source
François Beauducel (2024). LL2UTM and UTM2LL (https://www.mathworks.com/matlabcentral/fileexchange/45699-ll2utm-and-utm2ll), MATLAB Central File Exchange. Récupéré le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
- Mathematics and Optimization > Mapping Toolbox > Geometric Geodesy >
- Radar > Mapping Toolbox > Geometric Geodesy >
Tags
Remerciements
Inspiré par : utm2deg
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
Version | Publié le | Notes de version | |
---|---|---|---|
1.9.0.0 | - utm2ll: fix an issue when input arguments are matrices
|
||
1.8.0.1 | repack |
||
1.8.0.0 | ll2utm : adds a check for latitude values input argument |
||
1.7.0.0 | packaging problem. |
||
1.6.0.0 | Following the comment of Frederic Christen (thanks!), ZONE input argument can be scalar, vector or matrix in both ll2utm and utm2ll. Bug corrected for negative ZONE multiple outputs in southern hemisphere. |
|
|
1.5.0.0 | LL2UTM: adds possibility to force the UTM zone (thanks to Mathieu's suggestion). |
||
1.4.0.0 | - adds single output argument (ll2utm and utm2ll)
|
||
1.3.0.0 | minor update. |
||
1.2.0.0 | adds an example of ll2utm use. |
||
1.1.0.0 | minor update of description. |
||
1.0.0.0 |