Distortcalc function returns wrong results

1 view (last 30 days)
Jakub Snopl
Jakub Snopl on 11 May 2022
Edited: Jakub Snopl on 12 Jan 2024
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

Answers (1)

Manikanta Aditya
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.
  • 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.
Check the following reference to know about 'Calculating areal distortion outside UTM Zone':
Hope it helps.
  1 Comment
Jakub Snopl
Jakub Snopl on 12 Jan 2024
Edited: Jakub Snopl on 12 Jan 2024
From definition of transverse Mercator (conformal projection), it is not possible to get non-zeroes values of angle distortion. I reported it as a bug... Which was later solved by changing documentation.

Sign in to comment.

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!