Thanks Andreas
Yeah my syntax was screwy
This worked:
CASE WHEN "type" = 'town' THEN
(CASE WHEN $scale < 100000 THEN 15 ELSE 10 END)
ELSE
(CASE WHEN $scale > 100000 THEN 20 ELSE 15 END)
END
Thanks for the help
Cheers
Ross
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Andreas Neumann
Sent: 06 November 2013 16:54
To: [email protected]
Subject: Re: [Qgis-user] Scale based label rendering
Hi Ross,
I sucessfully use $scale - it should just work, otherwise it is a bug either in
your statement or in QGIS.
I guess in your example your statement is wrong as AND/OR can only be combined
with boolean values (true/false). In your case you combine a number with
another number with OR and of course your statement fails.
You could write your statement with nested CASE statements, such as:
CASE WHEN type = 'town' THEN
CASE WHEN $scale < 100000 THEN 15 ELSE 10 END
WHEN type = 'city' THEN
CASE WHEN $scale < 100000 THEN 20 ELSE 15 END END
You should get a warning if the syntax in your statement is not correct.
Andreas
Am 2013-11-06 17:44, schrieb McDonaldR:
> Thanks Bernhard
>
> That does work.
>
> Any idea how the $scale function works then? It is supposed to return
> the current scale of the map canvas but is only available in some
> contexts and will be 0 otherwise.
>
> Ross
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Bernhard
> Ströbl
> Sent: 06 November 2013 16:02
> To: [email protected]
> Subject: Re: [Qgis-user] Scale based label rendering
>
> Hi,
>
> not a solution but a workaround:
> simply copy the layer and define a different visibility scale range.
>
> Bernhard
>
> Am 06.11.2013 16:54, schrieb McDonaldR:
>> Hello list
>>
>> I want to vary the size of my labels on features both by attribute
>> and map scale. So, for example, I have a layer of towns and villages
>> and I want towns labelled with a font size of 20 and villages with a
>> font size of 10. I can do this with in the label size expression builder:
>>
>> CASE WHEN "type" = 'town' THEN 20 ELSE 10 END
>>
>> Now, how can I vary the label size with scale? When the scale is
>> smaller than 1:100000 then towns must be size 15 and villages size 8.
>> I thought something like this would work:
>>
>> (CASE WHEN "type" = 'town' AND $scale< 100000 THEN 20 ELSE 10 END)
>> OR (CASE WHEN "type" = 'town' AND $scale> 100000 THEN 15 ELSE 8 END)
>>
>> I tried with the $scale function under Record category but then the
>> labels disappeared.
>>
>> Any suggestions?
>>
>> I am using QGIS 2.0.1-3 on Windows 7.
>>
>> Thanks
>>
>> Ross
>>
>> Ross McDonald | GIS Data Coordinator | Resources Department, IT
>> Division | Angus Council, Angus House, Orchardbank Business Park,
>> Forfar, DD8 1AT
>> T: 01307 476419 | F: 01307 476401 | E:
>> [email protected]<mailto:[email protected]> | W: Angus
>> Maps<http://www.angus.gov.uk/maps/map_home.cfm>
>>
>> This message is strictly confidential. If you have received this in
>> error, please inform the sender and remove it from your system. If
>> received in error you may not copy, print, forward or use it or any
>> attachment in any way. This message is not capable of creating a
>> legal contract or a binding representation and does not represent the
>> views of Angus Council. Emails may be monitored for security and
>> network management reasons. Messages containing inappropriate
>> content may be intercepted. Angus Council does not accept any
>> liability for any harm that may be caused to the recipient system or
>> data on it by this message or any attachment.
>>
>>
>>
>> __________ Information from ESET Mail Security, version of virus
>> signature database 9013 (20131106) __________
>>
>> The message was checked by ESET Mail Security.
>> http://www.eset.com
>>
>>
>>
>>
>>
>> _______________________________________________
>> Qgis-user mailing list
>> [email protected]
>> http://lists.osgeo.org/mailman/listinfo/qgis-user
>>
>>
>> __________ Information from ESET Mail Security, version of virus
>> signature database 9013 (20131106) __________
>>
>> The message was checked by ESET Mail Security.
>> http://www.eset.com
>>
>
> -
>
>
> __________ Information from ESET Mail Security, version of virus
> signature database 9013 (20131106) __________
>
> The message was checked by ESET Mail Security.
> http://www.eset.com
>
>
> _______________________________________________
> Qgis-user mailing list
> [email protected]
> http://lists.osgeo.org/mailman/listinfo/qgis-user
>
> This message is strictly confidential. If you have received this in
> error, please inform the sender and remove it from your system. If
> received in error you may not copy, print, forward or use it or any
> attachment in any way. This message is not capable of creating a legal
> contract or a binding representation and does not represent the views
> of Angus Council. Emails may be monitored for security and network
> management reasons. Messages containing inappropriate content may be
> intercepted. Angus Council does not accept any liability for any harm
> that may be caused to the recipient system or data on it by this
> message or any attachment.
> _______________________________________________
> Qgis-user mailing list
> [email protected]
> http://lists.osgeo.org/mailman/listinfo/qgis-user
_______________________________________________
Qgis-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-user
This message is strictly confidential. If you have received this in error,
please inform the sender and remove it from your system. If received in error
you may not copy, print, forward or use it or any attachment in any way. This
message is not capable of creating a legal contract or a binding representation
and does not represent the views of Angus Council. Emails may be monitored for
security and network management reasons. Messages containing inappropriate
content may be intercepted. Angus Council does not accept any liability for any
harm that may be caused to the recipient system or data on it by this message
or any attachment.
_______________________________________________
Qgis-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-user