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

QGISに高度な分析機能をもたらす空間データ処理フレームワーク。

5
QGIS Pythonコンソールの外で六分儀アルゴリズムを実行する方法は?
OSGeo4Wディストリビューションのスタンドアロンpythonからsextanteを実行する方法を見つけようとするのはちょっと行き詰まっています。これを実行したいのは、モデルビルダーからモデルをテストするたびにダイアログにパラメーターを入力するのが面倒だったからです。 だからここにそれを呼ぶPythonスクリプトがあります test.py # as per http://qgis.org/pyqgis-cookbook/intro.html#using-pyqgis-in-custom-application from qgis.core import * # supply path to where is your qgis installed QgsApplication.setPrefixPath("C:/OSGeo4W/apps/qgis", True) # load providers QgsApplication.initQgis() from sextante.core.Sextante import Sextante Sextante.alglist() Sextante.alghelp("saga:slopeaspectcurvature") バッチファイルから呼び出していること @echo off set OSGEO4W_ROOT=C:\OSGeo4W set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python;%OSGEO4W_ROOT%\apps\qgis\python\plugins;%HOME%/.qgis/python/plugins set PATH=%OSGEO4W_ROOT%\bin;%OSGEO4W_ROOT%\apps\qgis\bin;%OSGEO4W_ROOT%\apps\qgis\plugins python test.py 問題は、Algorithm not foundQGIS pythonコンソールから意味のある出力が得られるのにそれが言うことです。 何かを初期化するのに欠けているような気がします。しかし、何ですか? GUIを使用して大量のパラメーターを入力する以外に、モデルをテストするより良い方法はありますか? アップデート7/2/2012 …

3
PostGISの一意の識別子列にシーケンスを追加するQGIS処理スクリプトを作成するにはどうすればよいですか?
PostGISの既存の一意の識別子列(タイプ:整数)にシーケンスを追加するQGIS処理スクリプトの作成を手伝ってくれる人はいますか? これは、たとえばバグ#6798の回避策として非常に役立ちます。残念ながら、私はPythonの経験がありません。 CREATE SEQUENCE /*input_schema*/./*input_table*/_/*uic*/_seq OWNED BY /*input_schema*/./*input_table*/./*uic*/; SELECT SETVAL('/*input_schema*/./*input_table*/_/*uic*/_seq', (SELECT MAX(/*uic*/) FROM /*input_schema*/./*input_table*/)); ALTER TABLE /*input_schema*/./*input_table*/ ALTER COLUMN /*uic*/ SET DEFAULT nextval('/*input_schema*/./*input_table*/_/*uic*/_seq'::regclass);

2
PyQGISでレイヤー範囲を取得しますか?
r.neighborsラスタ用のグラスアルゴリズムを使用して処理スクリプトを記述しようとしています。このアルゴリズムにGuiを使用する場合、GRASSレイヤーの範囲フィールドを空白のままにして、最小範囲を使用できます。逆に、Pythonコンソールで使用すると、このような「デフォルト」値を入力する方法がわかりません。 私は上を見https://docs.qgis.org/2.2/en/docs/user_manual/processing/console.htmlある程度パラメータのための4つの座標入力に必須であると考えられること。使用してみましたiface.mapCanvas().extent()が、返されたオブジェクトはパラメーターとして受け入れられず、座標を取得する方法が見つかりません。 xmin, ymin, xmax, ymaxPyQGISのレイヤーを取得してアルゴリズムに入力する方法はありますか?私はそれを完全に間違っていますか?

3
QGISを使用してポイントのセットの境界を描画しますか?
ポリゴンに変更したいポイントのセットがあります。 凹型の船体を試してみましたが、以下のように目的のポリゴンが得られません。 そして、Denaulay Triangulationを使用する場合、外側の三角形を削除する必要があります。 同じことをする効率的な方法はありますか? 凸包も試してみました。

2
QGIS 3のprocessing.getObject()
それはそうないprocessing.getObject()QGISで利用できなくなっています。 from PyQt5.QtCore import * from qgis.core import * #... layer = processing.getObject(layer) # -> ...module 'processing' has no attribute 'getObject' 新しい使用方法はありますget.Objectか?

1
QGIS 2.18.10はどのSAGAバージョンをサポートしていますか?
QGIS 2.18.10から、SagaAlgorithmProviderと呼ばれる辞書はなくなりましたsupportedVersions。以前は次のようになりました。 supportedVersions = {"2.1.2": ("2.1.2", SagaAlgorithm212), "2.1.3": ("2.1.3", SagaAlgorithm213), "2.1.4": ("2.1.4", SagaAlgorithm214), "2.2.0": ("2.2.0", SagaAlgorithm214), "2.2.1": ("2.2.0", SagaAlgorithm214), "2.2.2": ("2.2.2", SagaAlgorithm214), "2.2.3": ("2.2.3", SagaAlgorithm214), "2.3.0": ("2.3.0", SagaAlgorithm230), "2.3.1": ("2.3.0", SagaAlgorithm230)} 今それは単に言います: if not version.startswith('2.3.'): ProcessingLog.addToLog(ProcessingLog.LOG_ERROR, self.tr('Problem with SAGA installation unsupported SAGA version found.')) したがって、2.3で始まるSAGAバージョンのみがサポートされるようになったと思います。ただし、私のQGIS GUIでは、ログメッセージパネルにSAGAバージョン2.3.1がサポートされていないことが表示されます(興味深いことに、SAGA 2.3.1をのようなカスタムアプリケーションで使用できますRQGIS)。QGIS 2.18.10ではどのSAGAバージョンがサポートされていますか?

2
Ubuntu 16.04のQGIS 2.18でグラスアルゴリズムを実行できない
UbuntuGISリポジトリからQGISとGRASSをインストールしています。GRASS 6または7のアルゴリズムを実行しようとすると、次のエラーメッセージが表示されます。 "This algorithm cannot be run :-( It seems that GRASS GIS 7 is not correctly installed and configured in your system. Please install it before running GRASS GIS 7 algorithms." 私はこの問題について他の質問をチェックしましたが、ほとんどはWindowsシステムのセットアップを扱います: 「依存性がありません。このアルゴリズムは実行できません:-(」QGIS + GRASS Windows 7 Grass 7エラーでのGrass 6拡張機能のインストール GRASS 7アドオンをQGIS 2.12で利用可能にする方法は? Linuxでは、外部アプリケーションの構成に関するQGISヘルプが教えてくれるので、GRASSフォルダーのパスを構成する必要はありません。Grassは、シェルからと入力して実行しますgrass。シェルによって呼び出されるGrass-versionはGRASS 7.2.0 (2016)です。 さらに、GRASS 6および7がQGISのツールボックスの追加プロバイダーメニューでアクティブ化されていることを確認しました。 これを修正するために何ができるでしょうか? …

2
QGIS 2.18.1でPythonを介してベクターレイヤーをマージする
現在、次のコードを使用して2つのベクターレイヤーをマージしています: def append_layers(layer1, layer2, output): from processing.core.Processing import Processing Processing.initialize() import processing.tools processing.tools.general.runalg("qgis:mergevectorlayers", layer1, layer2, output) append_layers(layer1.shp, layer2.shp, output.shp) これはQGIS 2.14では問題なく動作するようですが、2.18.1では次のメッセージで失敗します。 Error: Wrong number of parameters ALGORITHM: Merge vector layers 2.14と2.18の間で変更されたものはありますか?それとも私は本当に明白なものを見逃しているだけですか?


2
「差分」ツールを使用しようとすると、「 'QgsWKBTypes' is not defined」エラーが発生する
2つの重なり合うベクターレイヤーを分離して、QGIS 2.18の違いを見つけようとしています。ポイントのあるレイヤーとバッファーの違いを見つけようとしました。どちらも次のエラーを出します: global name 'QgsWKBTypes' is not defined See log for more details 私はこれをウェブで検索しましたが、解決策を見つけることができません。

2
QGISでラインをポリゴンに変換すると、スリバーポリゴンが生成されます
を使用してPyQGISでポリラインレイヤーをポリゴン化しようとしている間 processing.runandload("qgis:linestopolygons",explode_path,polygon_path) Pythonコンソールのコマンドでは、ラインエッジに対応するポリゴンは作成されません。代わりに、カーブしたエッジに沿って小さなポリゴンを作成します。ポリゴンがラインエッジに沿って作成されないのはなぜですか? ポリゴン化では、黒い線は作成されたポリゴンのエッジであると想定されます。代わりに、カーブしたエッジ(青いポリゴン)に沿って作成されるスライバーはほとんどありません。

2
QGISモデラーを使用して処理結果をファイルに保存しますか?
モデルから、処理結果をファイルに保存したい。私のモデルには、Extract by location妥当な結果を生成するいくつかのアルゴリズム(2つのベクトル入力を使用)がありますが、一時的なレイヤーとしてのみSave as...であり、手動で行う必要があるため、山積みの解析では面倒で時間がかかります。 最善の方法は、モデルへのパスを渡し、結果をシェープファイルとして(最初のステップで)保存することです。 こちらがモデルです。出力ベクター(ファイル)は処理結果に接続できないことに注意してください。 スクリーンショットa)でわかるように、Save selected featuresアルゴリズムb)でも、最終結果の名前を渡すことはできますが、ファイルを渡すことはできません。 a) b) 私はこれをpythonスクリプトで実現する方法を漠然と考えていますが、これは既存のツールの組み合わせで行うことができますか?

2
QGIS 2.16 Mergeにはフォルダーオプションがありません
QGIS 2.16をインストールしましたが、[結合]([ベクター]メニュー> [データ管理])に[フォルダー]オプションがないようです。これは、最初にレイヤーをプロジェクト/ワークスペースにロードしなくても、フォルダー全体を処理/マージできるオプションでした。QGIS 2.16の変更ログを確認しました-fToolsが処理ツールに置き換えられましたが、余分な機能が削除された理由がわかりません。

2
runalgでメモリレイヤーを入力または出力として使用していますか?
メモリ層をrunalgの入力および/または出力として使用できますか? runandload私は仕事にこれを取得します: processing.runandload("qgis:mergevectorlayers","memory:bufferOne", "memory:bufferTwo", r"memory:merged") processing.runandload("qgis:dissolve", r"memory:merged", True, '', r"D:\PythonTesting\dissolved.shp") パラメータ2と3はすでにメモリ内にある入力レイヤであり、パラメータ3はメモリに書き込まれ、次のツール(Dissolve)で使用される出力レイヤです。これは正常に機能しますが、runalgで同じロジックを使用しようとすると、メモリにマージされたレイヤーが作成されないように見えます。これは、Dissolveツールが実行されないためです。たとえば、以下は機能しません。 processing.runalg("qgis:mergevectorlayers","memory:bufferOne", "memory:bufferTwo", r"memory:merged") processing.runandload("qgis:dissolve", r"memory:merged", True, '', r"D:\PythonTesting\datenschrott\dissolved.shp") runalgがメモリ内のレイヤーを受け入れない、または何も出力できないと想定できますか?


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