How to calculate polyarea in metres using latitude and longitude coordinates
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
William Sheehan
el 25 de Jun. de 2018
Comentada: Walter Roberson
el 26 de Jun. de 2018
I would like to know how I can calculate polyarea in metres from known latitude and longitude GPS coordinates. I have time data for 18 individuals and would like to know the area provided by the outermost individuals. I am currently using convhull to identify the outermost players and then using this to index into polyarea function. While this gives me an area, the result is in degrees at latitude and longitude are in degrees (e.g. I get an answer of 8.745314499722379e-07). I cannot simply use the distdim function as this provides a conversion for distances (e.g. converting the above area to metres using distdim = 0.0972m). Is there a way to overcome this or calculate the area in metres?
0 comentarios
Respuesta aceptada
Walter Roberson
el 25 de Jun. de 2018
"the result is in degrees at latitude and longitude are in degrees"
No, the result would be in degrees squared. But you would have the problem that degrees in one direction are not the same size as degrees in a different direction.
You cannot use polyarea for this because you are not working with a planar surface where Euclidean distances apply. You need to calculate surface area on the oblate ellipsoid or whatever world model you are using.
You can use areaint() for that: areaint() is specifically designed to take lat/long readings and calculate surface area on sphere or oblate sphereoid.
6 comentarios
Walter Roberson
el 26 de Jun. de 2018
areaint() since your inputs are in latitude and longitude, I would think.
Más respuestas (1)
KSSV
el 25 de Jun. de 2018
Convert degrees to meters: https://knowledge.safe.com/articles/725/calculating-accurate-length-in-meters-for-lat-long.html
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!