Tuesday 22 May 2018

coordinate system - Why do I get correct area and intersect area when use wrong projection?



I need to calculate areas and intersection areas for polygons (some real geographical objects like lake, city, country, e.t.c.). Polygons located in California, New Zealand, Russia.Anadyr, Sweden


All polygons are in WGS84.


What I did using GeoTool java API:



  1. Project all polygons using EPSG:3488, EPSG:NAD83(NSRS2007) / California Albers and calculated areas and overlap areas.

  2. Did the same using World_Mollweide and World_Eckert_IV

  3. Picked "local specific projections" for polygons from California, New Zealand, e.t.c.


I assume that #3 is the most accurate result, since I pick projection which covers polygon area




'#2 showed the worst result comparing to #3


'#1 and #3 areas and intersection areas difference is less than 0.1%


Why? I pick absolutely wrong projection EPSG:3488 (California) for polygons from Sweden and get pretty the same areas and intersection areas?


UPD: Looks like I didn't explain my confusion correctly. Here is sample output with explanation


#area_from_new_zealand_1
EPSG_27200 area[11733479] CRS[World_Mollweide] area[11736023] diff[2544] [0.0%]
EPSG_27200 area[11733479] CRS[World_Eckert_IV] area[11736033] diff[2554] [0.0%]
EPSG_27200 area[11733479] CRS[EPSG:NAD83(NSRS2007) / California Albers] area[11736034] diff[2555] [0.0%]

#area_from_new_zealand_2

EPSG_27200 area[2952725] CRS[World_Mollweide] area[2953281] diff[556] [0.0%]
EPSG_27200 area[2952725] CRS[World_Eckert_IV] area[2953342] diff[617] [0.0%]
EPSG_27200 area[2952725] CRS[EPSG:NAD83(NSRS2007) / California Albers] area[2953467] diff[743] [0.0%]

#intersection_area_between_two_new_zealand_areas
EPSG_27200 intersection area[1001857] CRS[World_Mollweide] area[1002082] diff[225] [0.0%]
EPSG_27200 intersection area[1001857] CRS[World_Eckert_IV] area[1002082] diff[225] [0.0%]
EPSG_27200 intersection area[1001857] CRS[EPSG:NAD83(NSRS2007) / California Albers] area[1002096] diff[239] [0.0%]



#area_from_alaska_1
EPSG_3338 area[56278347] CRS[World_Mollweide] area[56041510] diff[236837] [0.4%]
EPSG_3338 area[56278347] CRS[World_Eckert_IV] area[56041585] diff[236763] [0.4%]
EPSG_3338 area[56278347] CRS[EPSG:NAD83(NSRS2007) / California Albers] area[56278426] diff[79] [0.0%]

#area_from_alaska_2
EPSG_3338 area[17564799282] CRS[World_Mollweide] area[17486015889] diff[78783393] [0.4%]
EPSG_3338 area[17564799282] CRS[World_Eckert_IV] area[17486869816] diff[77929466] [0.4%]
EPSG_3338 area[17564799282] CRS[EPSG:NAD83(NSRS2007) / California Albers] area[17566197286] diff[1398004] [0.0%]


#intersection_area_between_two_alaska_areas
EPSG_3338 intersection area[43808167] CRS[World_Mollweide] area[45066901] diff[1258734] [2.8%]
EPSG_3338 intersection area[43808167] CRS[World_Eckert_IV] area[45163183] diff[1355016] [3.0%]
EPSG_3338 intersection area[43808167] CRS[EPSG:NAD83(NSRS2007) / California Albers] area[43885182] diff[77015] [0.2%]

My confusion is: EPSG:3488 designed to be used in California


I pick "wrong" projection EPSG:3488 for Alaska, New Zealand areas and see that resulting calculations don't differ "significantly" from correct projections. EPSG:3488 even performs better than Mollweide, Eckert_IV projections designed to be used around the world.



Answer



"EPSG:3488, EPSG:NAD83(NSRS2007) / California Albers" is an equal-area projection. It is based on the Albers Conic, which is defined for the northern hemisphere. Because Sweden is within its range of definition, it is equal-area in Sweden. This means that (up to floating point rounding error) it will give absolutely correct areas.


Neither the Mollweide nor the Eckert are exactly equal-area, but (as M. Kennedy kindly points out in a comment) they are approximately so. The distortions they introduce will be comparable to the differences between the sphere and the ellipsoid, which are limited to about one part in 300 (0.3%).



No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...