¿De alguna manera es posible en QGIS conectar etiquetas y puntos con una línea / flecha o algo así? En mi mapa no está claro qué etiqueta va con su punto. No puedo acercarlo porque hay muchos más puntos por venir.
¿De alguna manera es posible en QGIS conectar etiquetas y puntos con una línea / flecha o algo así? En mi mapa no está claro qué etiqueta va con su punto. No puedo acercarlo porque hay muchos más puntos por venir.
Respuestas:
Primero, cree campos de etiquetado para la posición X e Y de sus etiquetas en su tabla de puntos.
Active el posicionamiento X e Y en las propiedades de su capa.
Cree un nuevo estilo de "Expresión de generador" en su estilo de punto, configúrelo en tipo de línea, luego use las siguientes fórmulas:
make_line (make_point ($ x, $ y), make_point ("LABEL_X", "LABEL_Y"))
Como mejora, puede usar varios campos (o usar un complemento para crearlos todos) para controlar dónde estará el punto de alineación. Podría utilizar un campo de rotación y un campo de alineación vertical y horizontal.
La línea se moverá en consecuencia a su posición de etiqueta, ya que su punto de llegada está relacionado con el campo de posición de etiqueta.
Puede intentar descargar e instalar el complemento EasyCustomLabeling desde Complementos > Administrar e instalar complementos , esto crea una capa de memoria duplicada de la capa vectorial seleccionada y contiene los mismos atributos.
( Tenga en cuenta que también necesitará descargar e instalar el complemento Memory Layer Saver para guardar la capa de memoria correctamente, esto se describe en la descripción del complemento ).
Una vez que se crea su capa de etiqueta, puede jugar con la colocación de la etiqueta y el estilo de esa capa para tratar de obtener lo que está buscando:
¡Espero que esto ayude!
Con respecto al método por gisinside: se puede omitir el primer paso de agregar manualmente atributos x / y para etiquetas; (¿tal vez desde QGIS3?) ya existe una variable auxiliar para los posicionamientos de etiquetas. Las variables se llaman en consecuencia: "auxiliary_storage_labeling_positionx" y "auxiliary_storage_labeling_positiony".
Entonces, en el Paso Nr. 2 puedes usar esta expresión para dibujar líneas:
make_line (make_point ($ x, $ y), make_point ("auxiliary_storage_labeling_positionx", "auxiliary_storage_labeling_positiony"))
Sin embargo, tenga en cuenta que las variables auxiliares solo obtienen un valor asignado si toca / mueve las etiquetas con la herramienta mover-etiqueta. Por lo tanto, solo verá líneas para las etiquetas que se han movido manualmente.
Si está utilizando PostGIS para sus datos espaciales, esta publicación https://sigsemgrilhetas.wordpress.com/2015/01/12/etiquetas-com-guias-em-qgis-e-postgis-labels-leading-lines-with- qgis-and-postgis / por Alexandre Neto explica cómo se pueden agregar líneas iniciales a los puntos en su base de datos.
Es un tutorial bien escrito que vale la pena leer, también tiene una película en la publicación que muestra cómo funciona.
Espero que esto ayude.