Como posicionar uma guia em um ponto específico no Print Composer?

8

Em vez de arrastar as guias para um compositor de impressão, eu gostaria de digitar um número para defini-las em um ponto específico. É possível fazer isso?

Por exemplo, quero ter certeza de encaixar os objetos nas guias de margem a 10 mm das bordas da página. É complicado usar o mouse e eu precisaria ampliá-lo para ver marcas suficientes na régua.

Gregory
fonte

Respostas:

7

Não há como fazer isso na GUI, mas um pouco do PyQGIS o levará até lá:

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()))

Observe que, se você tiver mais de um compositor, precisará modificar a c = iface.activeComposers()[0].composition()linha para refletir o número correto do compositor (por exemplo activeComposers()[1], ...)

ndawson
fonte
1
Adoraria ver isso no núcleo ...
DPSSpatial
1

Eu uso o Inkscape como renderizador final para mapas QGIS que precisam de um pouco mais do que pode ser encontrado no Print Composer - o que é bom, pois muitos cartógrafos levam mapas ao Adobe Illustrator para retoques finais ...

A chave é criar seu layout no Inkscape, definindo as guias onde você as deseja, desenhando um retângulo que se encaixe nas guias e retornando as dimensões desse retângulo ao tamanho do seu compositor de impressão no QGIS.

Em seguida, você pode exportar seu mapa do QGIS como PNG ou outro formato (garantindo a resolução desejada, dependendo do aplicativo) e soltá-lo diretamente no layout do Inkscape.

Este é um passo extra? Sim ... mas você pode usar seus modelos Inkscape e QGIS de maneira útil se estiver fazendo muito isso ou se tiver situações como a nossa, em que além de precisarmos de um posicionamento preciso do guia, precisamos gerenciar o texto externo ao mapa melhor feito em um pacote gráfico de qualquer maneira ... Fiz um mapa hoje de manhã usando esse método e parece ótimo!

Mas ... ter isso no núcleo do QGIS seria bom ...

DPSSpatial
fonte
0

Você precisa abrir o arquivo .qgis em um editor de texto para posicionar as linhas de guia exatamente. Os valores x e y podem ser encontrados nas tags 'SnapLine'.

Veja também: http://hub.qgis.org/issues/13950

eclipsed_by_the_moon
fonte