Estimado profesor Felicísimo. Es un gusto contar con una explicación tan agradable. Lo recuerdo con cariño desde la publicación de Modelos Digitales del Terreno de 1994, documento invaluable para quienes nos enfocamos en las ciencias de la tierra y ambientales. Saludo cordial desde Colombia.
ปีที่แล้ว
Gracias Alexander, muy amable. Me alegro de que aquel librito valiera para algo, ya llovió mucho desde entonces :-) Un abrazo.
Gran video, muy buena explicación! Me quedó una duda, quisiera saber si es que la rugosidad entonces tiene una unidad de medida (asi como la distancia usa metros) y cuál sería para referenciar en las cartografias. Muchas gracias!
5 หลายเดือนก่อน
Hola, no hay definida una "unidad" de rugosidad. Lo que sí tenemos es que los valores tienen límites acotados entre 0 y 1; cero cuando la rugosidad es "infinita" (la suma de vectores unitarios es nula; no va a pasar nunca en un MDE) y 1 cuando es una superficie plana (vectores paralelos; puede pasar en un MDE).
Muy buen video, sólo me queda la duda sobre dónde está la bibliografía.
ปีที่แล้ว
En el segundo 16 tienes las referencias que yo he usado como principios de la elaboración del video. Las explicaciones concretas y su implementación en QGIS son cosa mía, lógicamente.
Antes que nada, agradecerle la gran explicación, me ha resultado muy útil y práctica. He realizado la elaboración, y lo único que no me da, es el resultado final con la raíz cuadrada de las tres variables. Hay un paso que no hice, el de los filtros del QGIS, ¿es necesario? muchas gracias
2 ปีที่แล้ว +1
Hola, los filtros sirven para definir el entorno para el cual quieres calcular la rugosidad. La verdad es que nunca he probado no usarlos porque es lo conceptualmente correcto. No se si el problema que tienes está ahí. Lo que se me ocurre es que vayas mirando con cuidado los valores mínimos y máximos que te van saliendo en las capas calculadas para estar segura de que corresponden con lo que se calcula, hasta encontrar el error. Por ejemplo, es muy típico calcular los senos y cosenos con la capa en grados en vez de en radianes y eso hace que no salga nada. Igualmente, en la operación de raiz cuadrada de la suma de los cuadrados de las capas, asegúrate de poner todos los paréntesis necesarios para que se haga bien. Suerte y saludos.
@ Podria facilitarnos como realizar el filtro para rugosidad?, tengo el mismo el error...
ปีที่แล้ว
@@10105864 No tengo una rutina específica. La tenía pero en AML, el antiguo lenguaje de Arcinfo. Por si alguien se anima a traducirla, es este: /* Cálculo del modelo de rugosidad /* Método: /* 1. Cálculo de los vectores unitarios normales a la superficie en un /* entorno de nxn celdas /* 2. Cálculo del módulo del vector suma normalizado en el intervalo 0-1 /* /* Autor: Angel M. Felicísimo /* Esta rutina puede usarse libremente; si se utiliza en algún trabajo /* sería elegante citar su procedencia &args theMDE .ventana &if %:program% GRID &then &return &warning Este programa debe ejecutarse en GRID &if [null %theMDE%] &then &return Uso: &r rugosidad MDE VENTANA &if not [exists %theMDE% -grid] &then &return El MDE no existe: &r rugosidad MDE VENTANA &if [null %.ventana%] &then &do &return Usando una ventana de 5x5 ... &s .ventana = 5 &end &type Calculando pendiente ... theMDP = slope (%theMDE%) / 57.2956 &type Calculando orientación ... theMDO = aspect (%theMDE%) / 57.2956 &type Calculando componentes X,Y,Z ... theXT = sin(theMDP) * cos(theMDO) theYT = sin(theMDP) * sin(theMDO) theZT = cos(theMDP) kill theMDO all &type Revisando horizontales ... XT = con(theMDP == 0, 0, theXT) YT = con(theMDP == 0, 0, theYT) ZT = con(theMDP == 0, 1, theZT) kill theXT all; kill theYT all; kill theZT all kill theMDP all &Type Calculando los vectores medios ... sumXT = focalmean(XT,rectangle,%.ventana%,%.ventana%) sumYT = focalmean(YT,rectangle,%.ventana%,%.ventana%) sumZT = focalmean(ZT,rectangle,%.ventana%,%.ventana%) kill XT all; kill YT all; kill ZT all &type Generando el modelo de rugosidad ... mdr = (sqrt(sqr(sumXT) + sqr(sumYT) + sqr(sumZT))) * 100 kill sumXT all; kill sumYT all; kill sumZT all &type Cálculo finalizado con ventana de %.ventana% x %.ventana% &type El modelo de rugosidad es MDR &return
No lo veo posible, suponiendo que te refieras a la superficie de la lámina de agua. La rugosidad de los océanos sí se mide desde satélites por la dispersión de la señal enviada por radares pero la resolución temporal es baja (10 km aprox.) Si te refieres al fondo de cauce habría que tener la batimetría pero sí sería posible por este método si se consigue la resolución suficiente.
¿algun codigo python para hacer todo el proceso? maestro!!. gracias exelente explicación.
2 ปีที่แล้ว +1
Hola Antony, la respuesta corta es que no. Hace años, cuando trabajada con Arcinfo, lo tenía programado en AML porque, lógicamente, es muy útil tener una rutina que haga todas las operaciones. Actualmente, Arcinfo ya no funciona y la rutina tampoco :-( A ver si alguien con más conocimiento de Python se anima, yo sólo programo en lenguajes añejos :-)
Gracias. aun así, nos ayuda mucho esta detallada explicación, espero que no deje de subir información QGIS, que nos ayude a los que queremos aprender. ¡¡Saludos!!
Genial explicación, muy didáctico lo usaré para automatizarlo (Y). Un gran nivel citaré el video
Me alegro de que te guste, saludos.
Excelente explicación! me ha quedado muy claro como se estima la rugosidad en un entorno SIG
Gracias.
Qué gusto escuchar una explicación de este nivel. Gracias por compartir
Gracias a tí, César, saludos.
Usted es el referente mundial……
Hola Miguel, muy bien explicado el tema. Por estas Pampas... aprendiendo de topografía y demás yerbas!
Estimado profesor Felicísimo. Es un gusto contar con una explicación tan agradable. Lo recuerdo con cariño desde la publicación de Modelos Digitales del Terreno de 1994, documento invaluable para quienes nos enfocamos en las ciencias de la tierra y ambientales. Saludo cordial desde Colombia.
Gracias Alexander, muy amable. Me alegro de que aquel librito valiera para algo, ya llovió mucho desde entonces :-) Un abrazo.
gracias profesor
Esto me ha sido útil en mas de una ocasión, gracias!!
Me alegro, saludos.
Buenísimo vídeo y contenido de calidad ¡Muchas felicidades Dr. Felicísimo! Suscrito.
Gracias Wilson, seguiré a la vuelta de las vacaciones, es septiembre. Saludos.
Gran video, muy buena explicación! Me quedó una duda, quisiera saber si es que la rugosidad entonces tiene una unidad de medida (asi como la distancia usa metros) y cuál sería para referenciar en las cartografias. Muchas gracias!
Hola, no hay definida una "unidad" de rugosidad. Lo que sí tenemos es que los valores tienen límites acotados entre 0 y 1; cero cuando la rugosidad es "infinita" (la suma de vectores unitarios es nula; no va a pasar nunca en un MDE) y 1 cuando es una superficie plana (vectores paralelos; puede pasar en un MDE).
Muy buen video, sólo me queda la duda sobre dónde está la bibliografía.
En el segundo 16 tienes las referencias que yo he usado como principios de la elaboración del video. Las explicaciones concretas y su implementación en QGIS son cosa mía, lógicamente.
Excelente.... No sabia esa aplicación..
Gracias, me alegro de que resulte de interés.
Antes que nada, agradecerle la gran explicación, me ha resultado muy útil y práctica. He realizado la elaboración, y lo único que no me da, es el resultado final con la raíz cuadrada de las tres variables. Hay un paso que no hice, el de los filtros del QGIS, ¿es necesario? muchas gracias
Hola, los filtros sirven para definir el entorno para el cual quieres calcular la rugosidad. La verdad es que nunca he probado no usarlos porque es lo conceptualmente correcto. No se si el problema que tienes está ahí. Lo que se me ocurre es que vayas mirando con cuidado los valores mínimos y máximos que te van saliendo en las capas calculadas para estar segura de que corresponden con lo que se calcula, hasta encontrar el error. Por ejemplo, es muy típico calcular los senos y cosenos con la capa en grados en vez de en radianes y eso hace que no salga nada. Igualmente, en la operación de raiz cuadrada de la suma de los cuadrados de las capas, asegúrate de poner todos los paréntesis necesarios para que se haga bien. Suerte y saludos.
@ Podria facilitarnos como realizar el filtro para rugosidad?, tengo el mismo el error...
@@10105864 No tengo una rutina específica. La tenía pero en AML, el antiguo lenguaje de Arcinfo. Por si alguien se anima a traducirla, es este:
/* Cálculo del modelo de rugosidad
/* Método:
/* 1. Cálculo de los vectores unitarios normales a la superficie en un
/* entorno de nxn celdas
/* 2. Cálculo del módulo del vector suma normalizado en el intervalo 0-1
/*
/* Autor: Angel M. Felicísimo
/* Esta rutina puede usarse libremente; si se utiliza en algún trabajo
/* sería elegante citar su procedencia
&args theMDE .ventana
&if %:program% GRID &then
&return &warning Este programa debe ejecutarse en GRID
&if [null %theMDE%] &then
&return Uso: &r rugosidad MDE VENTANA
&if not [exists %theMDE% -grid] &then
&return El MDE no existe: &r rugosidad MDE VENTANA
&if [null %.ventana%] &then
&do
&return Usando una ventana de 5x5 ...
&s .ventana = 5
&end
&type Calculando pendiente ...
theMDP = slope (%theMDE%) / 57.2956
&type Calculando orientación ...
theMDO = aspect (%theMDE%) / 57.2956
&type Calculando componentes X,Y,Z ...
theXT = sin(theMDP) * cos(theMDO)
theYT = sin(theMDP) * sin(theMDO)
theZT = cos(theMDP)
kill theMDO all
&type Revisando horizontales ...
XT = con(theMDP == 0, 0, theXT)
YT = con(theMDP == 0, 0, theYT)
ZT = con(theMDP == 0, 1, theZT)
kill theXT all; kill theYT all; kill theZT all
kill theMDP all
&Type Calculando los vectores medios ...
sumXT = focalmean(XT,rectangle,%.ventana%,%.ventana%)
sumYT = focalmean(YT,rectangle,%.ventana%,%.ventana%)
sumZT = focalmean(ZT,rectangle,%.ventana%,%.ventana%)
kill XT all; kill YT all; kill ZT all
&type Generando el modelo de rugosidad ...
mdr = (sqrt(sqr(sumXT) + sqr(sumYT) + sqr(sumZT))) * 100
kill sumXT all; kill sumYT all; kill sumZT all
&type Cálculo finalizado con ventana de %.ventana% x %.ventana%
&type El modelo de rugosidad es MDR
&return
saludos, se puede estimar la rugosidad de ríos?
No lo veo posible, suponiendo que te refieras a la superficie de la lámina de agua. La rugosidad de los océanos sí se mide desde satélites por la dispersión de la señal enviada por radares pero la resolución temporal es baja (10 km aprox.) Si te refieres al fondo de cauce habría que tener la batimetría pero sí sería posible por este método si se consigue la resolución suficiente.
¿algun codigo python para hacer todo el proceso? maestro!!. gracias exelente explicación.
Hola Antony, la respuesta corta es que no. Hace años, cuando trabajada con Arcinfo, lo tenía programado en AML porque, lógicamente, es muy útil tener una rutina que haga todas las operaciones. Actualmente, Arcinfo ya no funciona y la rutina tampoco :-( A ver si alguien con más conocimiento de Python se anima, yo sólo programo en lenguajes añejos :-)
Gracias. aun así, nos ayuda mucho esta detallada explicación, espero que no deje de subir información QGIS, que nos ayude a los que queremos aprender. ¡¡Saludos!!