3

Input : I have my original data in 4326. This data spans across the globe. This data is collected from DGPS so its accurate to 1 inch. The data is in geometry as geography is costly and functions are limited and in 2D. I am using postgis.

Need: I need to calculate accurate area, length of each geometry.

My conclusion so far : while calculating area either i can dynamically convert the 4326 to respective UTM zones and then calculate area or i can convert it to EPSG:54009 projection to calculate area.

Major question : so which of above method is better ? is there any third better method you can suggest ?

Supportive/minor/Dependent question : how can i cross check the accuracy of both without going to ground ? which one will be accurate. pros and cons if any for each of above methods ?

References:

https://en.wikipedia.org/wiki/Mollweide_projection

https://blogs.esri.com/esri/arcgis/2010/03/05/measuring-distances-and-areas-when-your-map-uses-the-mercator-projection/

Calculating area of an EPSG:4326 Polygon

  • If accuracy is your key motivator consider Geodesic Distance community.esri.com/groups/coordinate-reference-systems/blog/… (link is Esri but the concept isn't).. very well researched question. Is 'area' the 2d area or the 3d sum of faces? – Michael Stimson Nov 17 '17 at 4:11
  • You can also let the job for PostGIS by using the geography data type instead of geometry postgis.net/docs/manual-2.4/geography.html. But if you really have global data with 1 inch accuracy I believe that some special methods are needed, formulas used by PostGIS and other standard software are rather accurate to 1 meter. On the other hand, if you have only DGPS corrected data the accuracy as best is about 1-3 meters, You need RTK for centimeter level accuracy. – user30184 Nov 17 '17 at 8:02
3

The simplest and most accurate approach would be to just use the geography type. You can keep your source data as geometry, and just cast them when needed (i.e. ST_Area(geom::geography)).

Make sure you have PostGIS >= 2.2 with Proj >= 4.9.0, to take advantage of a few geodesic-based functions based on GeographicLib, such as ST_Area and ST_Distance. (Older versions were not as robust or accurate, specifically for ST_Area, so be sure to check your versions).

These GeographicLib-based functions have a high accuracy on an ellipsoid of revolution (i.e. WGS84), for instance ST_Distance between two points has an accuracy of 15 nanometers, and ST_Area on a quadrilateral has an accuracy of 0.1 m² (Karney 2013).

The problem with calculations on projections (e.g. UTM zones) is that they are typically distorted towards the edges. One geometry will have a wide range of area calculations, depending on the chosen projection. Unless you need to project and make sense of the data on a map, I'd avoid flat projections.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.