Cómo amortiguar una línea con diferentes distancias para los lados izquierdo / derecho

14

¿Cómo puedo almacenar una línea en QGIS usando un atributo para el lado izquierdo de la línea y un atributo para el lado derecho de la línea? Estoy tratando de amortiguar un río con su ancho de banco, que es diferente en el lado derecho e izquierdo.

Olga
fuente
¿Has intentado utilizar el búfer JTS de QGIS? lin-ear-th-inking.blogspot.it/2010/11/…
julien

Respuestas:

8

Definir el lado de una línea es bastante sencillo en una superficie orientable , que es un plano 2D en un SIG. Si define un punto de inicio y un punto final para una línea, puede definir inequívocamente los lados "izquierdo" y "derecho". Este es el caso incluso si la línea se cruza a sí misma.

Desde un punto de vista más práctico, el flujo de trabajo simple para crear un búfer unilateral incluye un búfer estándar, una operación de diferencia y luego una operación de recorte. Aquí hay un ejemplo.

Comience creando un polígono que incluya o se superponga con precisión su línea. Para que el búfer esté en el lado derecho de su línea, el interior del polígono debe estar a la izquierda. Tenga en cuenta que si su línea se cruza a sí misma, entonces esto no funcionará como se desea, y es posible que deba dibujar el polígono de modo que no se cruce a sí mismo ni a su línea. Aplique la operación de búfer a este polígono. Con el complemento fTools, vaya a Herramientas de geoprocesamiento> Buffer.

Polígono

Usando la operación de diferencia, Herramientas de geoprocesamiento> Diferencia, con el búfer como capa de entrada y el polígono original como capa de diferencia, recorte el interior. Ahora tiene un búfer del lado derecho.

Polígono tamponado

Todo lo que queda es recortar la parte "extra" del polígono. Herramientas de geoprocesamiento> Clip.

Clip de polígono Línea final

katahdin
fuente
1

Esta es una pregunta muy interesante, que creo que no es trivial de resolver. Encontré un script para ArcMap que proporciona una solución muy bien documentada que abarca 500 líneas de código VB. Sin embargo, no conozco un script o módulo equivalente en QGIS.

Una de las consideraciones clave en un búfer asimétrico será la dirección del flujo de la línea, para que pueda definir un lado izquierdo y derecho. En el caso de los ríos, esto debería ser sencillo de calcular si tiene un DEM acompañante.

Puede ser posible construir un script qgis alrededor de la lógica de este script, pero eso requeriría una gran cantidad de trabajo.

sgrieve
fuente
1
En ArcMap esto es muy fácil de lograr. En el cuadro de diálogo de la herramienta tiene el parámetro Side Typeque puede ser izquierdo o derecho. Y tienes el parámetro Field. Por lo tanto, la creación de secuencias de comandos con esta herramienta le permite utilizar diferentes valores para ambos. Hace poco hice esto (vea mi pregunta aquí )
LarsVegas