¿Utilizando SRTM Global DEM para el cálculo de la pendiente?

17

He descargado SRTM GDEM (resolución de ~ 90 km).

Estoy usando ArcGIS 10.

He intentado usar un analista espacial para calcular la pendiente.

Sin embargo, no puedo calcular la pendiente.

Los valores de salida tienen solo dos rangos 0 y 0.1-90.

No estoy realmente seguro de cuál es el problema?

    
pregunta user2543 19.09.2011 - 05:44

5 respuestas

28

Este parece ser un buen lugar para describir una manera simple, rápida y más que razonablemente precisa de calcular pendientes para un DEM globalmente extenso .

Principios

Recuerde que la pendiente de una superficie en un punto es esencialmente la mayor proporción de "subida" a "carrera" encontrada en todos los cojinetes posibles desde ese punto. El problema es que cuando una proyección tiene distorsión de escala, los valores de "ejecución" se calcularán incorrectamente. Lo que es peor, cuando la distorsión de la escala varía con el rumbo, como ocurre con todas las proyecciones que no son conformes, se calculará incorrectamente la pendiente con el rumbo, lo que evitará una identificación precisa del aumento máximo: la relación de carrera (y desviando la inclinación). cálculo del aspecto).

Podemos resolver esto usando una proyección conformal para asegurarnos de que la distorsión de la escala no varía con el rumbo, y luego corregir las estimaciones de pendiente para tener en cuenta la distorsión de la escala (que varía de un punto a otro a lo largo del mapa). El truco es usar una proyección conformal global que permita una expresión simple para la distorsión de su escala.

La proyección de Mercator encaja a la perfección: asumiendo que la escala es correcta en el Ecuador, su distorsión es igual a la secante de la latitud. Es decir, las distancias en el mapa parecen multiplicarse por la secante. Esto hace que cualquier cálculo de pendiente calcule el aumento: (sec (f) * run) (que es una relación), donde f es la latitud. Para corregir esto, necesitamos multiplicar las pendientes calculadas por sec (f); o, de forma equivalente, dividirlos por cos (f). Esto nos da la receta simple:

  

Calcule la pendiente (como aumento: carrera o porcentaje) utilizando una proyección de Mercator, luego divida el resultado por el coseno de la latitud.

Flujo de trabajo

Para hacer esto con una cuadrícula dada en grados decimales (como un SRTM DEM), realiza los siguientes pasos:

  1. Crea una cuadrícula de latitud. (Esto es solo la cuadrícula de coordenadas y).

  2. Calcular su coseno.

  3. Proyecte ambos el DEM y el coseno de la latitud usando una proyección de Mercator en la cual la escala es verdadera en el ecuador.

  4. Si es necesario, convierta las unidades de elevación para que coincidan con las unidades de las coordenadas proyectadas (generalmente metros).

  5. Calcule la pendiente del DEM proyectado como una pendiente pura o como un porcentaje ( no como un ángulo).

  6. Divida esta pendiente por la cuadrícula de coseno (latitud) proyectada.

  7. Si lo desea, vuelva a proyectar la cuadrícula de pendiente en cualquier otro sistema de coordenadas para su posterior análisis o mapeo.

Los errores en los cálculos de pendiente serán de hasta 0,3% (porque este procedimiento utiliza un modelo esférico de tierra en lugar de uno elipsoidal, que se aplana en 0,3%). Ese error es sustancialmente más pequeño que otros errores que se incluyen en los cálculos de pendiente y, por lo tanto, se pueden ignorar.

Cálculos completamente globales

La proyección de Mercator no puede manejar ninguno de los polos. Para el trabajo en regiones polares, considere usar una proyección estereográfica polar con escala real en el polo. La distorsión de escala es igual a 2 / (1 + sin (f)). Use esta expresión en lugar de sec (f) en el flujo de trabajo. Específicamente, en lugar de calcular una cuadrícula de coseno (latitud), calcule una cuadrícula cuyos valores son (1 + sin (latitud)) / 2 ( editar : use -latitude para el Polo Sur, como se explica en la comentarios). Luego proceda exactamente como antes.

Para una solución global completa, considere dividir la rejilla terrestre en tres partes (una alrededor de cada polo y otra alrededor del ecuador), realizando un cálculo de pendiente por separado en cada parte utilizando una proyección adecuada , y mosaico de los resultados. Un lugar razonable para dividir el globo es a lo largo de círculos de latitud en latitudes de 2 * ArcTan (1/3), que es de aproximadamente 37 grados, porque en estas latitudes los factores de corrección de Mercator y estereográficos son iguales entre sí (tienen un valor común de 5/4) y sería bueno minimizar los tamaños de las correcciones hechas. Como verificación de los cálculos, las cuadrículas deben estar muy de acuerdo donde se superponen (pequeñas cantidades de imprecisión de punto flotante y las diferencias debidas al remuestreo de las cuadrículas proyectadas deberían ser las únicas fuentes de discrepancias).

Referencias

John P. Snyder, Proyecciones de mapas - Un manual de trabajo . USGS Professional Paper 1395, 1987.

    
respondido por el whuber 06.11.2012 - 22:33
18

Respuesta original

Supongo que las unidades horizontales para tu ráster están en grados o en segundos de arco. Debe reproyectar este ráster a una proyección espacial donde sus unidades horizontales y verticales sean las mismas (es decir, si las unidades verticales están en metros, sugiero usar UTM, que tiene unidades de metros horizontales).

Para reproyectar un ráster con ArcCatalog / ArcGIS, busque en:

  

ArcToolbox > Herramientas de gestión de datos > Proyecciones y transformaciones > Raster > Proyecto Raster

Elija una referencia espacial proyectada que cubra su región de interés, por ejemplo, pruebe una zona UTM. Hay muchas otras opciones que son mejor documentada en el manual . Tenga en cuenta que no puede crear un conjunto de datos de pendiente para toda la Tierra (si eso es lo que está tratando de hacer).

Mejor respuesta, usando GDAL con una escala

Ahora que los datos SRTM están disponibles a nivel mundial realmente puedo ver y trabajar con los archivos. La utilidad gdaldem de GDAL puede calcular la pendiente y la pendiente usando una opción de escala para una relación de unidades verticales a horizontales. El manual recomienda 111120 m / ° para algo como azulejos SRTM. Así, por ejemplo, desde un shell OSGeo4W:

$ gdaldem slope -s 111120 -compute_edges N44E007.hgt N44E007_slope.tif

La opción -compute_edges hace que los bordes sean más transparentes, si desea unir unos cuantos mosaicos. O compile los azulejos para una región grande. La desventaja con la técnica de "escala" es que las distancias en las direcciones E-W y N-S no son iguales, excepto en el ecuador, por lo que para las baldosas más cercanas a los polos, podría haber algunas representaciones erróneas de pendiente.

    
respondido por el Mike T 19.09.2011 - 06:00
7

En pocas palabras, no hay uno. Por definición, un sistema de coordenadas basado en grados no está proyectado. En el lenguaje común, decimos que WGS84 es una proyección "geográfica", pero eso no es cierto, solo por conveniencia.

Creo que recuerdo haber leído sobre un software o proceso para trabajar con precisión con modelos de elevación en un espacio geográfico no proyectado, pero no lo puedo encontrar ahora. En cualquier caso, se trataría de un experimento o de una compilación a partir del tipo de proceso de código.

Ahhh, lo encontré: Desarrollo de un conjunto de datos de pendiente global para la estimación de la ocurrencia de deslizamientos de tierra resultante de terremotos ( USGS). La página 4 describe bien el problema

  

... la longitud de un grado varía según su latitudinal   ubicación. En el ecuador, un bloque de un grado por un grado es   razonablemente cuadrado cuando se convierte a unidades de metros (111,321 metros en   la dirección x en 110,567 metros en la dirección y ... pero más cerca de   los polos las distancias en la dirección x se hacen más pequeñas como una función   del coseno de latitud, debido a la convergencia de los meridianos. Más   Los paquetes GIS, incluido ArcGIS, operan solo en píxeles cuadrados, y así   usar un factor para ajustar las dimensiones x, y o z a una unidad común es   no es posible.

El documento describe los cálculos específicos y las herramientas de software (, , ) que se utilizaron para solucionar este problema fundamental. El documento no incluye el código, pero si se les pregunta bien, pueden compartirlo. En cualquier caso, aunque probablemente solo pregunte dónde están los resultados, siendo el USGS probablemente ya esté en línea en algún lugar. :)

    
respondido por el matt wilkie 06.11.2012 - 20:51
2

Los parámetros DEM globales (donde la mayoría de las fórmulas se basan en el supuesto de espacio euclidiano) se pueden derivar de manera eficiente utilizando el sistema EQUI7 GRID (Bauer-Marschallinger et al. 2014). EQUI7 GRID divide el mundo en 7 áreas terrestres, todas proyectadas en un sistema de proyección equidistante con una pérdida mínima de precisión. Vea el ejemplo de DEM a una resolución de 250 m en el EQUI7 GRID. Aquí puede encontrar algunos código de muestra que muestra cómo derivar los parámetros globales de DEM utilizando SAGA GIS. Una vez que haya completado la derivación de los parámetros DEM en el sistema EQUI7 GRID, puede transformar todos los mapas en coordenadas WGS84 longlat y luego crear un mosaico global utilizando GDAL.

    
respondido por el T. Hengl 20.02.2017 - 17:22
-2

La pendiente es subida / carrera. Calcula el aumento y calcula la ejecución y tienes tu respuesta. Es sencillo calcular la distancia entre coordenadas geográficas. Esto introducirá menos errores de remuestreo en comparación con la conversión a UTM, etc.

    
respondido por el THK 20.02.2015 - 23:50

Lea otras preguntas en las etiquetas