Bilder zu Funktionen in QGIS anzeigen?


11

Angenommen, es gibt Punktdaten mit alten Bäumen. Wenn Sie das Identifizierungswerkzeug verwenden, können Sie das Foto des Baums sehen

Oder sogar eine Ebene weiter: Die Beschriftungen zeigen diese Bilder sofort an, ohne dass ein Klick erforderlich ist

Ich glaube, der Begriff ist Datei-Streaming?


Schauen Sie sich diese Idee aus dem Blog von Nathan Woodrow an: nathanw.net/2016/02/04/live-svgs
isshp

Antworten:


12

Kann bei der Identifizierung erfolgen.

Sie benötigen zunächst ein Attribut mit den Fotopfaden. Muss voller Pfad sein:

Geben Sie hier die Bildbeschreibung ein

Anschließend setzen Sie das Widget des Attributs über die Bildeigenschaften auf Foto :

Geben Sie hier die Bildbeschreibung ein

Wenn Sie ein Feature identifizieren, wird ein Bild angezeigt:

Geben Sie hier die Bildbeschreibung ein

Obwohl in den Identifizierungsergebnissen "Automatisch geöffnetes Formular" aktiviert sein muss, muss die Ebene nur mit Bildern identifiziert werden. Daher sollte der Modus "Aktuelle Auswahl" sein, damit die im Ebenenbedienfeld ausgewählte Ebene identifiziert wird:

Geben Sie hier die Bildbeschreibung ein


Muss es ein lokaler Pfad sein? Könnte es eine URL sein?
jpmc26

2
Kann eine URL sein. Dann müssen Sie das Widget jedoch auf "Webansicht" anstelle von "Foto" setzen.
HeikkiVesanto

1
Sie müssen nicht den gesamten Dateipfad im Attributwert verwenden, wenn Sie den Widget-Typ Externe Ressource verwenden und den integrierten Dokument-Viewer aktivieren, um ein Bild anzuzeigen. Mit QGIS können Sie festlegen, dass ein statischer "Standardpfad" oder der Projektpfad verwendet wird. Letzteres ist dynamisch, aber Sie müssen Unterverzeichnisse in den Feldwerten angeben. Wenn sich Ihr Projekt also in C: \ Projekte und Bilder in C: \ Projekte \ Bilder befindet, sollte Ihr Feldwert \ Images \ Whatever.jpg sein (möglicherweise fehlt es) Der erste Schrägstrich kann sich nicht erinnern.)
she_weeds

6

Dies ist auch durch Ebenenstyling möglich, indem eine Kombination aus einem Geometriegenerator verwendet wird , um rechteckige Polygonplatzhalter für das Bild zu erstellen, und anschließend mit Rasterbild gefüllt wird , um die Bilder einzufügen. Die Raster-Location-Eigenschaft kann als Daten definiert werden, ich habe jedoch nicht getestet, ob sie mit URL-Quellen funktioniert.

Beispiel:

Geometriegeneratorausdruck zum Konvertieren eines Punkts in ein Rechteck mit 400 x 220 Karteneinheiten (passend zum Foto-Seitenverhältnis):

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

Zeigen und korrigieren

Geben Sie dem Rechteck nun eine Rasterfüllung eines Fotos:

Geben Sie hier die Bildbeschreibung ein

(Verwenden von QGIS 2.18.15 x64 unter Windows 10)


4

Dies kann auch mit "Map Tips" erfolgen.

  1. Sie müssen die URL wie Vesanto zur Attributtabelle hinzufügen.

  2. Sie gehen zu "Layer Properties" -> "Display", dort wechseln Sie zu HTML und fügen so etwas hinzu

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

Vorteil mit Kartentipps -> kein Klick nötig!


1

Leider gibt es so etwas noch nicht.

Ihre beste Option ist möglicherweise, ein Bild über eine HTML-Anmerkung anzuhängen. Finden Sie dieses Symbol in QGIS:

Geben Sie hier die Bildbeschreibung ein

HINZUFÜGEN: Wie @Vesanto gezeigt hat, ist dies möglich. Das wusste ich nicht, aber ich finde es großartig, dass sie QGIS um eine solche Funktion erweitert haben


Huh, ich habe dieses Symbol nicht auf meinem QGIS 2.14. Ist das eine neue Funktion in 2.18?
Ruffydude

Das glaube ich nicht. Es ist in der Attribut-Symbolleiste implementiert und ich habe es vor 3 Jahren verwendet. Vielleicht möchten Sie auch das eVIS-Plugin ausprobieren, aber ich habe keine Erfahrung damit.
Rabear

@Luffydude - Das Symbol ist ein Untermenü aus dem Text Annotation Symbol :)
Joseph

1
@ Joseph oh ich verstehe, dumm mich
Luffydude
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.