QGIS3.Xでのアクション機能(相対参照)について

395 views
Skip to first unread message

フリード・ティンクス

unread,
Feb 21, 2020, 9:55:33 PM2/21/20
to QGIS初心者質問グループ
こちらフリードです。
お疲れ様です。

QGIS3.Xでのアクション機能(相対参照)について教えてください。
ずいぶん前になる投稿だったのですが、izayoi様が投稿なされ、福岡様が回答してくださっておりましたが
にある、相対参照のサンプルファイルがありました。
このサンプルファイルみたいなことを私もやりたかったため、ダウンロードして実行したのですが、マイドキュメントしか開いてくれません。

当該の福岡様の記事とファイルを添付いたします。
QGIS3.X系でも相対参照させる方法があれば教えてください。

________________
以前、アクションに関する投稿があったときに絶対パスの例を示して回答したのですが、相対パスでも指定できたはず、と書き添えました。
今は閉鎖された今木さんのGeoPacificでPDFファイルへのアクションに関するもので、相対パスでも取り扱える方法があったと記憶していたからです。
そのとき示された方法とは違うように思いますが、プロジェクトファイル以下の階層であれば相対パスを使える方法がわかりましたのでお知らせします。
テストに使ったShapeファイルのテーブルは次のようなものです。「Relative」に相対パスを記述しました。


次にアクションの設定です。
単に絶対パスで指定する場合は「タイプ」を「開く」にしましたが、相対パスを使う場合は「Windows」にします。
アクションは「explorer ".\"[% "Relative" %]」とします。「開く」の場合には「[% "Relative" %]」だけで良いのですが、この前に「explorer ".\"」が入ります。


テスト用に作ったファイルを添付しますので、動作をご確認ください。
ちなみにパスがフォルダ名までの場合は、エクスプローラーでフォルダ内を表示します。関連するファイルが複数ある場合には便利だと思いました。
ProjectFile.zip

福岡

unread,
Feb 22, 2020, 4:40:50 AM2/22/20
to QGIS初心者質問グループ
フリード・ティンクス 様

こんにちは

今年に入ってから同様の投稿があり、その時にQGIS3.xでも動作することを確認していました。

QGIS3.10で他のフォルダやエクセルファイルへリンクする方法

最初は動作環境の差が考えられると思ったのですが、マイドキュメントがあるということは私と同じ同じWindowsマシンですよね?
それとサンプルファイルはPDFファイルを開くようにしているのですが、フォルダ(マイドキュメント)が開くというのも何だか不思議な挙動です。

何でうまく動作しないのか、今のところさっぱりわからないです。(x_x)
もし投稿をお読みの方で動作について確認している方がいらっしゃれば、情報提供くださればヒントになるかもしれません。
お手数をおかけしますが、よろしくお願いいたします。m(__)m

ありた

unread,
Feb 22, 2020, 6:38:49 AM2/22/20
to QGIS初心者質問グループ
こんにちは

確認してみたところ explorer コマンドは、指定したフォルダが存在すればフォルダを
エクスプローラで開く。指定したファイルがあれば規定のプログラムでファイルを開く。
指定したパスが存在しなければマイドキュメントフォルダをエクスプローラで開くという
動作をするようです。

なので、このような挙動は指定したファイルが存在しないためだと思われます。
存在するはずのファイルが存在しないということは、相対パスの基点となっている
フォルダが意図しているものとは違うということだと思います。


本来の相対パスとは異なりますが、プロジェクトファイルのあるフォルダパス変数を
利用した絶対パスを作成してはいかがでしょうか?
パス内に空白文字などが含まれる可能性があるため前後を引用符でくくっています。
explorer "[% @project_folder %]\[% Relative %]"

福岡

unread,
Feb 22, 2020, 6:18:08 PM2/22/20
to QGIS初心者質問グループ
おはようございます。

ありた 様

丁寧な解説ありがとうございます。m(__)m
試しにアクションの対象にしたファイルを置いているフォルダ名を変えてみて、マイドキュメントへ跳ばされる挙動も確認できました。
「@project_folder」を覚えることができたのも収穫でした。


フリート 様

私の環境では不具合が発生していないので確認できませんが、ありたさんが提示してくださった案で解消できれば良いな、と思っています。

フリード・ティンクス

unread,
Feb 22, 2020, 6:43:17 PM2/22/20
to QGIS初心者質問グループ
フリードです
お疲れ様です。

福岡様
はい、こちらもwindows環境です。
添付ファイルをダウンロードしてそのまま実施しておりました。

ありた様
教えていただいた方法でうまくいきました。
[% @project_folder %]
の%って何の意味があるのしょうか?決まった構文?

ありた

unread,
Feb 23, 2020, 8:04:25 AM2/23/20
to QGIS初心者質問グループ
[% %] はアクション定義において、 QGIS の式(フィールド計算機で使える式)を実行し、
展開するための構文のようです。

もし @project_folder 変数が C:\Users\user name\Desktop で、地物の
Relative 属性の値が Folder_A\Document1.pdf であるとき、
explorer "[% @project_folder %]\[% Relative %]"
explorer "C:\Users\user name\Desktop\Folder_A\Document1.pdf"
として実行されます。


@project_folder をはじめ、式で使える変数、関数、演算子などは
フィールド計算機で調べることができます。
Reply all
Reply to author
Forward
0 new messages