Existe-t-il un moyen dans QGIS d'empêcher les étiquettes de texte de chevaucher les icônes utilisées pour étiqueter une couche de points?
Dans l'exemple de carte ci-dessous, il y a deux couches:
- Couche de routes étiquetée à l'aide du nouveau moteur d'étiquetage.
- Un calque de points qui utilise des icônes svg pour afficher les boucliers routiers.
J'ai d'autres cas d'utilisation pour cela, comme empêcher le chevauchement des icônes de gare ferroviaire. Dans cet exemple, je pourrais simplement déplacer le point, cependant, dans d'autres cas, comme une station de métro, ce n'est pas une solution viable.
Une solution possible que j'envisage impliquerait:
- Ajout d'une colonne au fichier dbf de la couche de points.
- Remplir la colonne ajoutée avec Null ou un espace.
- Activation de l'étiquetage [nouveau style] de QGIS pour la colonne ajoutée.
Est-ce la voie à suivre ou existe-t-il une meilleure méthode?
QGIS info: j'utilise les versions 1.7.4 et une version récemment compilée de 1.8 sur Mac OS 10.7.4. Les versions Linux et Windows sont également disponibles pour moi.
Mise à jour des progrès : La méthode que j'ai décrite ci-dessus fonctionne bien que deux modifications du processus soient nécessaires.
- Au lieu d'utiliser un caractère d'espace ou un Null , un espace insécable doit être utilisé. Lors des tests que j'ai trouvés, les champs avec Null ne sont pas rendus et les champs avec seulement un espace sont convertis en Null . (Voir cette page Wikipédia pour savoir comment taper un espace insécable .)
- Lors de la définition des paramètres d'étiquetage des calques, dans l'onglet Avancé, définissez le Placement sur Over Point . Définissez également la priorité de manière à ce qu'elle soit plus élevée que tout autre calque étiqueté.
Selon la taille de l'icône utilisée, une expérimentation peut être nécessaire pour que les choses fonctionnent comme prévu. Selon les circonstances, il peut être plus facile d'utiliser plusieurs caractères plutôt que d'essayer d'augmenter le poids et / ou la taille de la police.
Testé avec QGIS 1.7 et récemment compilé de 1.8 sur Mac OS 10.7.4.
Réponses:
La meilleure solution cohérente que j'ai jusqu'à présent est conforme à ce que j'ai exposé ci-dessus. En supposant qu'un fichier SHP est utilisé, les étapes sont les suivantes:
la source
Je sais que c'est ancien mais vous pouvez ajouter une colonne "Coordonnée X" et "Coordonnée Y" (double précision) au tableau qui contient ces informations, puis aller dans l'onglet "Paramètres définis par les données" sous Étiquettes dans les propriétés de la couche et modifier Coordonnée X et coordonnée Y en conséquence. Une fois que vous avez fait cela, vous pouvez déplacer l'étiquette à main levée en utilisant le bouton Déplacer l'étiquette.
la source
Je viens de poster une autre réponse à un problème similaire. L'approche utilise des symboles svg au lieu de couches et utilise un remplacement défini par les données pour définir le chemin vers un symbole svg distinct pour chaque valeur d'attribut, cp. ma réponse aux symboles au-dessus des étiquettes dans la carte QGIS
la source
Vous pouvez expérimenter le décalage de l'étiquette.
Je trouve que cela permet au positionnement de l'étiquette d'être plus dynamique, si je le fixe à 2 mm environ.
la source