¿Por qué obtengo el área correcta y el área de intersección cuando uso una proyección incorrecta?

11

Necesito calcular áreas y áreas de intersección para polígonos (algunos objetos geográficos reales como lago, ciudad, país, etc.). Polígonos ubicados en California, Nueva Zelanda, Rusia, Anadyr, Suecia

Todos los polígonos están en WGS84.

Lo que hice usando GeoTool API de Java:

  1. Proyecte todos los polígonos usando EPSG: 3488 , EPSG: NAD83 (NSRS2007) / California Albers y áreas calculadas y áreas superpuestas.
  2. Hizo lo mismo usando World_Mollweide y World_Eckert_IV
  3. Elegimos " proyecciones locales específicas " para polígonos de California, Nueva Zelanda, etc.

Supongo que # 3 es el resultado más preciso, ya que elijo la proyección que cubre el área del polígono

Resultado:

'# 2 mostró el peor resultado en comparación con # 3

'La diferencia entre las áreas n. ° 1 y n. ° 3 y las áreas de intersección es inferior al 0.1%

¿Por qué? Elijo EPSG: 3488 (California) de proyección absolutamente incorrecta para polígonos de Suecia y obtengo las mismas áreas y áreas de intersección.

UPD: Parece que no expliqué mi confusión correctamente. Aquí hay una muestra de salida con explicación

#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%]

Mi confusión es: EPSG: 3488 diseñado para ser utilizado en California

Elijo EPSG: 3488 de proyección "incorrecta" para las áreas de Alaska, Nueva Zelanda y veo que los cálculos resultantes no difieren "significativamente" de las proyecciones correctas. EPSG: 3488 incluso funciona mejor que Mollweide, proyecciones Eckert_IV diseñadas para ser utilizadas en todo el mundo.

Capacytron
fuente
También he encontrado que casi no hay una diferencia observable entre estas dos proyecciones, sin embargo, la diferencia aún existe. En ArcGIS, no puede crear un "conjunto de datos de entidades" a menos que sus datos estén en la misma proyección, incluso con una diferencia tan pequeña como la encontrada entre WGS84 y NAD83. La siguiente página web fue muy informativa para mí y espero que les sea útil también. differencebetween.net/technology/… Hubiera puesto esto como un comentario pero no tengo 50 rep :(
Justin Q
¿Con qué estás comparando los resultados?
Ian Turton
@iant por favor vea la pregunta actualizada. Agregué resultados de comparación.
Capacytron
Puede probar las proyecciones AUTO (UTM centrado en un punto proporcionado por el usuario): construya CRS como String code = "AUTO: 42001," + x + "," + y; // System.out.println (código); CoordinateReferenceSystem auto = CRS.decode (código);
Ian Turton

Respuestas:

9

"EPSG: 3488, EPSG: NAD83 (NSRS2007) / California Albers" es una proyección de área igual. Se basa en el Albers Conic, que se define para el hemisferio norte. Debido a que Suecia está dentro de su rango de definición, es un área igual en Suecia. Esto significa que (hasta el error de redondeo de coma flotante) dará áreas absolutamente correctas.

Ni el Mollweide ni el Eckert son exactamente de igual área, pero (como M. Kennedy señala amablemente en un comentario) lo son aproximadamente. Las distorsiones que introducen serán comparables a las diferencias entre la esfera y el elipsoide, que están limitadas a aproximadamente una parte en 300 (0.3%).

whuber
fuente
1
Bill, Eckert IV y Mollweide son proyecciones de área igual, pero solo tienen algoritmos esféricos.
mkennedy
1
@mkennedy Vaya, debería haberlo comprobado. Gracias por la corrección, Melita. Arreglaré ese comentario.
whuber
1
@mkennedy así que ESRI: 53009 y ESRI: 54009 son realmente idénticos? Veo que Snyder no da fórmulas en el elipósido, entonces, ¿cuál es el sentido de esas proyecciones World_xxx de ESRI basadas en WGS84?
AndreJ
1
Esri: 53009 (y las otras entradas 53xxx) usan un GeoCRS basado en esfera con R = 6371000.0 m. El rango Esri: 54xxx utiliza un geoCRS WGS84, por lo que el radio real utilizado es el semieje mayor, 6378137.0. Ambos se agregaron como definiciones de prueba / muestra.
mkennedy
2
El Polo Sur está a decenas de miles de kilómetros de Suecia: está en la Antártida. El polo norte está a solo unos pocos miles de kilómetros de Suecia. Pero no importa: si usa una proyección de área igual y es capaz de proyectar una región cuyo área desea calcular, entonces calculará el área correctamente (para el dato en el que se basa). Algunas proyecciones de área igual son capaces de proyectar el mundo entero excepto un punto único (que depende de la proyección).
Whuber
1

La afirmación de @ whuber de que una proyección de área igual "dará áreas absolutamente correctas" viene con un asterisco, es decir, suponiendo que los bordes del polígono son líneas rectas en dicha proyección . Esto es a menudo una buena aproximación, particularmente si los bordes son cortos; pero rara vez es estrictamente cierto.

Si, por otro lado, los bordes de su polígono son geodésicas o líneas de rumbo, se pueden usar otras técnicas para determinar el área precisa para redondear. Mi planímetro en línea implementa estos. Darle una oportunidad.

cffk
fuente
¡Hola! Gracias por todo el aporte. Entonces, ¿podría ser el resumen? EPSG: 3488 utiliza la proyección de área igual de Albers, ¿por eso calcula correctamente las áreas de todo el mundo, incluso en el polo sur?
Capacytron
Probablemente el área igual de Albers proporcionará un resultado suficientemente decente para su aplicación. Sin embargo, usar ciegamente esta proyección para calcular el área de la Antártida (que rodea el poste) dará un resultado sin sentido. Entonces, para uso general, recomendaría calcular el área geodésica para que no tenga que preocuparse por las limitaciones de cada proyección particular de igual área.
cffk
Gracias por la respuesta. Desafortunadamente, necesitamos un área cuadrada en metros.
Capacytron
La herramienta Planímetro le da el área en metros cuadrados.
cffk
La misma funcionalidad está disponible como un paquete de Java, Geographiclib-Java . La documentación incluye código para calcular el área de un polígono especificado como un conjunto de puntos de latitud / longitud con el resultado dado en metros cuadrados.
cffk