[Qgis-user] Composer Atlas: How get rid of the big red cross when there is no image?
Bernd Vogelgesang
bernd.vogelgesang at gmx.de
Wed Oct 26 15:28:07 PDT 2016
Am 27.10.2016, 00:12 Uhr, schrieb Nyall Dawson <nyall.dawson at gmail.com>:
>
> On 27 Oct 2016 7:18 AM, "Bernd Vogelgesang" <bernd.vogelgesang at gmx.de>
> wrote:
>>
>> Am 26.10.2016, 22:57 Uhr, schrieb Nyall Dawson <nyall.dawson at gmail.com>:
>>
>>> On 27 Oct 2016 6:51 AM, "Bernd Vogelgesang" <bernd.vogelgesang at gmx.de>
>>> wrote:
>>> >
>>> > Arghh, sorry for the noise!
>>> >
>>> > When hovering over the data-driven input button not so hectically, I
>>> discovered the explanation that it expects a 0 or 1.
>>> > So
>>> > case when> 'mypath'|| @atlas_pagename ||'_1.jpeg' IS NULL
>>> > THEN
>>> > 0
>>> > END
>>> >
>>> > did the trick!
>>>
>>> This is odd... A null picture expression should be rendered empty, not
>>> as the red cross. The red cross is intended only as an >obnoxious,
>>> obvious indicator that a picture path was set but couldn't be found.
>>>
>>> The expression above would only result in 0 if @atlas_pagename is null.
>>>
>>> Nyall
>>
>>
>> Well, yeah, I was too early to announce the solution. In fact this did
>> not render the missing image, but also not the one which is >there :(
>>
>> case when
>> '/media/Daten/IVL_Projekte/2016024_Feldhamster_NEA/2_EINGANG_MA/Bernd/QGIS/Fotos/'||
>> @atlas_pagename ||'_1.jpeg' IS NULL
>> THEN
>> 1
>> ELSE
>> 0
>> END
>>
>> This should do it. But now I am again where is started: When the image
>> is there, it is rendered, when not, the red cross is >exported as well.
>
> That's because that expression is just testing whether the concatenated
> string itself is null, not whether the corresponding file >actually
> exists.
>
> My advice: make a small python custom function 'file_exists' which
> checks for the existence of a file. Then change your picture path
> >expression to something like:
>
> Case when file_exists( 'media/' ... Etc) then 'media/' ... Else null end
>
> That should get you the result you are after.
>
> Nyall
Hi Nyall,
unfortunately, I have still no clue of python.
I now added blank images for the missing ones :(
I think I will at least file a bug report for the red cross not being
rendered.
Thanx for your attention
Bernd
>
>>
>> :(
>>
>> Bernd
>>
>>> >
>>> > Just amazing!!!>
>>> > Thanx
>>> > Bernd
>>> >
>>> > Am 26.10.2016, 22:19 Uhr, schrieb DelazJ <delazj at gmail.com>:
>>> >
>>> >> Hi,
>>> >> what about using the data-defined option near the "Exclude items
>>> from export" in the items properties --> Rendering (with a >case when
>>> expression)?
>>> >>
>>> http://docs.qgis.org/2.14/en/docs/user_manual/print_composer/composer_items/composer_items_options.html#rendering-mode
>>> >>
>>> >> HTH,
>>> >> Harrissou
>>> >>
>>> >> 2016-10-26 22:10 GMT+02:00 Bernd Vogelgesang
>>> <bernd.vogelgesang at gmx.de>:
>>> >>>
>>> >>> Hi,
>>> >>> I set up a neat atlas for displaying a row of 50 sample plots. On
>>> a second page, I want to show 2 pictures taken of these >plots
>>> automatically with an expression including the path ||
>>> @atlas_pagenumber || '_1.jpeg' or '_2.jpeg' to display up to two
>>> photos >named e.g. 1_1.jpeg, 1_2.jpeg.
>>> >>>
>>> >>> This works really great! The problem is, that for some plots, we
>>> do not and have any picture or only one. In composer, these >missing
>>> images are marked with a big red cross.
>>> >>> Unfortunately, these red crosses are also exported, which looks
>>> quite shitty.
>>> >>>
>>> >>> Is there any clever way of forcing QGIS not to export these place
>>> holders but just not to print anything at this place?
>>> >>>
>>> >>> The only (boring) idea I came up with till now, was to create
>>> empty white images and name them accordingly to avoid the red >crosses.
>>> >>>
>>> >>> Thanx
>>> >>> Bernd
>>> >>>
>>> >>> -->>> Bernd Vogelgesang
>>> >>> Siedlerstraße 2
>>> >>> 91083 Baiersdorf/Igelsdorf
>>> >>> Tel: 09133-825374
>>> >>> _______________________________________________
>>> >>> Qgis-user mailing list
>>> >>> Qgis-user at lists.osgeo.org
>>> >>> List info: http://lists.osgeo.org/mailman/listinfo/qgis-user
>>> >>> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-user
>>> >>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > Bernd Vogelgesang
>>> > Siedlerstraße 2
>>> > 91083 Baiersdorf/Igelsdorf
>>> > Tel: 09133-825374
>>> >
>>> > _______________________________________________
>>> > Qgis-user mailing list
>>> > Qgis-user at lists.osgeo.org
>>> > List info: http://lists.osgeo.org/mailman/listinfo/qgis-user
>>> > Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-user
>>
>>
>>
>>
>> --
>> Bernd Vogelgesang
>> Siedlerstraße 2
>> 91083 Baiersdorf/Igelsdorf
>> Tel: 09133-825374
--
Bernd Vogelgesang
Siedlerstraße 2
91083 Baiersdorf/Igelsdorf
Tel: 09133-825374
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20161027/26622133/attachment.html>
More information about the Qgis-user
mailing list