[Qgis-user] Symbolizing a discrete or a boolean raster (Stéphane Henriod)

Stéphane Henriod s at henriod.info
Tue Jan 10 02:24:47 PST 2017


Done, I moved it to the developer list:
https://lists.osgeo.org/pipermail/qgis-developer/2017-January/046547.html

Thanks for the hint!

Cheers

Stéphane

Le mardi 10 janvier 2017, DelazJ <delazj at gmail.com> a écrit :

> Hi Stéphane,
>
> 2017-01-10 4:02 GMT+01:00 Stéphane Henriod <s at henriod.info
> <javascript:_e(%7B%7D,'cvml','s at henriod.info');>>:
>
>> Hi Chris
>>
>> this is very nice! I indeed didn't know this trick and will certainly use
>> it again in the future!
>>
>> However... :-)
>>
>> I am currently teaching QGIS to beginners and this for sure is not an
>> appropriate method for them (especially in the case you have to generate
>> the symbology file through a script)!
>>
>> Since the user can style continuous rasters with some "button-clicking",
>> I believe the same option should be available for discrete rasters as well.
>>
>> I am thus wondering if anyone else than me sees it as a priority for
>> QGIS? If yes, how to motivate the developers to take it for the next
>> release and / or how much would such a development cost? (I unfortunately
>> don't have the competences to do it myself)
>>
>> There have been some work done in the raster properties dialog in the
> upcoming 3.0. I don't know if your concern was covered though.
> If you want, you can move the question to the developer's list
> <http://qgis.org/en/site/getinvolved/mailinglists.html#qgis-developers-list>
> and discuss whether/how this can be implemented (and its requirements).
>
> Regards,
> Harrissou
>
> Thanks again and cheers!
>>
>> Stéphane
>>
>>
>> Le mardi 10 janvier 2017, Chris House <housec01 at gmail.com
>> <javascript:_e(%7B%7D,'cvml','housec01 at gmail.com');>> a écrit :
>>
>>> Hi Stéphane,
>>>
>>> I don't know if this is what you are looking for or not but I have a
>>> method of classifying rasters by color based on a set (standard) colors.  I
>>> created a spreadsheet that has several required columns, value, red, green,
>>> blue...and you can have an optional field for a display value.  So say
>>> value 1 is water you can use that last column to name that value so that in
>>> the QGIS layer tree and in legend it says Water instead of value 1.
>>>
>>> save the spreadsheet as a csv and change the extension to .txt instead
>>> of .csv.
>>>
>>> I then go into the symbology section of the raster choose singleband
>>> pseudocolor. Use the folder to browse to your text file and click add.
>>> There is a format for this text file.  It is below.  If you need me to
>>> email it I will do that in direct email.
>>>
>>> # QGIS Generated Color Map Export File
>>> INTERPOLATION:EXACT
>>> -9999,0,0,0,255,NoData
>>> 0,176,176,176,255,Non-Forested
>>> 15,234,255,191,255,10 <=  CC < 20
>>> 25,187,230,149,255,20 <=  CC < 30
>>> 35,140,201,109,255,30 <=  CC < 40
>>> 45,98,176,74,255,40 <=  CC < 50
>>> 55,59,153,43,255,50 <= CC < 60
>>> 65,0,128,0,255,60 <=  CC < 70
>>> 75,15,92,11,255,70 <=  CC < 80
>>> 85,17,61,12,255,80 <=  CC < 90
>>> 95,16,36,12,255,90 <=  CC <= 100
>>>
>>> In my example if I don't assign a value it gets ignored by QGIS.  If you
>>> are wondering how to assign unique colors to say 200 unique values...just
>>> script it.  I have done this and as long as you have the number of unique
>>> values you want and to make them unique in the script it works.
>>>
>>> I hope this helps.  I know it isn't a "button" but to be honest I like
>>> this better.  If you already knew this...well then maybe it will help
>>> someone out in the future.
>>>
>>> --Chris
>>>
>>> On Mon, Jan 9, 2017 at 3:00 PM, <qgis-user-request at lists.osgeo.org>
>>> wrote:
>>>
>>>> Send Qgis-user mailing list submissions to
>>>>         qgis-user at lists.osgeo.org
>>>>
>>>> To subscribe or unsubscribe via the World Wide Web, visit
>>>>         http://lists.osgeo.org/mailman/listinfo/qgis-user
>>>> or, via email, send a message with subject or body 'help' to
>>>>         qgis-user-request at lists.osgeo.org
>>>>
>>>> You can reach the person managing the list at
>>>>         qgis-user-owner at lists.osgeo.org
>>>>
>>>> When replying, please edit your Subject line so it is more specific
>>>> than "Re: Contents of Qgis-user digest..."
>>>>
>>>>
>>>> Today's Topics:
>>>>
>>>>    1. Re: Symbolizing a discrete or a boolean raster (Stéphane Henriod)
>>>>
>>>>
>>>> ----------------------------------------------------------------------
>>>>
>>>> Message: 1
>>>> Date: Mon, 9 Jan 2017 23:07:36 +0600
>>>> From: Stéphane Henriod <s at henriod.info>
>>>> To: Enrico Fiore <enricofiore at libero.it>
>>>> Cc: qgis-user <qgis-user at lists.osgeo.org>
>>>> Subject: Re: [Qgis-user] Symbolizing a discrete or a boolean raster
>>>> Message-ID:
>>>>         <CAK6pVBXURm_e7dRP+8SP9amPUUX0+Cn3GVxLPNjOHhno85o2rA at mail.gm
>>>> ail.com>
>>>> Content-Type: text/plain; charset="utf-8"
>>>>
>>>> Hi
>>>>
>>>> thanks for following up!
>>>>
>>>> It actually does part of the job!
>>>>
>>>> Using *Color interpretation: Exact*, I can indeed input the exact
>>>> values I
>>>> want to display (1,5 and 10) and all other pixels are hidden.
>>>>
>>>> HOWEVER,
>>>>
>>>> this still feels like a workaround:
>>>>
>>>>    - In the case of a discrete raster with many (> 50) unique values, I
>>>> do
>>>>    not want to input all of them manually
>>>>    - In some cases, I do not know in advance all the unique values of my
>>>>    raster
>>>>    - If I click on *Classify*, QGIS will choose X values (based on the
>>>>    number of classes and the classification method (continuous or equal
>>>>    interval)), which no longer match the "exact" values of my raster. It
>>>>    doesn't really make sense to classify a discrete rendering
>>>>
>>>> So I would say, we still need a render type "discrete raster" which
>>>> offers
>>>> the function to "retrieve all unique values" (and automatically apply a
>>>> discrete color ramp)
>>>>
>>>> Attached a (fake) test dataset.
>>>>
>>>> Thanks and cheers
>>>>
>>>> Stéphane
>>>>
>>>>
>>>> Le lundi 9 janvier 2017, Enrico Fiore <enricofiore at libero.it> a écrit :
>>>>
>>>> > Hi,
>>>> > Sorry I can't do test, but if you use exact in color interpolation
>>>> > parameter?
>>>> >
>>>> > Cheers
>>>> >
>>>> > Enrico
>>>>
>>>>
>>>> Le lundi 9 janvier 2017, Stéphane Henriod <s at henriod.info> a écrit :
>>>>
>>>> > Hi
>>>> >
>>>> > unfortunately this is doing quite something different!
>>>> >
>>>> > If I have a raster with 10 Landcover classes (1,2,3,4,5,6,7,8,9,10)
>>>> and I
>>>> > want to display only 1,5 and 10, using *Discrete *(1: red, 5: yellow,
>>>> 10:
>>>> > blue) the following will happen:
>>>> >
>>>> > All pixels between 1 and 4 will be red
>>>> > All pixels between 5 and 9 will be yellow
>>>> > All pixels with 10 will be blue
>>>> >
>>>> > In this sense, the pixels are indeed not interpolated, but this still
>>>> is
>>>> > not the behavior I am expecting when styling discrete rasters.
>>>> >
>>>> > A "style discrete raster" function should offer the following:
>>>> >
>>>> >    - Automatically recover all unique values from the raster
>>>> >    - Only display the pixels to which the user has explicitly
>>>> assigned a
>>>> >    color
>>>> >
>>>> > But thanks for your hint, this can be helpful in other cases!
>>>> >
>>>> > Cheers
>>>> >
>>>> > Stéphane
>>>> >
>>>> >
>>>> > Le lundi 9 janvier 2017, Enrico Fiore <enricofiore at libero.it
>>>> > <javascript:_e(%7B%7D,'cvml','enricofiore at libero.it');>> a écrit :
>>>> >
>>>> >> Hi,
>>>> >> I think that the solution is in the QGIS documentation, that you can
>>>> read
>>>> >> here: http://docs.qgis.org/2.14/en/docs/user_manual/working_with_r
>>>> >> aster/raster_properties.html#band-rendering
>>>> >> you have to use *Singleband pseudocolor *and set color interpolation
>>>> to
>>>> >> Discrete.
>>>> >>
>>>> >> Enrico
>>>> >>
>>>> >>
>>>> >> ----Messaggio originale----
>>>> >> Da: "Stéphane Henriod" <s at henriod.info>
>>>> >> Data: 09/01/2017 6.30
>>>> >> A: "qgis-user"<qgis-user at lists.osgeo.org>
>>>> >> Ogg: [Qgis-user] Symbolizing a discrete or a boolean raster
>>>> >>
>>>> >> Dear all
>>>> >>
>>>> >> As much as I love QGIS and use it in my everyday life, there is one
>>>> >> feature that I find particularly annoying: the styling of discrete
>>>> rasters.
>>>> >>
>>>> >> Basically, if I have a raster layer consisting of discrete landcover
>>>> >> values (1: water, 2: forest, 3: built-up), it seems that there is no
>>>> easy
>>>> >> way to style it. QGIS will assume that the data is continuous and
>>>> basically
>>>> >> interpolate the color between each value, which leads to the
>>>> following
>>>> >> issues:
>>>> >>
>>>> >> Let's say I want to display only water and built-up (values 1 and 3),
>>>> >> water in blue and built-up in grey. QGIS will still display the
>>>> forests,
>>>> >> using a color somewhere "between" blue and grey. My only left option
>>>> is to
>>>> >> process the raster to actually replace all the 2 with NoData, which
>>>> is
>>>> >> highly unpractical...
>>>> >>
>>>> >> Same if I have a boolean raster (only 0 and 1 values). QGIS will by
>>>> >> default make a color ramp from 0 to 0.9999.
>>>> >>
>>>> >> Also, the whole rather feels like a work-around for a missing
>>>> feature.
>>>> >>
>>>> >> I dream of a feature similar to this one from ArcGIS:
>>>> >> http://resources.arcgis.com/en/help/main/10.1/index.
>>>> >> html#/representing_unique_categories_such_as_land_use/009t00
>>>> 000074000000/
>>>> >> where all unique values are styled independently and where I can
>>>> easily
>>>> >> skip the values I don't want to see on my map.
>>>> >>
>>>> >> I asked a question here:
>>>> >> http://gis.stackexchange.com/questions/194116/qgis-style-a-d
>>>> >> iscrete-raster
>>>> >>
>>>> >> and opened a ticket here:
>>>> >> http://hub.qgis.org/issues/14845
>>>> >>
>>>> >> But none has gotten lots of attention yet... Am I the only one to be
>>>> >> annoyed by this? If no, please raise your hand and let's try to get
>>>> some
>>>> >> momentum and see how to push this feature forward!
>>>> >>
>>>> >> Thanks a lot in advance!
>>>> >>
>>>> >> Cheers
>>>> >>
>>>> >> Stéphane
>>>> >>
>>>> >>
>>>> >
>>>>
>>>> --
>>>> Stéphane Henriod
>>>> CIM-Expert for GIS and Green Economy Statistics
>>>>
>>>> Национальный статистический комитет Кыргызской Республики
>>>> Кыргыз Республикасынын Улуттук статистика комитети
>>>> National Statistical Committee of the Kyrgyz Republic
>>>>
>>>> 374 Фрунзе ул. / Frunze str.
>>>> 720033 Бишкек / Bishkek
>>>>
>>>> T   +996 778 46 99 02 (KG)
>>>> T   +49 176 280 11 050 <+49%20176%2028011050> (DE)
>>>> E    s at henriod.info
>>>> W   http://www.stat.kg
>>>> W3W: nightfall.into.bucket
>>>> <https://map.what3words.com/nightfall.into.bucket>  //
>>>> запас.союз.дружный
>>>> <https://map.what3words.com/запас.союз.дружный>
>>>> -------------- next part --------------
>>>> An HTML attachment was scrubbed...
>>>> URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/2017
>>>> 0109/985fd14c/attachment-0001.html>
>>>> -------------- next part --------------
>>>> A non-text attachment was scrubbed...
>>>> Name: landcover.zip
>>>> Type: application/zip
>>>> Size: 2151 bytes
>>>> Desc: not available
>>>> URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/2017
>>>> 0109/985fd14c/attachment-0001.zip>
>>>>
>>>> ------------------------------
>>>>
>>>> Subject: Digest Footer
>>>>
>>>> _______________________________________________
>>>> 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
>>>>
>>>> ------------------------------
>>>>
>>>> End of Qgis-user Digest, Vol 131, Issue 13
>>>> ******************************************
>>>>
>>>
>>>
>>
>> --
>> Stéphane Henriod
>> CIM-Expert for GIS and Green Economy Statistics
>>
>> Национальный статистический комитет Кыргызской Республики
>> Кыргыз Республикасынын Улуттук статистика комитети
>> National Statistical Committee of the Kyrgyz Republic
>>
>> 374 Фрунзе ул. / Frunze str.
>> 720033 Бишкек / Bishkek
>>
>> T   +996 778 46 99 02 (KG)
>> T   +49 176 280 11 050 <+49%20176%2028011050> (DE)
>> E    s at henriod.info <javascript:_e(%7B%7D,'cvml','s at henriod.info');>
>> W   http://www.stat.kg
>> W3W: nightfall.into.bucket
>> <https://map.what3words.com/nightfall.into.bucket>  //
>> запас.союз.дружный <https://map.what3words.com/запас.союз.дружный>
>>
>>
>> _______________________________________________
>> Qgis-user mailing list
>> Qgis-user at lists.osgeo.org
>> <javascript:_e(%7B%7D,'cvml','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
>>
>
>

-- 
Stéphane Henriod
CIM-Expert for GIS and Green Economy Statistics

Национальный статистический комитет Кыргызской Республики
Кыргыз Республикасынын Улуттук статистика комитети
National Statistical Committee of the Kyrgyz Republic

374 Фрунзе ул. / Frunze str.
720033 Бишкек / Bishkek

T   +996 778 46 99 02 (KG)
T   +49 176 280 11 050 (DE)
E    s at henriod.info
W   http://www.stat.kg
W3W: nightfall.into.bucket
<https://map.what3words.com/nightfall.into.bucket>  //  запас.союз.дружный
<https://map.what3words.com/запас.союз.дружный>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20170110/76dc9236/attachment.html>


More information about the Qgis-user mailing list