Placer des numéros d'élévation sur les contours avec une orientation et une position en montée dans QGIS?

20

Je veux orienter mes étiquettes d'élévation vers le haut.

Est-ce possible?

J'utilise actuellement l'outil d'étiquetage de QGIS (pas celui-ci dans les paramètres de couche). Je veux que les étiquettes soient courbées et orientées vers le haut (et je voudrais définir la fréquence d'affichage des nombres). C'est tout pour une carte imprimée.

CARTE
la source
Voir chat.stackexchange.com/rooms/939/gis . Pas une réponse, j'ai peur. Pseudo.
nhopton
Êtes-vous strict à utiliser uniquement QGIS? Avez-vous envisagé d'utiliser d'autres logiciels pour préparer les données à étiqueter?
Alex Markov
J'utiliserais également d'autres logiciels, s'ils sont ouverts et gratuits :)
MAP

Réponses:

21

C'est parti, une méthode pour contrôler le placement des étiquettes de contour, voir l'image.

La première chose que j'ai faite a été de charger les contours. Ensuite, sur un nouveau fichier de formes de ligne, j'ai tracé une ligne du haut de la colline vers le bas (les étiquettes de l'image sont alignées avec cela). J'ai ensuite tamponné la ligne et utilisé le tampon pour couper la couche de contour. Après cela, j'ai chargé les contours coupés sur la couche de contour, défini la symbologie afin que les petites lignes ne s'affichent pas et j'ai étiqueté la couche coupée à l'aide du nouveau système d'étiquetage.

Dans l'exemple illustré, je n'ai utilisé qu'une seule ligne droite, mais bien sûr, il serait également possible d'utiliser des polylignes pour produire des étiquettes mieux placées.

Oh, vous n'avez besoin que d'une petite valeur tampon, 50 mètres je pense que j'ai utilisé dans l'exemple, même cela aurait pu être plus grand que strictement nécessaire.

entrez la description de l'image ici

nhopton
la source
Méthode créative. Je pourrais emprunter cette idée pour de futures cartes.
Sue Deforest
2
Ça a l'air sympa, très bonne idée, Nick! Mais cela ressemble à beaucoup de travail à faire pour une zone de 1000km² avec des centaines de collines et de montagnes ... :)
MAP
1
Un peu de hack sale, tu ne crois pas? :)
blah238
1
Ouaip! Mais c'est un compliment dans mon livre :) Oui, ce serait une bonne quantité de travail Martin, mais plus rapide que de changer d'étiquette de point à mon avis. Vous pouvez dessiner beaucoup de lignes pour la mise en mémoire tampon dans le même calque et comme je l'ai mentionné précédemment, elles n'auront pas à être droites. Mais ce ne serait pas une bonne idée de les croiser, je pense. Pseudo.
nhopton
Cette méthode combinée avec des couches virtuelles peut fournir un moyen interactif de définir l'étiquette le long d'une ligne.
Alexandre Neto
4

En utilisant le placement parallèle avec la "ligne de soufflet" et la "position dépendante de l'orientation de la ligne", j'ai réussi à toujours mettre les étiquettes sur le côté montant.

entrez la description de l'image ici

entrez la description de l'image ici

Le placement incurvé semble actuellement ignorer l'orientation des lignes. (J'ai signalé le comportement.)

De plus, il ne semble pas possible de réaliser des étiquettes à l'envers si vous visiez cela.

obscur
la source
l'orientation est la façon dont vous savez où «en montée» est par rapport au contour, même si les étiquettes sont à l'envers.
Mike T
1
Merci! Mais ça ne fonctionne pas très bien. L'orientation est toujours orientée vers l'angle de la ligne, pas vers le côté montant comme 1700m et 1900m ou les numéros de contour sur les collines sur le côté gauche. Mais merci!
MAP
@MikeToews J'en suis conscient mais actuellement il ne semble pas possible de créer des étiquettes inversées pour le moment (comme je l'ai mentionné dans la réponse).
underdark
«Règles» est un mot trop fort, mais il existe des conventions sur l'étiquetage des lignes et le nouveau système d'étiquetage fait un bon travail pour les respecter. Je pense que si vous vouliez sélectionner où sur la ligne les étiquettes apparaissent, vous devrez diviser les lignes en sections appropriées. Pseudo.
nhopton
Il pourrait y avoir une autre façon de gérer le placement des étiquettes de contour, laissez-moi y penser.
nhopton
4

Ce que vous pourriez faire est de créer un fichier de points à partir des contours avec un attribut de l'élévation (vous pouvez le faire en utilisant n'importe quel outil de profil en ligne). Ensuite, ajoutez au point la valeur d'aspect (vous aurez besoin du raster d'aspect mais c'est facile à produire) et enfin faites pivoter l'étiquette d'élévation dans les points en fonction de l'aspect (en fait, il devra être de 180 degrés + aspect, car l'aspect est la direction de la descente ). Vous pouvez styliser les points pour qu'ils ne s'affichent pas. J'espère que cela vous aidera, cela dépend fortement des détails de vos données, si l'aspect ne correspond pas à la direction du contour, cela peut être assez ennuyeux.

les bras
la source
1
(+1) Approche intelligente - et suffisamment générale pour fonctionner avec de nombreux SIG, et très flexible également. (Malheureusement, cette solution ne répond pas à l'exigence que les étiquettes se courbent avec les contours.) Bienvenue sur notre site!
whuber
1

Souvent, les sommets de la ligne de contour sont capturés de telle sorte que la montée est toujours du même côté de la ligne. C'est peut-être le cas de vos données ...

julien
la source
Cela semble être le cas pour le plugin QGIS Contour. Mais cela laisse toujours la question de savoir comment gérer les étiquettes.
underdark
0

Je suppose que le questionneur veut que les étiquettes de contour soient orientées vers le haut, plutôt que d'être placées sur le côté montant du contour.

Dans QGIS 3.2, accédez à

  • Couche -> Propriétés ...,
  • onglet Étiquetage
  • sous-onglet Rendu

et sélectionnez Afficher les étiquettes à l'envers = toujours . Sans cela, QGIS refusera d'imprimer les étiquettes à l'envers et vous vous retrouverez avec un mélange d'orientations.

Si vous trouvez que les étiquettes sont toutes dans le mauvais sens, vous pouvez utiliser l' outil Inverser la direction de la ligne dans la boîte à outils de traitement.

Notez que cela suppose que tous les contours du calque sont orientés de la même manière. Cela devrait être le cas si l'outil Contour de QGIS a été utilisé (qui appelle gdal_contour).

Tom Brennan
la source