Existe-t-il une option dans QGIS pour tracer des lignes parallèles qui s'alignent sur la partie extérieure de la ligne (lignes adjacentes) qui sont indépendantes de l'échelle?

12

Je dois dessiner une carte d'un réseau de transport public par bus et j'ai un problème dans les avenues où passent beaucoup de lignes. Mon objectif est de faire une carte visuelle où les lignes de ces avenues sont parallèles entre elles et sans espace entre elles, afin de toutes les voir en même temps, quelle que soit l'échelle.

J'ai essayé des options d'accrochage et de dessin parallèle (outils de CAO), mais le problème est que lorsque je change l'échelle, la distance entre les lignes change et qu'elles se heurtent ou se séparent l'une de l'autre, tout gâchant.

Ma question est donc:

  • Existe-t-il une option pour dessiner des lignes adjacentes qui restent adjacentes indépendamment de l'échelle de visualisation?

Remarque: je ne sais pas si adjacent est utilisé pour ce que je veux dire, alors ici je copie un exemple de ce que je recherche: Objectif


Voici ce qui se passe lorsque je fais un zoom avant:

Agrandir

Et quand je fais un zoom arrière:

Dézoomer

EDIT: Ici, je partage une situation pour laquelle la solution suggérée ne fonctionnerait pas pour moi. Trois lignes partagent la même rue pendant un certain temps, mais elles se séparent ensuite en trois rues différentes.

Divisé

Je ne peux pas utiliser une seule ligne avec plusieurs symbolisations car sur tout le réseau, les lignes se séparent et se rejoignent (il y a plus de 15 lignes de bus).

Les données contenues dans les données d'attribut ne m'aident pas, car ce n'est qu'une couche pleine de lignes, sans attribut autre que certaines informations de réseau (nombre de bus / heure, passager / heure, etc.). (QGIS 2.8.6 fonctionne sur Windows 7)

Andreu Amoros
la source
1
Dans QGIS 2.16, de nouvelles options de simplification du rendu ont été introduites. Bien que je ne puisse pas confirmer si cela vous aidera dans votre situation.
Joseph
La manière de procéder dans ArcGIS for Desktop consiste à définir une échelle de référence sur le bloc de données .
PolyGeo
Salut @PolyGeo, le problème avec cette solution (qui peut être implémentée dans QGIS, changer les unités en "unité de carte") est que j'ai besoin des lignes pour changer leur largeur en fonction de l'échelle mais pas de la relation entre elles. Je sais que ce dont j'ai besoin est quelque chose de très spécifique et difficile à mettre en œuvre. Quelque chose de plus approprié pour Illustrator que pour un logiciel SIG. Merci pour ton aide!
Andreu Amoros
Tous les fichiers de formes de ligne se trouvent-ils les uns sur les autres ou y a-t-il déjà une sorte de décalage entre eux?
Joseph
Dans certains cas, ils se trouvent les uns sur les autres et dans d'autres cas, ils ne le font pas. Que proposez vous?
Andreu Amoros

Réponses:

6

Je ne suis pas sûr que ce soit vraiment ce que vous recherchez, mais vous pouvez utiliser une seule ligne avec une symbolisation différente pour créer l'apparence de deux lignes parallèles.

À partir d'une ligne de 1,1 km en CRS 3857 (métrique, pseudo-Mercator selon Google et autres services Web):

entrez la description de l'image ici

Dans les propriétés, ajoutez un autre calque de symboles (vous voyez donc deux lignes).

entrez la description de l'image ici

Définissez la largeur de chaque ligne en unités de carte - dans ce cas, les unités sont en mètres et j'ai sélectionné une largeur de 50 mètres, et définissez le décalage de chaque ligne à la moitié de leur largeur, l'un d'eux ayant un égal mais négatif décalage:

entrez la description de l'image ici

Cela donne l'apparence que vous recherchez:

entrez la description de l'image ici

... et elle persiste à différentes échelles:

entrez la description de l'image ici

Simbamangu
la source
2
J'y ai pensé mais ce serait difficile à gérer lors des séparations de lignes.
Victor
@Victor sur la séparation: vous pouvez créer différents attributs comme "une seule ligne", "double ligne" avec la valeur True / False et utiliser l'étiquetage basé sur des règles.
sweet.sugar.cola
1
@Victor a accepté, il faut obtenir plus d'informations d'OP sur la nature des données; cette solution peut ne pas fonctionner selon la façon dont les lignes se connectent et se séparent.
Simbamangu
1
@Andreu, vous pouvez peut-être cliquer sur "modifier" sur votre message d'origine, ajouter ces informations (et un exemple de cas où cette solution ne fonctionnerait pas ), et (mieux encore) quelques exemples de données?
Simbamangu
@Simbamangu Tout d'abord, merci d'avoir essayé une solution et de la partager avec moi. Même si cette solution peut fonctionner dans certains cas, comme l'a dit Victor, il serait difficile de l'utiliser lorsque les lignes se séparent des autres. En fait, cela se produit à chaque fois que les lignes se divisent en différentes rues. Les données fonctionnent comme ça: j'ai toutes les lignes du réseau Bus dans différents fichiers de formes. Le "problème" est que tous sont tracés de manière réaliste, donc quand j'en choisis plus d'un à la fois, ils entrent en collision. Mon objectif est donc de faire une carte où vous pouvez voir visuellement l'ensemble du réseau. Je vais modifier mon message.
Andreu Amoros
3

Si par "option d'accrochage" vous voulez dire que vous ne pouvez pas changer la géométrie des polylignes et que vous pouvez seulement changer leur symbologie, alors ce que vous avez décrit est presque impossible.

D'après vos exemples, vous semblez chercher à rendre les polylignes de telle sorte que les parties parallèles se touchent sans se chevaucher, par exemple en ayant la frontière entre les deux lignes parallèles divisant également leur distance de séparation. Si nous considérons les représentations de polyligne comme leurs tampons , alors vous pouvez trouver des cas (similaires à votre Fig. 4), où la même ligne devrait avoir différentes largeurs de "tampon" à différentes parties (dictées par les lignes voisines les plus proches). En d'autres termes, la largeur de votre tampon dépendrait d'autres polylignes et peut varier selon différents segments des polylignes. Mais généralement, la symbolisation utilise uniquement les informations / attributs de l'entité elle-même.

Bien sûr, vous pouvez toujours utiliser un "tampon" à rayon fixe autour des lignes, et manipuler manuellement les sommets (ou modifier les tampons) de sorte que les limites s'alignent les unes sur les autres. Ensuite, les tampons resteraient "cassés" avec un zoom avant / arrière, bien que cela demande beaucoup de travail manuel et qu'un ajustement puisse être nécessaire si de nouvelles lignes sont ajoutées.

tinlyx
la source
Merci pour la réponse. Je peux changer la géométrie des polylignes, mais comme il y a beaucoup de lignes qui se croisent et beaucoup de combinaisons différentes, cela devient très long et fastidieux. J'ai essayé la solution tampon, mais c'est encore plus difficile que de simplement modifier la forme des lignes, car si je dois définir une visualisation dépendante dans tous les segments de toutes les lignes.
Andreu Amoros
1
@AndreuAmoros. C'est exactement ce que je proposais. La modification des lignes (ou des "tampons" associés) prend certes beaucoup de temps, mais la nature de vos exigences exige que ces tampons se calent les uns sur les autres.
tinlyx