QGISのフィーチャに関連する画像を表示しますか?


11

たとえば、古い木があるポイントデータがある場合、識別ツールを使用すると、木の写真を見ることができます

またはさらに1レベル上で、ラベルをクリックする必要なしにこれらの画像をすぐに表示するラベル

用語はファイルストリーミングだと思いますか?


Nathan Woodrowのブログから、このアイデアを見てください:nathanw.net/2016/02/04/live-svgs
isshp

回答:


12

身分証明書で行うことができます。

まず、写真のパスを持つ属性が必要です。フルパスでなければなりません:

ここに画像の説明を入力してください

次に、画像のプロパティを使用して、属性のウィジェットをPhotoに設定します。

ここに画像の説明を入力してください

機能を特定すると、画像がポップアップ表示されます。

ここに画像の説明を入力してください

識別結果で[自動オープンフォーム]をオンにする必要がありますが、画像でレイヤーを識別するだけである必要があるため、モードは[現在の選択]である必要があり、レイヤーパネルで選択されたレイヤーを識別します。

ここに画像の説明を入力してください


ローカルパスである必要がありますか?それはURLかもしれませんか?
jpmc26

2
URLにすることができます。ただし、ウィジェットを写真ではなく「Webビュー」に設定する必要があります。
HeikkiVesanto 2017

1
外部リソースウィジェットタイプを使用し、統合ドキュメントビューアをオンにして画像を表示する場合は、属性値にファイルパス全体を使用する必要はありません。QGISでは、静的な「デフォルトパス」またはプロジェクトパスを使用するように設定できます。後者は動的ですが、フィールド値にサブディレクトリを指定する必要があります。したがって、プロジェクトがC:\ Projectsにあり、画像がC:\ Projects \ Imagesにある場合、フィールド値は\ Images \ whatever.jpgである必要があります最初のスラッシュは覚えられません。)
she_weeds

6

これは、ジオメトリジェネレーターを組み合わせて画像の長方形のポリゴンプレースホルダーを作成し、次にラスター画像の塗りつぶしを使用して画像を挿入することにより、レイヤーのスタイル設定によっても可能です。ラスターロケーションプロパティはデータで定義できますが、URLソースで動作するかどうかはテストしていません。

例:

点を長方形の400 x 220マップ単位に変換するジオメトリジェネレーター式(写真のアスペクト比に一致):

bounds(  make_line( 
    translate( $geometry , -200, -110), 
    translate( $geometry , 200, 110)
    )
)

ポイントと長方形

次に、長方形に写真のラスター塗りつぶしを与えます。

ここに画像の説明を入力してください

(Windows 10でQGIS 2.18.15 x64を使用)


4

これは、「マップのヒント」を使用して行うこともできます。

  1. Vesantoが行ったように、属性テーブルにURLを追加する必要があります。

  2. 「レイヤープロパティ」->「表示」に移動し、htmlに切り替えて、次のようなものを追加します。

    <img width="150px" src="[% "img_url" %]" />
    

マップのヒントによる利点->クリックする必要はありません!


1

残念ながらまだそのようなことはありません。

あなたの最良のオプションは、HTML注釈を介して添付された画像を取得することかもしれません。QGISでこのシンボルを検索:

ここに画像の説明を入力してください

追加:@Vesantoが示したように、それは可能です。それについては知りませんでしたが、QGISにそのような機能を追加したことは素晴らしいことだと思います


ええと、私のqgis​​ 2.14にはそのアイコンがありません。2.18の新機能ですか?
ルフィデュード2017

私はそうは思いません。これは属性ツールバーに実装されており、3年ほど前に使用しました。eVISプラグインもチェックアウトしたいと思うかもしれませんが、私はそれを使った経験がありません。
rabear 2017

@Luffydude-アイコンはテキスト注釈アイコンのサブメニューです:)
ジョセフ

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