Puntos de intersección de familia de rectas ortogonales con shapefile de cuenca hidrográfica y estimación de anchura máxima perpendicular al río

En el artículo anterior se generó un shapefile que constituye una familia de rectas ortogonales que pasan por el punto medio de cada segmento individual de una polilínea que representa un río. El objetivo es determinar los puntos de intersección de ésta con el shapefile de la cuenca hidrográfica. En el ambiente de QGIS es posible hacer esto con Vectorial -> Herramientas de análisis -> Intersecciones de líneas; usando como “Capa de líneas de entrada” familia_lineas y “Capa de intersección” cuenca_linea (dejando las opciones restantes en sus valores por defecto). El shapefile de puntos generado se nombró como cuenca_intercepto. Con propósitos ilustrativos también se encontraron los puntos de intersección (rio_intercepto) de familia_lineas con rio_split. El resultado se encuentra en la siguiente imagen:

La tabla atributiva de cuenca_intercepto no tiene coordenadas y éstas y los campos x,y correspondientes se añadieron, en ambiente de cónsola de GRASS, con los comandos siguientes:

v.db.addcol map=cuenca_intercepto layer=1 "columns=x double precision,y double precision"
v.to.db map=cuenca_intercepto option=coor columns=x,y

El shapefile se exportó al ambiente de QGIS y allí se hizo un join a rio_split, que contiene las coordenadas del punto medio de cada intervalo de la polilínea, con el fin de determinar todas las distancias perpendiculares al río. El campo de union fue ID y el campo objetivo grupo. El shapefile con el join se grabó con otro nombre y se le eliminaron los campos innecesarios. En la imagen siguiente se observa que el join fue el esperado:

donde se tiene un ejemplo de los tres puntos colineales necesarios para estimar las distancias perpendiculares al río (verificado para otras situaciones).

A continuación se tiene un extracto de la tabla atributiva donde se hicieron las determinaciones de las distancias mediante la calculadora de campos:

La fórmula empleada para las distancias fue:

distancia = sqrt((x-mean_x)^2 + (y-mean_y)^2)

En una hoja de cálculo la suma por grupo permitió obtener que la anchura máxima perpendicular al río fue de 103560.08673 m. Esta se encuentra resaltada en rojo en la imagen siguiente:

Para encontrar la longitud total del río se ejecuto, en cónsola de GRASS, el siguiente comando:

v.to.db -p map=rio_split type=line option=length col=longitud units=me > longitud

donde longitud es el siguiente archivo de texto:

cat	length
1	4148.9174084395
2	3437.3236947133
3	3568.1774455011
4	9706.4920589839
5	4760.5424799069
6	7028.4944544634
7	3843.0447210249
8	7225.0086614891
9	2080.5871036989
10	3673.6635256292
11	3638.8412845145
12	6922.6320878437
13	4995.4484237017
14	6055.3979236578
15	10092.3298727631
16	10064.5376986841
17	10390.6895630804
18	4797.8388500356
19	8398.4922554891
20	7460.8192791043
21	5195.3447815402

que en una hoja de cálculo produce el valor de 127484.623574265 m para la suma de todos los length. Por tanto, el índice de alargamiento (Ia) de la cuenca hidrográfica es:

Ia = 127484.623574265 / 103560.08673 = 1.23
About these ads
Esta entrada fue publicada en GRASS, QGIS, SAGA GIS, SIG, Software Libre. Guarda el enlace permanente.

3 respuestas a Puntos de intersección de familia de rectas ortogonales con shapefile de cuenca hidrográfica y estimación de anchura máxima perpendicular al río

  1. Pingback: Script de bash para sumar atributos en columnas con v.db.select (GRASS-QGIS) |

  2. Pingback: Script de bash para determinar valor máximo en columnas con v.db.select (GRASS-QGIS) |

  3. Pingback: Script de python para determinar el índice de alargamiento de una Cuenca Hidrográfica |

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s