タグ付けされた質問 「print-composer」

Print composerは、QGISで拡大するレイアウトおよび印刷機能を提供します。

1
北矢印と縮尺をQGIS 2.2.0のCOMPOSERでマップに配置する方法
私はQGISを初めて使用するので、ノースアローについてここで質問および回答された質問は、以下の問題の解決に役立たないようです。 QGIS 2.2.0 Valmieraのメインマッピングペインで、縮尺と方位記号を追加できますが、マップを印刷するためにComposerに移動するとすぐに、これら2つのものがComposerで開いたマップから消えます。 Composerには縮尺を追加できるものが含まれていますが、表示される地図の地球の表面の実際の縮尺ではなく、印刷する用紙上の実際の縮尺が表示されます。地図を更新してみましたが、うまくいきませんでした。 一番下の行はこれです:Composerでどのようにしてスケール項目(ズームイン!

4
QGIS Print Composerでビューを同期していますか?
私の問題と非常によく似た質問が見つかりました:ArcGISまたはQGISでデータフレームをリンクする方法は?。しかし、QGISのソリューションは現在機能していません(Dual Viewプラグインは使用できなくなりました)。 3つのビューを同期したい: アイデアは、QGIS Print Composerのマスターマップで3つのマップビューを同時に移動することです。 これを行う方法またはプラグインはありますか?

1
Map Composer QGISでの自動マップ回転
それは、map composerで地図の回転を自動的に計算できるようにしたいのですが。独自の投影パラメータを持つ1つのファイルに多くのマップがあり、投影式に基づいてマップコンポーザでマップの回転を定義したいと思います(または他に何ですか?) 例:プロジェクト内の特定の1つのマップの場所: 投影は Map Composerでは、マップ境界は次のようになります。 そして、その投影パラメータを使用して、マップの選択された回転角度で: 地図の回転角度は、場所と投影パラメータに応じて、地図ごとに異なります。 このプロセスを自動化してマップの回転角度を自動的に計算することは可能ですか?毎回この値を手動で見つける必要はありません(アトラス生成メニューを介してすべてのマップにUniversal Composerを作成したいと思います)?

3
最初のラベルがQGISに適合しない場合、代替ラベルに変更しますか?
印刷するマップを作成しようとしていますが、ポリゴンのサイズが大きく異なります。これは参照マップになるので、すべてのポリゴンにラベルを付ける必要がありますが、一部の名前はポリゴンに収まりません。そのような場合は、代わりに機能IDを使用し、IDを名前にリンクする属性テーブルを用意します。 私がやりたいのは、マップで使用するラベルと属性テーブルに含める行を選択するために使用できるある種の式です。このようなisLabelledものは、マップの縮尺、ラベルの長さ、フォントサイズなどを考慮に入れることができます。


1
QGISのPythonスクリプトを使用して、コンポーザーマップにキャンバスデータを入力し、構成をpngとしてエクスポートする方法
QGISでPythonスクリプトを作成し、いくつかのデータ(この例ではshp + tif)を取得し、(ファイルから)tamplate Map Composerを使用して、作成したコンポジションをpng画像にエクスポートします。 プログラミングの経験はほとんどありません(基本的なPythonの知識はありません)。いくつかのコードスニペットをググって、それらを一緒に動作させるようにしています。以前に回答したいくつかの質問からMap Composerコードを取得しました 。Pythonを使用して(表示レイアウトの何も変更せずに)Print / Map QGIS composerビューをPNG / PDFとして保存しますか? データとMap Composerテンプレート(単一のマップと凡例項目が定義されている)をなんとかロードしましたが、エクスポートpng画像には空のマップフレームがあります(フレーム内にベクター/ラスターデータはありません)。ただし、凡例のアイテムは問題ありません。 このコードを機能させるための助けはありますか? from qgis.core import * import qgis.utils from PyQt4 import QtCore, QtGui from qgis import core, gui # ADD VECTOR LAYER data_folder = "D:/QGIS/dane/" granica = "granica_SZ VI_UTM34.shp" granica_name = granica[0:-4] granica = data_folder …

2
プログラムでテンプレートからcomposerを読み込み、PyQGISを使用してアトラスを生成する
ファイルから印刷コンポーザーをロードし、アトラスを生成して画像にエクスポートするプラグインを構築しようとしています。これまでのところ、テンプレートの読み込みと画像へのエクスポートに成功しています。 凡例のレイヤー(tocにもあります)をエクスポートしたマップに追加できなかったため、マップが空白になり、フィールド式が機能しなくなりました。 # Get layers in the legend and append, must be a cleaner way to do this? layers = self.iface.legendInterface().layers() layerStringList = [] for layer in layers: layerID = layer.id() layerStringList.append(layerID) # Add layer to map render myMapRenderer = QgsMapRenderer() myMapRenderer.setLayerSet(layerStringList) myMapRenderer.setProjectionsEnabled(False) # Load template myComposition = QgsComposition(myMapRenderer) myFile …


1
QGISコンポーザーの裁ち落としスペースでのラベルのレンダリングを防ぐ方法は?
私は地図がページの端に走る本の地図を作っています。プリンタは画像の周囲に3mmの裁ち落としスペースを推奨しているため、ページが127x177 mmの場合、画像は133x183 mmになるはずです。この裁ち落としスペースは、本のページが切り取られたときのエラーを許容するためのものであり、マップの場合には重要な情報はありません。だから私はこれらの余分な3mmをすべての辺に含むコンポーザーページサイズを使用しています。 町のラベルを地図の端で切り取ってほしくないので、[部分ラベルを表示]オプションを無効にしました。ただし、ラベルはこの3 mmの「ノーマンズランド」内にまだ表示されており、プリンターによってカットされる可能性があります。 私が検討した解決策は、2つの重なり合った同心円状の完全に位置合わせされたマップを作成することです。下のマップは裁ち落としの端まで走り、町は表示されません。上部のマップは本のページの正確なサイズになります(つまり3mm)基礎となるマップよりも各辺が少ないため)、町のレイヤーが表示されるため、町(またはラベル)が表示されていない場所に3 mmの境界線が作成されます。 ただし、これら2つのマップをcomposerで完全に整列させることはできません。これら2つのマップの範囲を計算して同じ中心と同じ縮尺になるようにしましたが、QGISコンポーザーは小数点以下3桁の精度が固定されているため、完全に位置合わせすることができません。 この問題に取り組む別の方法は、アトラス内の「マージンアラウンドフィーチャー」内でラベルをレンダリングできない新しい機能です。 裁ち落としの境界内にラベルが表示されないようにする方法はありますか?

1
スクリプトアトラスの式ベースのラベルが更新に失敗する
私は、プログラムからcomposerをテンプレートからロードし、pyQgisを使用してアトラスを生成し、pyqgisを使用してアトラス印刷コンポーザーを自動化しようとします。 アトラスコードの特定は言う: myAtlasMap = myComposition.getComposerMapById(0) myAtlas = QgsAtlasComposition(myComposition) myAtlas.setCoverageLayer(atlas_desktop) myAtlas.setComposerMap(myAtlasMap) myAtlas.setFixedScale(True) myAtlas.fixedScale() myAtlas.setHideCoverage(False) myAtlas.setFilterFeatures(True) このコードは私の仕事のために機能し、私は新しい100アトラス機能マップを取得しますが、私の中には次のtemplate.qptようなコードを持ついくつかのラベルがあります: QGIS [%concat( "OBJECTID" )%] これOBJECTIDは、すべての新しい100個のアトラス機能マップと同じです。なぜか?手動のアトラスエクスポートを使用している場合は、マップをOBJECTID変更します。 私はより多くの詳細を持っていますtrue私はtemplate.qpt私の中にレイヤーアトラスに関連する何も機能しません私はこのようないくつかの基本スタイルルールまたは基本ラベルルールを持っています: intersects($atlasgeometry, $geometry ) または $id = $atlasfeatureid これは100個のマップの一部です。 私は、プログラムからcomposerをテンプレートからロードし、pyQgisを使用してアトラスを生成するため、アトラスレイヤーから機能を1つずつエクスポートし、テンプレートのアトラスはFalseのままであると考えています。 何か案が ?

1
QGISプロジェクトコンポーザーの印刷を自動化しますか?
約10倍のQGISプロジェクトファイルで構成される大きなプロジェクトがあります。各プロジェクトには、最大10個のマップを生成するように設定されたアトラスを備えた印刷コンポーザーが含まれています。 各プロジェクトのオープンを自動化し、composerアトラスを使用してPDFを作成する最も簡単な方法は何ですか? (このようなものが理想的です-可能かどうかはわかりません) C:\ OSGeo4W \ bin \ qgis.bat --project MyProject1.qgs --code SaveAtlasAsPdf.py C:\ OSGeo4W \ bin \ qgis.bat --project MyProject2.qgs --code SaveAtlasAsPdf.py

2
QGISコンポーザーでマップをパンすることは可能ですか?
私はQGISのコンポーザー機能に比較的慣れていないため、マップを必要な場所に正確に中央に配置することが困難な場合があります。特に、スケールを設定すると、関心領域が頻繁に移動します。 手動で範囲を調整するよりも簡単なプロットをパンまたは中央揃えすることは可能ですか? ありがとう

1
QGISで希望の解像度/ズームレベルでWMTSタイルレイヤーを印刷することは可能ですか?
QGISでWMTSといくつかのベクターレイヤーを使用するプロジェクトがあります。私は自由にズームインとズームアウトができ、タイルは期待どおりに適切なズームレベルで更新されます。 ここで、このマップの一部(特定の境界ボックス)を固定ズームレベルのタイルでエクスポートして、マップが希望の物理サイズで印刷されるときにプリンターの解像度に合わせられるようにします。 特定のズームレベルを使用するようにQGISにどのように指示する必要がありますか。

1
QGIS Print Composerでカスタマイズ可能なテーブルを作成する方法は?
QGISで作成したマップレイアウトにカスタムテーブルを追加したいと思います。テーブルの外観(ボーダー、セルの背景色など)をかなり制御したいのですが、「属性テーブルの追加」ツールではそれらを制御できないようです。Excelで必要なものを作成して画像として保存しようとしましたが、もちろんピクセル化されています。できればベクターベースのソリューションが欲しいです。何かご意見は? .htmlテーブルを作成して挿入することを検討しました。これは最善の方法ですか?

2
QGIS Print Composerの凡例の凡例記号を変更することは可能ですか?
非常に複雑なデータ定義シンボルを含むレイヤーがいくつかあります。Print Composerで凡例を使用すると、これらの記号が正しく描画されません。 pyqgisで凡例シンボルを変更する方法はありますか?したがって、これらのレイヤーのデフォルトの凡例シンボルの代わりにカスタムのPNGまたはSVG画像を使用できますか? Print Composerにプッシュボタンを追加する方法と、それを関数に接続する方法を知っています。Legend-Settingsにボタンを追加して、自動生成された凡例アイコンをカスタム画像に置き換えることができるようにしたいと思います。だから私がまだ必要なのは、どのようにしてpyqgis / pyqtで凡例シンボルにアクセスできるか、そしてそれらをQLabelなどのQImageで置き換える方法の情報ですか? シンボルの変更に使用されるボタンの非常に基本的なモックアップ: 自動生成された凡例: カスタム凡例記号付きの凡例: Print Composerで凡例のアイテムにアクセスする方法はすでにわかっていますが、シンボル自体にアクセスする方法はまだわかりません。 import qgis from PyQt4.QtCore import * from PyQt4.QtGui import * activeComposer = iface.activeComposers() for item in activeComposer: if item.composerWindow().windowTitle()=='test': for i in item.items(): if isinstance(i,QgsComposerLegend): #print i #print i.model() legend = i for i in xrange(legend.modelV2().rowCount()): posteleg=legend.modelV2().index(i, 0) …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.