¿Cómo calcular la curvatura del terreno?

28

Tengo un ráster de elevación y me gustaría obtener algunas variables básicas del terreno, como pendiente, rugosidad, aspecto o curvatura.

El problema es que parece que no tengo la posibilidad de calcular la curvatura con el analista de terreno:

¿Alguien puede decirme por qué este indicador no está en la lista? ¿Cómo puedo calcularlo de otra manera?

    
pregunta Damien 18.10.2012 - 15:13

5 respuestas

20

La curvatura es una derivación compleja del terreno para calcular, la ecuación que usa depende de la resolución de sus datos de entrada, ya que debe asegurarse de que los resultados de curvatura que calcule se puedan distinguir del ruido en los datos.

Recientemente se han realizado muchas investigaciones sobre cálculos de curvatura en datos LiDAR de alta resolución que demostraron que existe una ruptura de escala con una resolución de alrededor de 2 o 3 metros y sobre este punto se necesitan algoritmos diferentes (con los que no estoy tan familiarizado) para ser utilizado. La mejor información sobre el cálculo de la curvatura topográfica probablemente proviene de Hurst et al 2012 y las referencias allí contenidas. .

El principio básico del cálculo de curvatura, al igual que con la pendiente y el aspecto, es pasar una ventana móvil sobre la superficie de elevación y ajustar los valores de elevación a una función polinomial de 6 términos, cuyos coeficientes producirán la pendiente, el aspecto y la curvatura de la celda central de la ventana móvil.

ArcGIS usa una ventana de búsqueda de 3x3 que solo dará buenos resultados en áreas completamente sin vegetación, lo que hace que la herramienta sea bastante inútil a menos que las personas estén conscientes de esta limitación, esto puede sugerir por qué no está presente en QGIS.

Las matemáticas se derivaron originalmente (creo) en Evans (1980) y se simplificaron en unas pocas páginas en Principios de Geográfico Sistemas de información (enlace de Amazon), que puedo recomendar como una buena guía para este tipo de análisis de terreno a un nivel básico.

Una forma de calcular la curvatura de un DEM es convertir el DEM en un ráster ascii, leerlo en una matriz numpy y luego realizar el ajuste polinómico en una ventana en movimiento que pasa a través de los datos. Esto es bastante fácil de hacer, pero su ejecución es muy lenta y requiere una buena cantidad de optimización (este tipo de operaciones a menudo se transfieren a c ++ para acelerarlas).

Para realizar la operación en QGIS puede utilizar el complemento GRASS r.slope.aspect que también está limitada por la ventana fija 3x3.

Me doy cuenta de que esta no es la respuesta simple que sin duda esperabas, pero espero que entiendas que la curvatura es compleja de derivar de una manera significativa. Todo lo mejor.

Evans, I. S. (1980), An integrated system of terrain analysis and slope mapping, Z. Geomorphol., 36, 274–295.
    
respondido por el sgrieve 18.10.2012 - 15:42
12

La versión de ESRI de Raster Analysis para calcular la curvatura podría ser útil para desarrollar un complemento para QGIS.

Para cada celda, un polinomio de cuarto orden de la forma:

  

Z=Ax²y²+Bx²y+Cxy²+Dx²+Ey²+Fxy+Gx+Hy+I

seajustaaunasuperficiecompuestaporunaventanade3x3.Loscoeficientesa,b,c,etc.secalculanapartirdeestasuperficie.

Lasrelacionesentreloscoeficientesylosnuevevaloresdeelevaciónparacadaceldanumeradacomosemuestraeneldiagramasonlassiguientes:DiagramadevaloresdecurvaturaDiagramadevaloresdecurvatura

  

A=[(Z1+Z3+Z7+Z9)/4-(Z2+Z4+Z6+Z8)/2+Z5]/L4

    

B=[(Z1+Z3-Z7-Z9)/4-(Z2-Z8)/2]/L3

    

C=[(-Z1+Z3-Z7+Z9)/4+(Z4-Z6)]/2]/L3

    

D=[(Z4+Z6)/2-Z5]/L2

    

E=[(Z2+Z8)/2-Z5]/L2

    

F=(-Z1+Z3+Z7-Z9)/4L2

    

G=(-Z4+Z6)/2L

    

H=(Z2-Z8)/2L

    

I=Z5

LasalidadelaherramientaCurvaturaeslasegundaderivadadelasuperficie,porejemplo,lapendientedelapendiente,demaneraque:

Curvatura=-2(D+E)*100

Informacióncompletayfuente:

enlace

    
respondido por el Mapperz 18.10.2012 - 15:40
6

La curvatura podría calcularse utilizando el módulo de SAGA 'Análisis del terreno - Morfometría --- > Pendiente, Aspecto, Curvatura '

El cálculo podría realizarse en función de uno de estos algoritmos:

  • Pendiente máxima (Travis et al. 1975)
  • Pendiente máxima del triángulo (Tarboton 1997)
  • Plano ajustado de Least Squares (Horn 1981, Costa-Cabral & Burgess 1996)
  • Fit 2.Degree Polynom (Bauer, Rohdenburg, Bork 1985)
  • Fit 2.Degree Polynom (Heerdegen & Beran 1982)
  • Fit 2.Degree Polynom (Zevenbergen & Thorne 1987)
  • Fit 3.Degree Polynom (Haralick 1983)
respondido por el Vladimir 24.10.2012 - 10:39
3

LandSerf puede hacer esto. Puede definir el tamaño de las ventanas (3 * 3, 5 * 5, 7 * 7, 11 * 11, ...) pero debe ser un número impar. Análisis multiescala. Se puede considerar la dependencia de escala de pendiente, aspecto y curvatura. enlace LandSerf ajustará la ecuación polinomial cuadrática a ventanas predefinidas específicas, pero si define el tamaño de ventanas grandes como 50 * 50, tomará mucho tiempo. Depende del tamaño de trama y el tamaño de las ventanas que defina. Jo Wood escribió Landserf para su tesis doctoral. Está escrito en Java.

  • curvatura del perfil
  • Curvatura del plan
  • Curvatura de longitud
  • Curvatura seccional transversal
  • curvatura media
  • curvatura mínima
  • curvatura máxima

Se puede calcular en la escala diferente en LandSerf

    
respondido por el ramin orkide 19.06.2017 - 18:03
2

También puedes probar el SAGA GIS gratuito (http://sourceforge.net/apps/trac/saga-gis/wiki) o TAS (http://www.uoguelph.ca/~hydrogeo/TAS/index.html ).

    
respondido por el Rok 23.10.2012 - 22:17

Lea otras preguntas en las etiquetas