Wie positioniere ich eine Hilfslinie an einer bestimmten Stelle im Print Composer?

8

Anstatt Hilfslinien auf einen Druckkomponisten zu ziehen, möchte ich eine Zahl eingeben, um sie an einem bestimmten Punkt festzulegen. Ist das möglich?

Ich möchte beispielsweise sicherstellen, dass Objekte an Randführungen in einem Abstand von 10 mm von den Seitenkanten ausgerichtet werden. Es ist umständlich, die Maus zu benutzen, und ich müsste sie zoomen, um genügend Markierungen auf dem Lineal zu sehen.

Gregory
quelle

Antworten:

7

Es gibt keine Möglichkeit, dies in der GUI zu tun, aber ein bisschen PyQGIS bringt Sie dorthin:

from PyQt4.QtCore import QLineF

#get composition
c = iface.activeComposers()[0].composition()

margin = 10.0

#top guide
c.addSnapLine().setLine( QLineF( 0, margin, c.paperWidth(), margin))

#bottom guide
c.addSnapLine().setLine( QLineF( 0, c.paperHeight() - margin, c.paperWidth(), c.paperHeight() - margin))

#left guide
c.addSnapLine().setLine( QLineF( margin, 0, margin, c.paperHeight() ))

#right guide
c.addSnapLine().setLine( QLineF( c.paperWidth() - margin, 0, c.paperWidth() - margin, c.paperHeight()))

Beachten Sie, dass Sie bei mehr als einem Komponisten die c = iface.activeComposers()[0].composition()Zeile ändern müssen , um die richtige Komponisten-Nummer wiederzugeben (z. B. activeComposers()[1]...).

Ndawson
quelle
1
Würde es lieben, dies im Kern zu sehen ...
DPSSpatial
1

Ich verwende Inkscape als endgültigen Renderer für QGIS-Karten, die etwas mehr benötigen als im Print Composer zu finden. Dies ist in Ordnung, da viele Kartografen Karten zur endgültigen Nachbesserung an Adobe Illustrator senden ...

Der Schlüssel besteht darin, Ihr Layout in Inkscape zu erstellen, die Hilfslinien an der gewünschten Stelle festzulegen, ein Rechteck zu zeichnen, das an Ihren Hilfslinien einrastet, und die Abmessungen dieses Rechtecks ​​in QGIS auf die Größe Ihres Druckkomponisten zurückzusetzen.

Anschließend können Sie Ihre Karte aus QGIS als PNG oder in einem anderen Format exportieren (um sicherzustellen, dass Ihre Auflösung je nach Anwendung Ihren Wünschen entspricht) und direkt in Ihr Inkscape-Layout einfügen.

Ist das ein zusätzlicher Schritt? Ja ... aber Sie können Ihre Inkscape- und QGIS-Vorlagen sinnvoll verwenden, wenn Sie dies häufig tun oder wenn Sie Situationen wie wir haben, in denen wir nicht nur eine genaue Platzierung der Hilfslinien benötigen, sondern auch Text außerhalb der Karte verwalten müssen am besten sowieso in einem Grafikpaket ... Ich habe heute Morgen eine Karte mit dieser Methode erstellt und sie sieht großartig aus!

Aber ... dies im QGIS-Kern zu haben, wäre schön ...

DPSSpatial
quelle
0

Sie müssen Ihre .qgis-Datei in einem Texteditor öffnen, um Hilfslinien genau zu positionieren. Die x- und y-Werte finden Sie in den 'SnapLine'-Tags.

Siehe auch: http://hub.qgis.org/issues/13950

verdunkelt durch den Mond
quelle