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


2
QGISでポリゴンマスクを使用して特定のレイヤーのスタイルを設定しますか?
QGISにラインレイヤーとポリゴンレイヤーがあります。 あるスタイルを使用してラインレイヤーの一部をポリゴンの外側にスタイルし、別のスタイルを使用して内側をパーツにしたいと思います。 派生データセットを作成したくありません。ラインレイヤーをクリップし、2つのパーツのスタイルを設定します。 これは単純なケースですが、私のQGISプロジェクトでは+30のレイヤーがあるため、レイヤーのブレンドは基礎となるレイヤーを妨害すると思います。 このようなことをすることは可能ですか? ポリゴンレイヤーは表示したくありません。ここでは、何をしたいかを視覚化します。

1
QGISで重複する線の表示をシフトしますか?
ポイントが重複している場合、「ポイントの変位」と呼ばれる、ポイントの周囲にそれらの多くを自動的に個別に表示できるようにするこのプロパティがあります。しかし、それはラインでは機能しません、それでも私はそのようなことを達成するためにかなり概念的に実現可能であるように見えます: 実際にはすべて同じ場所にあるさまざまな回線を確認する必要があります(私は通信ネットワークで作業しています)。現時点で私が見る唯一の方法は、上の図のように実際に異なる線を作成することであり、それにより空間的な間違いを引き起こします。 QGIS 2.14を使用しています。

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

1
QGIS-カスタム関数がフィールド計算機に表示されない
私はエッセンを使用していて、アニタグレイザーの素晴らしいチュートリアルIlluminated contoursをフォローしようとしています。azimuth関数を作成してロードしましたが、式タブには何も表示されていません。デフォルトの関数を使用したカスタムでさえもありません。式azimuth.pyはC :\Users\Max\.qgis2\python\expressionsと同じように.pycファイルに関連付けられて存在します。QGISを再起動しても違いはありません

1
QGISでのカスタムPython関数の文書化
QGISでカスタムPython関数をドキュメント化するにはどうすればよいですか? 私がユーザーのために書いた関数についてユーザーにヘルプを提供したいと思います。 私はdocstringを追加しようとしました: しかし、[ ロード ]をクリックするたびに、エラーメッセージが表示されます。 エラーメッセージにはインデントエラーがはっきりと示されていますが、これは実際のコードには対応していません。

2
各区切り文字の前の文字列フィールドから新しいフィールドへのテキストの分割
ドットで区切られたテキストを含む文字列フィールドからテキストデータを抽出し、フィールド計算機を使用して新しいフィールドに配置しようとしています。 私はこのpython関数を使用しています(QGISで/の前にテキストを抽出する方法から取得?): from qgis.core import * from qgis.gui import * @qgsfunction(args='auto', group='Custom') def func(value1, feature, parent): return value1.split('.')[0] これは、最初のドットの前のすべてのテキストを返します。ここで、区切られた各テキスト行を個別のフィールドに配置するための関数を作成する方法を考えています。 前: 後:

1
pyqgisにカスタムqgsfunctionを登録する
スタンドアロンアプリケーション内でpyqgisを使用しています。次に、のルールでfilterExpressionとして使用するカスタム式を作成したいと思いましたruleBasedRendererV2。(以前に既存の関数でレンダラーを試しましたが、すべてうまくいきました!) カスタムqgisfunction(ビットごとのAND関数-そのような関数はまだないため)は次のようになります。 from qgis.utils import qgsfunction @qgsfunction(args="auto", group='Python') def bitwise_and(value1, value2, feature, parent): return value1 & value2 私もそれを登録しようとしました: from qgis.core import QgsExpression QgsExpression.registerFunction(bitwise_and) 式をテストする: expressionString = 'bitwise_and(2, 2) = 2' exp = QgsExpression(expressionString) if exp.hasParserError(): print(exp.parserErrorString()) (与える2=2ので、いつもはTrue)関数を登録した後動作し、ない場合は失敗します。それでも、ルール内で式を使用することはできません... 現時点では、関数を含むファイルは、自動的にPATHに含まれているプロジェクトフォルダーの一番上にありますね。(Nathan Woodrowによると、ファイルはPATHのどこにでも配置できます-https : //nathanw.net/2012/11/10/user-defined-expression-functions-for-qgis/を参照してください)。 UPDATE:上記のコードで、これまでの作品の関数の登録-機能自体に今問題の嘘... アップデート#2: 非常に奇妙な!do_nothing2つの引数を取得する単純な関数は、私のコードでは正常に機能します。 @qgsfunction(args="auto", group='Python') def do_nothing(value1, value2, feature, …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.