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) Thanks again and cheers! Stéphane Le mardi 10 janvier 2017, Chris House <[email protected]> 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, <[email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>> > wrote: > >> Send Qgis-user mailing list submissions to >> [email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');> >> >> 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 >> [email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');> >> >> You can reach the person managing the list at >> [email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');> >> >> 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 <[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>> >> To: Enrico Fiore <[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>> >> Cc: qgis-user <[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>> >> Subject: Re: [Qgis-user] Symbolizing a discrete or a boolean raster >> Message-ID: >> <[email protected] >> ail.com >> <javascript:_e(%7B%7D,'cvml','cak6pvbxurm_e7drp%2b8sp9ampuux0%[email protected]');> >> > >> 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 <[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>> 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 <[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>> 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 <[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');> >> > <javascript:_e(%7B%7D,'cvml','[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>');>> 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" <[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>> >> >> Data: 09/01/2017 6.30 >> >> A: "qgis-user"<[email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');>> >> >> 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 (DE) >> E [email protected] <javascript:_e(%7B%7D,'cvml','[email protected]');> >> 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/ >> 20170109/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/ >> 20170109/985fd14c/attachment-0001.zip> >> >> ------------------------------ >> >> Subject: Digest Footer >> >> _______________________________________________ >> Qgis-user mailing list >> [email protected] >> <javascript:_e(%7B%7D,'cvml','[email protected]');> >> 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 (DE) E [email protected] W http://www.stat.kg W3W: nightfall.into.bucket <https://map.what3words.com/nightfall.into.bucket> // запас.союз.дружный <https://map.what3words.com/запас.союз.дружный>
_______________________________________________ Qgis-user mailing list [email protected] List info: http://lists.osgeo.org/mailman/listinfo/qgis-user Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-user
