¿Usa 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 tratado de 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.

usuario2543
fuente
Esto depende de dónde esté analizando en el mundo. Hay diferentes proyecciones para cada ubicación. Donde estas examinando
djq
55
La resolución es en realidad ~ 90m, no ~ 90km.
Akheloes
Solo un comentario, si está en mantenimiento para Desktop, puede iniciar sesión en ArcGIS Online y usar sus servicios de elevación (sin necesidad de la extensión NA). La capa de pendiente es de uso gratuito como capa de referencia. En Australia, tenemos los datos SRTM de 1 segundo (~ 30m res) blogs.esri.com/esri/arcgis/2014/07/11/…
Simon

Respuestas:

29

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 relación más grande de "ascenso" a "recorrido" encontrada en todos los posibles rodamientos 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. Peor aún, cuando la distorsión de la escala varía con el rumbo, que es el caso con todas las proyecciones que no son conformes, la forma en que la pendiente varía con el rumbo se calculará incorrectamente, evitando la identificación precisa de la relación máxima de aumento: carrera (y sesgando el cálculo del aspecto).

Podemos resolver esto usando una proyección conforme para asegurar que la distorsión de la escala no varíe con el rumbo, y luego corrigiendo las estimaciones de la pendiente para tener en cuenta la distorsión de la escala (que varía de un punto a otro en todo el mapa). El truco consiste en utilizar una proyección conforme global que permita una expresión simple para su distorsión de escala.

La proyección de Mercator se ajusta al proyecto de ley: suponiendo que la escala sea 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 manera equivalente, divídalos por cos (f). Esto nos da la receta simple:

Calcule la pendiente (como aumento: carrera o porcentaje) usando 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), realice los siguientes pasos:

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

  2. Calcule su coseno.

  3. Proyecte tanto el DEM como el coseno de la latitud utilizando una proyección de Mercator en la que la escala sea verdadera en el ecuador.

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

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

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

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

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


Cálculos totalmente 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 la 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 -latitud para el Polo Sur, como se discutió en los comentarios). Luego proceda exactamente como antes.

Para obtener una solución global completa, considere dividir la cuadrícula 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 haciendo un 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 el tamaño de las correcciones realizadas. 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 diferencias debido al remuestreo de las cuadrículas proyectadas deberían ser las únicas fuentes de discrepancias).

Referencias

John P. Snyder, Proyecciones cartográficas: un manual de trabajo . USGS Professional Paper 1395, 1987.

whuber
fuente
77
Me encuentro en la posición, como a menudo lo hago, de agradecer a Whuber una vez más por describir una solución , así como presentar el razonamiento que la construye. Me quito el sombrero, señor.
Matt Wilkie
Gracias @matt. No quise sugerir antes que su respuesta (ahora eliminada) debería ser anulada: de hecho, la había votado porque compartió un enlace a una referencia interesante del USGS que podría ser útil para muchos lectores. (Mi comentario era crítica sólo en un pasaje secundario en ese documento, no el propio papel.)
whuber
ahh gracias por la aclaración. He restaurado la respuesta, confiando en que las personas tienen suficiente información frente a ellos ahora para tomar una decisión informada :)
matt wilkie
2
Viniendo de un fondo francés, me llevó un tiempo traducir la terminología necesaria para comprender mejor esta gran respuesta, así que pensé que dejar este enlace es una buena ayuda para novatos como yo: webhelp.esri.com/arcgisdesktop/9.2/…
Akheloes
Es un gran enfoque y ya usé su solución para generar un ráster de pendiente global. Una pista de la experiencia práctica: dado que los valores de latitud al sur del ecuador son negativos, debe usar el valor de latitud absoluta en la siguiente ecuación: (1 + sin (latitud)) / 2
Saleika
18

Respuesta original

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

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

ArcToolbox> Herramientas de administración de datos> Proyecciones y transformaciones> Ráster> Proyecto Ráster

Elija una referencia espacial proyectada que cubra su región de interés, por ejemplo, pruebe una zona UTM. Hay muchas otras opciones que están mejor documentadas 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 , puedo ver y trabajar con los archivos. La gdaldemutilidad de GDAL puede calcular la pendiente y el sombreado utilizando una opción de escala para una relación de unidades verticales a horizontales. El manual recomienda 111120 m / ° para algo como las baldosas SRTM. Entonces, por ejemplo, desde un shell OSGeo4W:

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

La -compute_edgesopción hace que los bordes sean más uniformes, si desea unir algunos mosaicos. O calcule mosaicos para una región grande. La desventaja con la técnica de "escala" es que las distancias en las direcciones EW y NS no son iguales, excepto en el ecuador, por lo que para los mosaicos más cercanos a los polos, podría haber algunas tergiversaciones extrañas de la pendiente.

Mike T
fuente
Vale la pena enfatizar su comentario final: esta es una solución pobre para los puntos que no están cerca del ecuador. Este no es un pequeño asunto de "tergiversaciones extrañas": los resultados serán muy erróneos, especialmente en lugares más cercanos a los polacos que en el Ecuador. La documentación para los gdaldemestados "Para ubicaciones que no estén cerca del ecuador, sería mejor volver a proyectar la cuadrícula con gdalwarp antes de usar gdaldem". Desafortunadamente, eso no funcionará para los conjuntos de datos que cubren el mundo, a menos que los divida en pedazos pequeños (¿74 zonas UTM, tal vez?), Los proyecte, calcule las pendientes y mosaiquee los resultados.
whuber
7

En pocas palabras, no hay uno. Por definición, un sistema de coordenadas basado en grados no está proyectado. En términos comunes, 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 puedo localizarlo en este momento. En cualquier caso, habría sido experimental o lo construiría usted mismo a partir de un 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 resultantes de terremotos (USGS). La página 4 describe bien el problema

... la longitud de un grado varía según su ubicación latitudinal. En el ecuador, un bloque de un grado por un grado es razonablemente cuadrado cuando se convierte en unidades de metros (111,321 metros en la dirección x por 110,567 metros en la dirección y ... pero más cerca de los polos las distancias en los La dirección x se hace más pequeña en función del coseno de la latitud, debido a la convergencia de los meridianos. Una unidad común no es posible.

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

wilkie mate
fuente
1
La sugerencia de ese documento de que una proyección equidistante azimutal podría usarse para calcular las pendientes es errónea e incorrecta. De hecho, dará pendientes correctas cerca del origen de la proyección, pero también se volverán progresivamente menos precisas a medida que aumente la distancia al origen.
whuber
Gracias por señalar eso. Lectores, por favor asegúrese de leer gis.stackexchange.com/a/40464/108 también, para balance
matt wilkie
2

Los parámetros globales de DEM (donde la mayoría de las fórmulas se basan en la asunción del 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 mínima pérdida de precisión. Vea un ejemplo de DEM global a una resolución de 250 m en la RED EQUI7. Aquí puede encontrar un código de muestra que muestra cómo derivar parámetros DEM globales utilizando SAGA GIS. Una vez que complete la derivación de los parámetros DEM en el sistema EQUI7 GRID, puede volver a transformar todos los mapas en longlatcoordenadas WGS84 y luego crear un mosaico global usando GDAL.

Tom Hengl
fuente
¿Podría explicar cómo responde esto a la pregunta? Si está proponiendo el uso de proyecciones equidistantes para los cálculos de pendiente, tenga en cuenta que es una mala solución debido a las grandes distorsiones métricas relativas que se producen cuando uno se aleja del centro de la proyección. Aunque enfocar siete de estas proyecciones en las masas de tierra ayuda a aliviar ese problema, todavía no es la mejor opción.
whuber
El artículo de Bauer-Marschallinger et al. (2014) explica por qué se eligieron estas proyecciones para representar las masas de tierra globales (se supone que tienen una pérdida mínima de precisión). Estoy de acuerdo en que cualquier proyección 2D eventualmente conducirá a deformaciones, pero hasta donde yo sé, EQUI7 es un buen compromiso entre la pérdida de precisión y la comodidad (álgebra 2D). Dicho esto, los hexágonos se están utilizando nuevamente para representar superficies terrestres globales (aunque el análisis DEM con hexágonos 3D sigue siendo engorroso).
Tom Hengl
Gracias por la referencia. Su resumen sugiere que resuelve un problema bastante diferente, el de "minimizar el sobremuestreo de datos locales que aparece durante la proyección de imágenes de satélite genéricas en una cuadrícula de trama regular". Eso no implica que funcionará bien para otros fines, como estimar pendientes.
whuber
Por supuesto, EQUI7 no resuelve absolutamente el problema de estimar las pendientes locales con precisión, pero es probablemente una solución más elegante que usar la proyección de Mercator sugerida anteriormente. En última instancia, si se desea estimar las pendientes con una precisión perfecta, entonces las únicas opciones son probablemente (1) usar proyecciones locales (equidistantes) por mosaicos de menor tamaño (por ejemplo, 100 por 100 km) con una superposición del 10-20%, como se menciona también en Verdin y col. (2007) o (2) para usar la cuadrícula hexagonal ( paquete dggridR ).
Tom Hengl
El problema no es la precisión: se trata de producir pendientes y aspectos sistemáticamente sesgados. Debido a que las proyecciones equidistantes distorsionan diferencialmente las direcciones ortogonales a las geodésicas que se originan en sus centros, los aspectos siempre serán incorrectos (aunque razonablemente precisos cerca de los centros donde toda distorsión es baja) y los errores en las pendientes crecerán rápidamente con la distancia. El uso de muchas proyecciones locales, por supuesto, funcionará, pero es todo lo contrario de la elegancia que valoras.
whuber
-2

La pendiente es subir / correr. Calcule el ascenso y el cálculo y tendrá su respuesta. Es simple calcular la distancia entre coordenadas geográficas. Esto introducirá menos errores de remuestreo en comparación con la conversión a UTM, etc.

THK
fuente