タグ付けされた質問 「qgis-plugins」

QGISパッケージに機能を追加するソフトウェアプラグイン

1
QGIS Measure Toolから距離を取得していますか?
入力マスクを使用してSpatialiteデータベースにフィードするプラグインを作成しました。オブジェクトの最小/最大次元を表す2つのフィールドがあります。 iface.actionMeasure().trigger()2つのプッシュボタン「メジャー」でメジャーツール()を呼び出した瞬間に、寸法をクリックし、キーボードでフィールドに値を入力します(QLineEdit)。 測定ツールで右クリック(測定の終了)を行った後、値が自動的にフィールド(最小または最大、QLineEdit)にコミットされる可能性はありますか? 測定ツールの呼び出し(動作します) 左クリック:測定を開始 4.一度に:右クリックして、測定ツールの合計値を最小フィールド(QLineEdit)にコミットします。 更新1: この質問をしたある日、メジャーツール(ST_Length(geom))として使用できるラインストリングレイヤーを作成するというアイデアを思いつきました。利点は、そこからデータを操作および取得することを完全に制御できることです。短所は、プロジェクトに追加の層があることです。 ワークフローは次のとおりです。 測定をクリック:編集を切り替え、「機能を追加」を有効にします オブジェクトの最小寸法を表す線ストリングを作成します 変更の確認、ラインストリングの長さの計算(ST_Length(geom))、QLineEditへの長さのコミット ダイアログを閉じてラインストリングを削除(DELETE FROM) しかし、私の実際の質問は残っています。測定ツールから直接距離値を取得する方法はありますか? アップデート2: Jakobの助けを借りて、Measure Tool を閉じるまで、Measure ToolのTotal値でQLineEditを更新できます。次に、値は「0,000 m」に設定されます。私はこれを使用してこの問題を解決しました: def text_changed(str_measure): if str_measure == '0,000 m': pass else: self.min.setText(str_measure) 動作しますが、これが適切な解決策であるかどうかはわかりません。

3
マップ内のフィーチャの隣にチャートを表示する方法は?
この質問は主にQGISソフトウェアに関するものですが、可能な限り簡単に、できればすぐに達成できる限り、他のすべてのソフトウェアソリューションを歓迎します。ただし、制限は静的なマップ(印刷予定)であるため、ここではインタラクティブなWebマップソリューションは使用できません。 時系列データのグラフ(QGISのツール/プラグイン)を作成し、ポイントのテーブル(ライン/ポリゴンでも可)を作成し、フィーチャの横に表示する方法はありますか? シンプルなダイアグラム/ヒストグラムツールを知っています。また、チャートをSVGとしてロードするというアイデアも得ましたが、それは、最初に多くのチャートをエクスポートしてから、それらをシンボルとして手動でリンクする必要があることを意味します。すぐに使えるソリューションがさらにありますか? 私がこれまでに試したことは次のようになります。 私が達成したいのは次のようなものです。

1
削除された機能属性にアクセスする方法(コミットする前)
レイヤー上のフィーチャ削除イベントの信号セットアップがあります: self.layer.featureDeleted.connect(self.feature_deleted) スロット上の削除された機能から属性を取得しようとすると、StopIterationエラーがスローされます(つまり、機能を取得できません)。 レイヤーへの変更がコミットされる前に、削除されたフィーチャから属性を取得できるはずだと思っていただろうか?それ以外の場合、fidパラメーターの使用方法がわかりません。 def feature_deleted(self, fid): feature = self.layer.getFeatures(QgsFeatureRequest().setFilterFid(int(fid))).next() idx = self.layer.fieldNameIndex('my_attribute') print feature.attributes()[idx] (レイヤーへの変更がコミットされる前に)削除されたフィーチャの属性にアクセスするにはどうすればよいですか?

2
QGISのPythonコンソールから補間プラグインを呼び出す
PythonコンソールからQGIS補間プラグイン関数(TINメソッド)(ラスター->補間)を呼び出したいです。 QGIS API内または処理アルゴリズムリスト内に対応する関数が見つかりません。SAGA三角形分割アルゴリズムを見つけました。これは正常に機能しますが、5〜10倍遅く、私の場合は速度が重要です。 それを実行する方法はありますか?

1
GRASSおよびSAGAモジュールをPythonスクリプトにインポートする
私はこれが初めてです。私はqgis用のPythonプラグインを「ビルド」しています。GRASSとSAGAからモジュールをインポートしたいのですが、その方法がわかりません。インポートするプラグインは、SAGAからのクリギング補間、GRASSからのv.surf.idw、またはRaster qgisからの補間プラグインです。グリッド内のポイントを変換する補間方法が必要です。 手伝って頂けますか? もう一つ疑問があります。 私のコードで次の行を実行します。 vectorlayer_vector = ftools_utils.getVectorLayerByName(inputLayer) Elevation = self.lineAttrib.currentText() cellSize = int(self.linePix.value()) outPath = self.inputLayerCombo3.text() output = ftools_utils.getRasterLayerByName(outPath) Processing.runAlgorithm("saga:shapestogrid", vectorlayer_vector, Elevation, 0, 0, 4, None, cellSize, output) 実行すると、tiffイメージが得られますが、何もありません。.auxファイルは作成されず、作成したTIFFイメージを開こうとすると、次のメッセージが表示されます。 c:... teste3.tifはサポートされているラスターデータソースではありません したがって、出力が間違っていると思います。正しい出力を得るために何をしなければなりませんか?私は何が欠けていますか?

2
QGIS 1.9のプログラムでメモリレイヤーにフィーチャを作成して追加するにはどうすればよいですか?
QGIS 1.8には、MSAccessデータベースからデータを読み取り、一連のメモリレイヤーに追加する作業プラグインがありました。暫定にはいくつかの処理が含まれているため、単にQGISを使用してデータベースから直接読み取ることは選択肢とは思いません。 QGIS 1.8から1.9に移行したいと思います(主に印刷コンポーザの品質が向上したため)。プラグインは新しいAPIでは機能しません。 Google検索で出てきたさまざまな方法を試しました。1つは、http: //www.qgis.org/pyqgis-cookbook/vector.html#memory-provider から以下のコードを変更します。つまり、ジオメトリと属性をデータプロバイダーに追加し、レイヤーを更新して、新しいAPIが機能するようにします少しですが、編集モードに入るまで属性は表示されませんでした(http://hub.qgis.org/issues/3713に似ています)。上記のリンクの返信#1で詳しく説明されている別のアプローチでは、レイヤーと属性を正しく追加しましたが、レイヤーに機能を追加できませんでした。 それは非常に単純なタスクであるべきであるため、ここにいる誰かがこれがどのように行われるべきかの実例を提供できることを期待しています。(PS私はプロのプログラマーではなく、私のコーディングの大部分はかなり粗雑です-どんなガイダンスも歓迎しますが、私の側で無知を許してください) # Receivers = a list of lists returned from a database query # create layer vl = QgsVectorLayer("Point", item, "memory") pr = vl.dataProvider() # add fields pr.addAttributes( [ QgsField("Rec_No", QVariant.Int), QgsField("Include", QVariant.String), QgsField("Label", QVariant.String), QgsField("X", QVariant.Double), QgsField("Y", QVariant.Double), QgsField("Z", QVariant.Double), QgsField("Height", QVariant.Double), …



3
バージョン2.xと3.xの両方でQGIS pythonプラグインを作成しますか?
QGIS pythonプラグインをからQGIS 2に移行し、QGIS 3さまざまなリソースを閲覧しています。 プラグインが両方のバージョンと互換性があるかどうか、またはプラグインバージョンに2つのハンドルが必要かどうかは明確ではありません。 私がこれまでに遭遇した問題は、PyQtインポート(PyQt4 / PyQt5)を管理する方法です。

3
複数のフォルダーから複数のレイヤーをQGISプロジェクトにすばやく追加する必要がある
複数の画像Zipファイル(それぞれのコンテンツはjp2、jpg、jpw、xml、htm、および.dbf、.prj、.sbn、.sbx、.shp、.shxです)をダウンロードし、この画像をすばやく追加したいQGIS 2.6.1の私の作業プロジェクト。各ファイルに個別に移動して追加する必要を回避しようとしています。各ファイルは異なるフォルダーにあるため、複数のファイルを一度に追加する方法を見つけることができませんでした。

3
リモートGISワークステーション(QGIS、GRASS、PostGIS)のセットアップと使用方法
2009年のMacBookProで論文プロジェクトにQGIS(およびGRASSとPostGIS)を使用しています。 高速ホームデスクトップワークステーションのパワーを使用してライブラリ/大学から作業できるようにサーバーをセットアップできるかどうか(QGISでの無限のバッチの一般化中)を考えていました。 これまでのところ、私は理解しました: QGIS経由でリモートPostGISサーバーにアクセスできます GUIでもSSH経由でGRASSを実行できます GDALにはPostGISドライバーがありますが、データのクエリと挿入のみを目的としており、残りの作業はコマンドを発行するマシンによって行われます(または間違っていますか?) PostGISの基本的な編集はQGISを介して行うことができ、SQLコマンドを発行してより高度な編集を行うことができます 私が理解したいこと: QGISプラグインをリモートで使用できますか?VNCはそれを達成する唯一の方法ですか? 地図の作成と視覚化以外にPostGIS + QGISのドキュメントはありますか(これらのタイプのチュートリアルしか見つかりませんでした)。どのツール/プラグインを使用でき、どのツール/プラグインをリモートで実行できますか? 更新: QGISについての私の考えをすべて確認しました。サーバーの処理能力を使用したい場合は、VNC / RDP / NXを介して制御する必要があります。 2番目の質問については、言い換え ます。postGIS+ QGISを使用し、すべての処理をサーバーで実行する場合、postGIS関数でSQLクエリのみを使用(学習)する必要がありますか?

7
QGISプラグイン:リソース(resources_rc)ファイルのインポートの問題-プラグインがロードされない-PATHの問題?
私はqgisプラグインを構築していますが、このエラーの解決策が見つかりません。 File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 478, in _import mod = _builtin_import(name, globals, locals, fromlist, level) ImportError: No module named resources_napoved_rc 私がPythonリソースファイルを作成したことを尋ねるすべての人のために: pyrcc4 -o resources_napoved_rc.py resources_napoved.qrc 私はまだそれを機能させる方法を見つけることができません。私はいつも同じエラーを受け取ります。 私が持っているスクリプトの上に: import resources_napoved_rc.py 私はqtbuilderから直接uiファイルを使用しています。今後のアイデアはありますか?これは何らかのパスの問題か、それに類似したものでなければならないと思います。

1
QGISのプラグインのプログラミング中にPythonスクリプトを介して印刷コマンドを表示するにはどうすればよいですか?
QGIS用に作成されたカスタムプラグインの実行から、デバッグ画面のように、プラグインの実行時にPython Shellが一緒に表示される方法はありますか?QGISのプラグインをプログラミングしているときに、Pythonスクリプトを介して印刷コマンドを表示する方法があるかどうかを確認してください。

2
QGISを使用してポイントのクラスターをポリゴンに変換しますか?
クラスターにグループ化された入力ポイントレイヤーがあるため、ポイントの各クラスターをポリゴンに変換したいと考えています。 この質問(ポイントのセットをQGISの特定のフィールドに基づいてポリゴンに変換する方法)は、私が望んでいた答えが出ていないことに近づいているようです。 したがって、基本的に、以下に示すように(属性フィールドに基づいて)ポイントの各クラスターをポリゴンに変換するアルゴリズムがQGISに必要ですか? 「Point2One」プラグインを試しましたが、以下のような間違った結果が表示されました... 私のデータのコピーはここにあります。

1
QGISのグラムシュミットパンシャープニング?
Gram-Schmidtパンシャープンを実行する必要があります。ArcGISまたはENVIにアクセスできないため、QGISを使用しています。QGISでGram-Schmidtパンシャープンを実行するために利用できるプラグインまたは同様の機能はありますか?そうでない場合、これは他のオープンソースソフトウェアでも可能ですか?

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