En mi trabajo diario, constantemente me piden que calcule áreas de datasets ráster globales en proyección geográfica a una resolución de 30 segundos de arco. Estos conjuntos de datos son normalmente el resultado de una operación Combinar (un ejemplo típico es una clase de vegetación combinada con una capa de país). Para hacer esto, nuestra unidad creó un dataset ráster con el área de cada píxel en proyección geográfica a 30 segundos de arco. Con esta cuadrícula de área, se realiza un zonalstat para sumar las áreas de cada clase. Como no estoy seguro de cómo se creó esta cuadrícula de área, siempre me pregunté si este enfoque es más preciso de simplemente reproyectar el ráster en una proyección de área igual (a partir de pruebas simples, los resultados de los dos métodos son similares). ¿Alguien ha experimentado una situación similar?
fuente
Respuestas:
Existe una fórmula exacta relativamente simple para el área de cualquier cuadrángulo esférico delimitado por paralelos (líneas de latitud) y meridianos (líneas de longitud). Puede ser derivado rodeos usando propiedades básicas de la elipse (de eje mayor a y eje menor b ) que se hace girar alrededor de su eje menor para producir la elipsoide. (La derivación es un buen ejercicio de cálculo integral, pero creo que sería de poco interés en este sitio).
La fórmula se simplifica dividiendo el cálculo en pasos básicos.
Primero, la distancia entre los límites este y oeste, los meridianos l0 y l1, es una fracción de un círculo entero igual a q = (l1 - l0) / 360 (cuando los meridianos se miden en grados) o 1 = ( l1 - l0) / (2 * pi) (cuando los meridianos se miden en radianes). Encuentre el área de la porción completa ubicada entre los paralelos f0 y f1 y simplemente multiplique eso por q .
En segundo lugar, emplearemos una fórmula para el área de un corte horizontal del elipsoide delimitado por el ecuador (en f0 = 0) y un paralelo en la latitud f (= f1). El área del corte entre dos latitudes f0 y f1 (que se encuentran en el mismo hemisferio) será la diferencia entre el área más grande y la más pequeña.
Finalmente, siempre que el modelo sea realmente un elipsoide (y no una esfera), el área de tal corte entre el ecuador y el paralelo en la latitud f viene dada por
donde
a
yb
son las longitudes de los ejes mayor y menor de la elipse generadora, respectivamente,es su excentricidad, y
(Esto es mucho más simple que calcular con geodésicas, que de todos modos son solo aproximaciones a los paralelos. Tenga en cuenta el comentario de @cffk sobre una forma de calcular
log(zp/zm)
de manera que evite la pérdida de precisión en latitudes bajas).area(f)
es el área del corte opaco desde el ecuador hasta la latitud f (alrededor de 30 grados al norte en la ilustración. X e Y son ejes de coordenadas cartesianas geocéntricas que se muestran como referencia.Para el elipsoide WGS 84, use los valores constantes
que implica
(Para un modelo esférico con a = b , la fórmula se vuelve indefinida. Debe tomar un límite como e -> 0 desde arriba, que luego se reduce a la fórmula estándar
2 * pi * a^2 * sin(f)
).De acuerdo con estas fórmulas, un cuadrángulo de 30 'por 30' basado en el ecuador tiene un área de 3077.2300079129 kilómetros cuadrados, mientras que un cuadrángulo de 30 'por 30' que toca un poste (que en realidad es solo un triángulo) tiene un área de solo 13.6086152 cuadrado kilómetros
Como verificación, las fórmulas aplicadas a todas las celdas de una cuadrícula de 720 por 360 que cubre la superficie de la Tierra dan un área de superficie total de 4 * pi * (6371.0071809) ^ 2 kilómetros cuadrados, lo que indica que el radio autálico de la Tierra debe ser de 6371.0071809 kilómetros. Esto difiere del valor de Wikipedia solo en la última cifra significativa (aproximadamente una décima de milímetro). (Creo que los cálculos de Wikipedia están un poco apagados :-).
Como comprobaciones adicionales, utilicé versiones de estas fórmulas para reproducir los Apéndices 4 y 5 en Lev M. Bugayevskiy y John P. Snyder, Map Projections: A Reference Reference (Taylor & Francis, 1995). El Apéndice 4 muestra longitudes de arco de secciones de meridianos y paralelos de 30 pies de largo, dados al metro más cercano. Una verificación puntual de los resultados mostró un acuerdo perfecto. Luego recreé la tabla con incrementos de 0.0005 ', en lugar de incrementos de 0.5', e integré numéricamente las áreas cuadrangulares como se estima con estas longitudes de arco. El área total del elipsoide se reprodujo con precisión a más de ocho cifras significativas. Apéndice 5 muestra los valores de
area(f)
para f = 0, 1/2, 1, ..., 90 grados, multiplicado por 1 / (2 * pi). Estos valores se dan al kilómetro cuadrado más cercano. Una verificación visual de valores cercanos a 0, 45 y 90 grados mostró un acuerdo perfecto.Esta fórmula exacta se puede aplicar usando álgebra ráster que comienza con una cuadrícula que da las latitudes de los límites superiores de cada celda y otra que da las latitudes de los límites inferiores. Cada uno de estos es, esencialmente, una cuadrícula de coordenadas y. (En cada caso, es posible que desee crear
sin(f)
y luegozm
yzp
como resultados intermedios). Reste los dos resultados, tome el valor absoluto de eso y multiplíquelo por la fracción q obtenida en el primer paso (igual a 0.5 / 360 = 1/720 para un ancho de celda de 30 ', por ejemplo). Esta será una cuadrícula cuyos valores contienen exactamenteáreas de cada celda (hasta la precisión numérica propia de la cuadrícula). Solo asegúrese de expresar las latitudes en la forma esperada por la función seno: ¡muchas calculadoras ráster le darán coordenadas en grados pero esperan radianes para sus funciones trigonométricas!Para el registro, aquí están las áreas exactas de las celdas de 30 'por 30' en el elipsoide WGS 84 desde el ecuador hasta un poste, en intervalos de 30 ', a 11 cifras (el mismo número utilizado para el radio menor b ):
Los valores están en kilómetros cuadrados.
Si desea aproximar estas áreas o simplemente comprender mejor su comportamiento, la fórmula se reduce a una serie de potencia que sigue este patrón:
dónde
(Una fórmula equivalente aparece en Bugayevskiy y Snyder, op. Cit. , Ecuación (2.1).)
Como e ^ 2 es muy pequeño (alrededor de 1/150 para todos los modelos elipsoidales de la Tierra) y z se encuentra entre 0 y 1, y también es pequeño. Por lo tanto, los términos y ^ 2, y ^ 3, ... se hacen más pequeños rápidamente, agregando más de dos decimales de precisión con cada término. Si nos vamos a ignorar y por completo, la fórmula sería la de la zona de una esfera de radio b . Los términos restantes pueden entenderse como correctores de la protuberancia ecuatorial de la tierra.
Editar
Se han planteado algunas preguntas sobre cómo un cálculo de distancia geodésica del área se compara con estas fórmulas exactas. El método de distancia geodésica aproxima cada cuadrángulo por las geodésicas, en lugar de los paralelos, que conectan sus esquinas horizontalmente, y aplica la fórmula euclidiana para un trapecio. Para los cuadrángulos pequeños, como los quads de 30 ', esto está sesgado ligeramente bajo y tiene una precisión relativa entre 6 y 10 partes por millón. Aquí hay una gráfica del error para WGS 84 (o cualquier elipsoide de tierra razonable, para el caso):
Por lo tanto, si (1) tiene fácil acceso a los cálculos de distancia geodésica y (2) puede tolerar un error de nivel de ppm, podría considerar usar esos cálculos geodésicos y multiplicar sus resultados por 1.00000791 para corregir el sesgo. Para dos decimales más de precisión, reste pi / 2 * cos (2f) / 10 ^ 6 del factor de corrección: el resultado será exacto dentro de 0.04 ppm.
fuente
La respuesta a la pregunta de radouxju depende de la forma del píxel cuando se proyecta sobre el elipsoide. Si el sistema de coordenadas del ráster es la longitud y la latitud, entonces el píxel es un rectángulo de línea de rumbo y se puede usar la respuesta de Whuber, o, más generalmente, puede usar la fórmula para un polígono cuyos bordes son líneas de rumbo. Si el sistema de coordenadas es una proyección conforme a gran escala (UTM, plano de estado, etc.), sería más preciso aproximar los bordes por geodésicas y usar la fórmula para un polígono geodésico. Los polígonos geodésicos son probablemente los mejores para uso general, ya que, a diferencia de los polígonos de línea de rumbo, se "comportan bien" cerca de los polos.
Las implementaciones de las fórmulas para los polígonos de línea geodésica y de rumbo son proporcionadas por mi biblioteca GeographicLib . El área geodésica está disponible en varios idiomas; el área de la línea de rumbo es solo C ++. Hay una versión en línea (línea geodésica + rumbo) disponible aquí . La precisión de estos cálculos suele ser mejor que 0.1 metro cuadrado.
Tendrás que juzgar sobre la credibilidad / oficial ... Las fórmulas geodésicas se derivan en el área bajo la geodésica (Danielsen, 1989, se requiere suscripción), y Algoritmos para geodésicas (Karney, 2013, acceso abierto). Las fórmulas de la línea de rumbo se dan aquí .
fuente
Me encontré con esta pregunta al intentar determinar una fórmula para el área de un píxel WGS84. Si bien la respuesta de @ whuber contiene esta información, todavía fue un trabajo obtener una fórmula para el área de un píxel de grado cuadrado en una latitud dada. He incluido una función de Python que escribí a continuación que resume esto en una sola llamada. Si bien no responde directamente a la pregunta del póster sobre el área de un ráster COMPLETO (aunque se podrían sumar las áreas de todos los píxeles), creo que sigue siendo información útil para alguien que pueda estar buscando un cálculo similar.
fuente