9

Say for example, if there's a point data with old trees, then when you use the identify tool, you can see the photograph of the tree

Or even one level further, the labels displaying these images right away without any clicking needed

I believe the term is file streaming?

11

Can be done on identification.

You first need an attribute with the photo paths. Must be full path:

enter image description here

Then you set the widget of the attribute to Photo, through the image properties:

enter image description here

When you identify a feature, it will pop up an image:

enter image description here

Although you need to have "Auto open form" ticked on in the identify results, also it must only be identifying the layer with images, so the mode should be "Current Selection" so it will identify the layer selected in the layers panel:

enter image description here

  • Does it have to be a local path? Could it be a URL? – jpmc26 Apr 19 '17 at 3:06
  • 2
    Can be an URL. But you then need to set the widget to "Web View" instead of Photo. – HeikkiVesanto Apr 19 '17 at 7:52
  • 1
    You don't have to use the whole file path in the attribute value if you use the External Resource widget type and turn on the Integrated Document Viewer to display an Image. QGIS lets you set it to use a static "default path", or the project path. The latter is dynamic but you do need to specify subdirectories in the field values - so if your project is in C:\Projects and images in C:\Projects\Images then your field value should be \Images\whatever.jpg (maybe missing the first slash, can't remember.) – she_weeds Jan 17 '18 at 9:51
5

This is also possible through layer styling by using a combination of a Geometry generator to create rectangular polygon placeholders for the image, and then Raster Image fill to insert the images. The raster location property can be data defined, but I haven't tested whether it will work with URL sources.

Example:

Geometry generator expression to convert a point into a rectangle 400 x 220 map units across (matching the photo aspect ratio):

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

Point and rectange

Now give the rectangle a raster fill of a photo:

enter image description here

(Using QGIS 2.18.15 x64 on Windows 10)

4

This can also be done using "Map Tips".

  1. You have to add the URL to the attribute table like Vesanto did.

  2. You go to "Layer Properties" --> "Display", there you switch to html and add something like

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

Advantage with Map Tips --> no clicking needed!

1

sadly there is no such thing yet.

your best option might be to get an image attached through a HTML Annotation. Find this Symbol in QGIS:

enter image description here

ADD: as @Vesanto showed, it is possible. I didn't know about that, but think it's a great thing they added such a feature to QGIS

  • Huh I don't have that icon on my qgis 2.14. Is that a new feature in 2.18? – Luffydude Apr 18 '17 at 14:17
  • I don't think so. It's implemented in Attribute Toolbar and I used some 3 years ago. Maybe you also want to checkout the eVIS Plugin, but I don't have any experience with it. – rabear Apr 18 '17 at 14:23
  • @Luffydude - The icon is a submenu from the Text Annotation icon :) – Joseph Apr 18 '17 at 14:36
  • 1
    @Joseph oh I see, silly me – Luffydude Apr 18 '17 at 15:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.