- If you are comparing the results with PROJ.4, make sure that the same parameters and formulas are being used in both calculations. Differences could arise due to different methods or approximations used in the calculations.
- Differences in the implementation of the UTM system between MATLAB and PROJ.4, Each software may implement the UTM system slightly differently, leading to minor discrepancies in the results.
- Differences in the underlying geodetic model: The UTM system is based on a specific geodetic model (the WGS84 ellipsoid). If there are any differences in how this model is implemented in MATLAB and PROJ.4, this could also lead to discrepancies in the results.
Distortcalc function returns wrong results
1 view (last 30 days)
Show older comments
Hi,
I tried to calculate distortion parametres for UTM zone 33 system, but results compared to PROJ.4 are different/wrong. UTM is conformal, but value of angle deformation calculated in disortcalc function is non-zero. Is problem in my code or somewhere else? My code is attached below.
Thank you.
utmstruct = defaultm("utm");
utmstruct.zone = '33N';
utmstruct = defaultm(utmstruct);
utmstruct.geoid = wgs84Ellipsoid;
utmstruct.flatlimit = [48 51.5];
utmstruct.flonlimit= [-3 4];
lat = 50; lon = 15;
[areascale,angdef,maxscale,minscale,merscale,parscale] = distortcalc(utmstruct,lat,lon)
Results distortcalc:
areascale = 0.959891567273164
angdef = 2.29808399158471
maxscale = 0.999588519334793
minscale = 0.96028670668602
merscale = 0.96028670668602
parscale = 0.999588519334793
0 Comments
Answers (1)
Manikanta Aditya
on 12 Jan 2024
The UTM (Universal Transverse Mercator) system uses a transverse Mercator projection with a scale factor of 0.9996 at the central meridian. The distortion of scale increases to 1.0010 at the zone boundaries along the equator.
The area distortion equals (0.9996 * sec (distance to the central meridian))^2, where the distance is given as an angle. This formula is used to calculate the areal distortion knowing how far into the other UTM zone the features were.
In your code, you are calculating the distortion parameters for UTM zone 33. The 'distortcalc' function calculates the distortion parameters based on the provided UTM structure and the latitude and longitude. The non-zero value of angle deformation could be due to the inherent distortion in the UTM system, which is minimal within the zone but increases away from the zone.
Check the following reference to know about 'Calculating areal distortion outside UTM Zone':
Hope it helps.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!