2 votos

¿Recorte de líneas mediante expresión en QGIS?

Tengo un conjunto de carreteras que deseo recortar. Sin embargo, sólo necesito un segmento de cada carretera basado en el estado en el que se encuentra. Puedo hacer esto de forma independiente, pero parece que debe haber una mejor manera.

Intentaré explicarlo lo mejor posible:

Tengo la carretera A, B Y C. Tengo los estados 1, 2 y 3.

Las 3 carreteras pasan por cada uno de los estados. Sin embargo, necesito exportar sólo la parte de la carretera A dentro del estado 2, la parte de la carretera B dentro del estado 1 y la parte de la carretera C dentro del estado 3.

Espero que no sea demasiado confuso. En realidad, se trata de municipios, no de estados, pero creo que es una forma más sencilla de explicarlo.

Uso de QGIS 3.4 MADERIA

3voto

ghotan Puntos 29

Uso de expresiones en QGIS Geometría por expresión herramienta -

Se lo han proporcionado:

  • El nombre de la carretera es roads y tiene road_no campo para representar el nombre de la carretera (A, B, C)
  • El nombre del estado es states y tiene state_no campo (1, 2, 3)

enter image description here

Inicie Geometría por expresión herramienta en el Caja de herramientas de procesamiento de QGIS - Geometría vectorial

Seleccione su roads capa como entrada (1) y elija Line como tipo de geometría (2) y luego haga clic en la marca épsilon (3) .

enter image description here

Pruebe una expresión en el Expression Dialog ventana:

combine(
 combine(
  intersection(geometry(get_feature( 'roads',  'road_no', 'A')),
               geometry(get_feature('states', 'state_no', '2'))),
  intersection(geometry(get_feature( 'roads',  'road_no', 'B')),  
               geometry(get_feature('states', 'state_no', '1')))
  ),
  intersection(geometry(get_feature( 'roads',  'road_no', 'C')),  
               geometry(get_feature('states', 'state_no', '3')))
)

enter image description here

Devolverá una nueva capa temporal, Geometría modificada .

enter image description here

0voto

Timeless Puntos 144

No estoy seguro de que necesites la solución usando sólo la expresión. Sin embargo, le sugiero que utilice la opción

Intersect

esta operación en QGIS para generar las líneas que cruzan por separado en cada polígono de estado/multiplicidad. Las líneas tendrán los atributos del polígono de estado respectivo.

enter image description here

Los resultados son los siguientes:

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X