- Convert spherical coordinates into cartesian using sph2cart
- Use alphaShape to build an object and calculate volume
Calculating area volume from longitude, latitude and altitude
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
hye wook Kim
am 10 Sep. 2021
Kommentiert: hye wook Kim
am 14 Dez. 2021
Hello! I'm trying to calculate the volume of airspace(3d polygon) from its longitude, latitude and altitude.
The polygon's vertices are given with longitude and latitude (ex. [128 129 129 128 128], [37 37 38 38 37])
and its altitude ranging from 1000~5000 feet.
How can I get the volume of this 3d polygon?
0 Kommentare
Akzeptierte Antwort
darova
am 11 Sep. 2021
10 Kommentare
Walter Roberson
am 18 Sep. 2021
You need to change the 1000 and 5000 to "radius of the Earth in that area, in feet, plus this".
Latitude at 37, Earth radius at sea level: 3958.404 miles
Latitude at 38, Earth radius at sea level: 3958.18 miles
That is a decrease of
format long g
(3958.404 - 3958.18) * 5280
a bit over 1000 feet. So 1182.72 feet at 38 degrees (which is within the airspace) would be at sea level at 37 degrees (and so not in the airspace.)
So, you cannot treat the base of the airspace as flat: the curvature difference is equal to approximately 1/4 of the difference in altitudes between the 1000 and 5000 foot level.
That page gives a radius equation that it might be useful to integrate over.
latitude B, radius R, radius at equator r1, radius at pole r2
R = √ [ (r1² * cos(B))² + (r2² * sin(B))² ] / [ (r1 * cos(B))² + (r2 * sin(B))² ]
Integrate altitude + R over altitude and latitude in radians, and multiply by radians spanned by longitude, to get volume.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Map Display finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!