¿Hay alguna opción en QGIS para dibujar líneas paralelas que se ajusten en la parte exterior de la línea (líneas adyacentes) que son independientes de la escala?

12

Tengo que dibujar un mapa de una red de transporte público de autobuses y tengo un problema en las avenidas por donde pasan muchas líneas. Mi objetivo es hacer un mapa visual donde las líneas en esas avenidas sean paralelas entre sí y sin espacio entre ellas, para poder verlas todas al mismo tiempo, independientemente de la escala.

Probé las opciones de ajuste y el dibujo paralelo (herramientas CAD), pero el problema es que cuando cambio la escala, la distancia entre las líneas cambia y chocan o se separan una de la otra, lo que complica todo.

Entonces mi pregunta es:

  • ¿Hay alguna opción para dibujar líneas adyacentes que permanezcan adyacentes independientemente de la escala de visualización?

Nota: No sé si se usa adyacente para lo que quiero decir, así que aquí copio un ejemplo de lo que estoy buscando: Objetivo


Esto es lo que sucede cuando hago zoom:

Acercarse

Y cuando me alejo:

Disminuir el zoom

EDITAR: Aquí comparto una situación de por qué la solución sugerida no funcionaría para mí. Tres líneas comparten la misma calle por un tiempo, pero luego se separan en tres calles diferentes.

División

No puedo usar una sola línea con varias simbolizaciones porque a lo largo de la red, las líneas se dividen y se unen nuevamente (hay más de 15 líneas de bus).

Los datos contenidos en los datos del atributo no me ayudan, porque es solo una capa llena de líneas, sin otro atributo que no sea alguna información de red (número de autobuses / hora, pasajero / hora, etc.). (QGIS 2.8.6 trabajando en Windows 7)

Andreu Amoros
fuente
1
En QGIS 2.16, se introdujeron nuevas opciones de simplificación de renderizado . Aunque no puedo confirmar si esto ayudará en su situación.
Joseph
La forma en que haría esto en ArcGIS for Desktop es estableciendo una escala de referencia en el marco de datos .
PolyGeo
Hola @PolyGeo, el problema con esta solución (que se puede implementar en QGIS, cambiando las unidades a "unidad de mapa") es que necesito que las líneas cambien su ancho dependiendo de la escala pero no de la relación entre ellas. Sé que lo que necesito es algo muy específico y difícil de implementar. Algo más apropiado para Illustrator que para un software SIG. ¡Gracias por ayudar!
Andreu Amoros
¿Todos los archivos de forma de línea se encuentran uno encima del otro o ya hay algún tipo de desplazamiento entre ellos?
Joseph
En algunos casos se encuentran uno encima del otro y en otros casos no. ¿Qué propones?
Andreu Amoros

Respuestas:

6

No estoy seguro de que esto sea lo que realmente busca, pero puede usar una sola línea con una simbolización diferente para crear la apariencia de dos líneas paralelas.

Comenzando con una línea de 1.1 km en CRS 3857 (métrica, pseudo-Mercator según Google y otros servicios web):

ingrese la descripción de la imagen aquí

En propiedades, agregue otra capa de símbolo (para que vea dos líneas).

ingrese la descripción de la imagen aquí

Establezca el ancho de cada línea en unidades de mapa : en este caso, las unidades son metros y he seleccionado un ancho de 50 metros, y establezco el desplazamiento de cada línea a la mitad de su ancho, con una de ellas igual pero negativa compensar:

ingrese la descripción de la imagen aquí

Esto le da la apariencia que busca:

ingrese la descripción de la imagen aquí

... y persiste a diferentes escalas:

ingrese la descripción de la imagen aquí

Simbamangu
fuente
2
Pensé en esto, pero sería difícil tratarlo en las separaciones de líneas.
Victor
@Victor acerca de la separación: puede crear diferentes atributos como "línea simple", "línea doble" con valor Verdadero / Falso y usar etiquetado basado en reglas.
sweet.sugar.cola
1
@Victor estuvo de acuerdo, necesita obtener más información de OP sobre la naturaleza de los datos; Esta solución puede no funcionar dependiendo de cómo se conectan y separan las líneas.
Simbamangu
1
@Andreu, tal vez pueda hacer clic en 'editar' en su publicación original y agregar esa información (y un ejemplo de dónde esta solución no funcionaría ), y (mejor aún) algunos datos de muestra.
Simbamangu
@Simbamangu En primer lugar, gracias por probar una solución y compartirla conmigo. Incluso si esa solución puede funcionar en algunos casos, como dijo Victor, sería difícil usarla cuando las líneas se separan de las demás. De hecho, eso sucede cada vez que las líneas se dividen en diferentes calles. Los datos funcionan así: tengo todas las líneas de la red Bus en diferentes archivos de forma. El "problema" es que todos ellos están trazados de manera realista, por lo que cuando elijo más de uno a la vez, colisionan. Entonces, mi objetivo es hacer un mapa donde pueda ver visualmente toda la red. Editaré mi publicación.
Andreu Amoros
3

Si por "opción de ajuste" quiere decir que no puede cambiar la geometría de las polilíneas y solo puede cambiar su simbología, entonces lo que describió es casi imposible.

A partir de sus ejemplos, parece que busca renderizar polilíneas de modo que las porciones paralelas se toquen entre sí sin superponerse, por ejemplo, al hacer que el límite entre las dos líneas paralelas divida por igual su distancia de separación. Si vemos las representaciones de polilíneas como sus amortiguadores , entonces puede encontrar casos (similares a su Fig. 4), donde la misma línea debe tener diferentes anchos de "amortiguamiento" en diferentes porciones (dictadas por las líneas vecinas más cercanas). En otras palabras, el ancho de su buffer dependerá de otras polilíneas y puede variar en diferentes segmentos de las polilíneas. Pero, por lo general, la simbolización solo usa información / atributos de la característica en sí.

Por supuesto, siempre puede usar un "búfer" de radio fijo alrededor de las líneas y manipular manualmente los vértices (o editar los búferes) para que los límites se unan entre sí. Luego, los búferes permanecerían "ajustados" con el zoom dentro / fuera, aunque esto es una gran cantidad de trabajo manual y puede ser necesario un ajuste si se agregan nuevas líneas.

tinlyx
fuente
Gracias por la respuesta. Puedo cambiar la geometría de las polilíneas, pero dado que hay muchas líneas que se cruzan entre sí y muchas combinaciones diferentes, se vuelve muy laborioso y tedioso. Probé la solución de búfer, pero es aún más difícil que simplemente editar la forma de las líneas, porque tengo que definir la visualización dependiente en todos los segmentos de todas las líneas.
Andreu Amoros
1
@AndreuAmoros. Esto es exactamente lo que estaba sugiriendo. Editar las líneas (o los "búferes" asociados) lleva mucho tiempo, pero es necesario por la naturaleza de su requisito que estos búferes se acoplen entre sí.
tinlyx