J'essaie d'obtenir le même style d'étiquette que l' orientation de positionnement perpendiculaire d'ArcGIS dans QGIS. Comme QGIS n'a pas cette fonctionnalité par défaut, l'option utiliserait un placement personnalisé pour cela.
Un exemple ArcGIS:
Une solution de contournement dans QGIS
Réglages:
Coordonnée X définie par les données (étiquette au milieu de la ligne):
$x_at( num_points( $geometry)/2)
Coordonnées Y définies par les données (identiques à l'emplacement de X):
$y_at( num_points( $geometry)/2)
Rotation définie par les données:
angle_at_vertex( $geometry , num_points( $geometry)/2)
Pour seulement 2/3 étiquettes, le placement est acceptable. Pour les lignes avec beaucoup de ruptures sous différents angles, il est plus difficile d'obtenir une belle étiquette.
ArcGIS semble rechercher le segment de ligne avec moins de ruptures ou un segment droit. Existe-t-il un moyen d'obtenir les coordonnées ou la géométrie du segment de ligne le plus droit à l'aide du générateur d'expression pour un meilleur placement des étiquettes?
line_interpolate_angle($geometry, some lenght)
et j'en ai pris plusieursangle_at_vertex( $geometry , num_points( $geometry))
. Une boucle sur cette fonction pourrait être une approche, mais je ne peux pas le faire directement dans le générateurRéponses:
Solution de contournement réelle
Supposons que ce type de géométries:
J'ai essayé de trouver un bon placement. Je travaille également avec l'atlas, j'ai donc utilisé une distance de 3% de la caractéristique de l'atlas à partir de la partie médiane de la ligne d'interpolation par sommet de l'entité pour placer des étiquettes:
Quelque chose comme ça:
Et je crée une flèche du sommet médian de l'entité à l'étiquette:
Réglages:
La Flèche:
Générateur de géométrie
Étiquette
Les données définissent X
Les données définissent Y
Cela pourrait peut-être être utile à quelqu'un.
S'il existe une meilleure approche, heureux de la recevoir.
la source