Effacer les filtres
Effacer les filtres

Mismatch between AREAINT and AREAQUAD around (0,0).

5 vues (au cours des 30 derniers jours)
Cedric
Cedric le 29 Jan 2016
Commenté : Marcus Adkins le 1 Avr 2022
Dear all,
E_earth = referenceEllipsoid( 'earth' ) ;
lat = [-1, 1] + 0 ; % +0 is placeholder for easy manual shift.
lon = [-1, 1] + 0 ;
areaquad( min(lat), min(lon), max(lat), max(lon), E_earth )
areaint( [min(lat), min(lat), max(lat), max(lat), min(lat), NaN], ...
[max(lon), min(lon), min(lon), max(lon), max(lon), NaN], E_earth )
This outputs:
ans =
4.9234e+10
ans =
7.7333e+10
Their ratio is close to pi/2, and the output of AREAQUAD matches what I get with ArcGIS for example.
Thanks!
Cedric
  1 commentaire
Marcus Adkins
Marcus Adkins le 1 Avr 2022
Comparing the results of a 0.02x0.02 (lat/lon) area against STK's computations, you get agreement to 5 significant digits until you hit +/- 1 deg latitude. In that range the Matlab areaInt function is off by as much as 50%

Connectez-vous pour commenter.

Réponse acceptée

Amy Haskins
Amy Haskins le 29 Jan 2016
The doc for areaint hints that the accuracy of the function improves with denser sampling. In your you example, you only have the corner points of the quadrangle in the polygon passed to areaint. The function outlinegeoquad can be used to get a more densely sampled boundary of the quadrangle. Using this function, I get answers which are increasing close to that returned by areaquad.
>> E_earth = referenceEllipsoid( 'earth' ) ;
>> [latq,lonq] = outlinegeoquad(lat,lon,0.1,0.1);
>> areaint( latq, lonq, E_earth )
ans =
4.9304e+10
>> [latq,lonq] = outlinegeoquad(lat,lon,0.01,0.01);
>> areaint( latq, lonq, E_earth )
ans =
4.9235e+10
  1 commentaire
Cedric
Cedric le 30 Jan 2016
Modifié(e) : Cedric le 30 Jan 2016
I see now
"Accuracy of the integration method is inversely proportional to the distance between lat/lon points"
and I hadn't realized that a 2deg difference around the origin would be troublesome when it isn't elsewhere.
Thank you very much!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by