Distortcalc function returns wrong results

1 回表示 (過去 30 日間)
Jakub Snopl
Jakub Snopl 2022 年 5 月 11 日
編集済み: Jakub Snopl 2024 年 1 月 12 日
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

回答 (1 件)

Manikanta Aditya
Manikanta Aditya 2024 年 1 月 12 日
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 件のコメント
Jakub Snopl
Jakub Snopl 2024 年 1 月 12 日
編集済み: Jakub Snopl 2024 年 1 月 12 日
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.

サインインしてコメントする。

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by