[Qgis-user] Raster: replace a single value with another value

Carlos Cerdán sig.upagu at gmail.com
Tue Nov 18 06:10:07 PST 2014


Cross posting... Now we can test your file.... You're right, just 0 0 0 0
s...

2014-11-18 9:04 GMT-05:00 Carlos Cerdán <sig.upagu at gmail.com>:

> Hi Andreas:
>
> I've checked the expression and it's ok. I forgot to warn about the
> "Actual layer extension" button in raster calculator: When you have two or
> more raster layers, and these have different limits, we have to indicate
> what the limit of result is, so, if it's the case, in raster calculator,
> before perform your expression, select the TEMP layer and press this button
> to ensure that limit of resulting layer is right, else, you'll get a layer
> containing all cells 0.
>
> Or... start a new QGIS session, load just TEMP layer and use raster
> calculator. Limits don't be an issue.
>
> Regards
>
> Carlos
>
> 2014-11-18 4:37 GMT-05:00 Andreas Neumann <a.neumann at carto.net>:
>
> Hi Carlos,
>>
>> Thank you for your help!
>>
>> I tried with
>>
>> (TEMP at 1=249)*255 + (TEMP at 1<249)*TEMP at 1 + (TEMP at 1>249)*TEMP at 1
>>
>> My layer is called "temp". However, the resulting file contains all 0.
>>
>> I tried in both QGIS 2.4 and 2.6.
>>
>> Is there something wrong with the input file? It was generated from a PDF
>> with ghostscript. Here is the metadata:
>>
>> -----
>>
>> GDAL provider
>> GTiff
>> GeoTIFF
>> Datensatzbeschreibung
>> //gis/gis/mapserverdata/uep/release_2014_11/temp.tif
>> TIFFTAG_DATETIME=2014:11:17 09:50:08
>> TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
>> TIFFTAG_SOFTWARE=GPL Ghostscript 9.10
>> TIFFTAG_XRESOLUTION=600
>> TIFFTAG_YRESOLUTION=600
>> Kanal 1
>> STATISTICS_MAXIMUM=255
>> STATISTICS_MEAN=247.18714741724
>> STATISTICS_MINIMUM=0
>> STATISTICS_STDDEV=37.198102288306
>> Dimensionen
>> X: 71575 Y: 70867 Kanäle: 1
>> Leerwert
>> *Leerwert nicht gesetzt*
>> Datentyp
>> Byte - Acht Bit vorzeichenlose Ganzzahl
>> Pyramidenübersichten
>> Räumliches Bezugssystem des Layers
>> +proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1
>> +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=674.4,15.1,405.3,0,0,0,0
>> +units=m +no_defs
>> Layerausdehnung (in urspünglicher Projektion des Layers)
>> 0.0000000000000000,-70867.0000000000000000 : 71575.0000000000000000,0.
>> 0000000000000000
>> Kanal
>> Kanal 1
>> Kanal Nr
>> 1
>> Keine Statistik
>> Noch keine Statistik gesammelt
>>
>> ------------
>>
>> Thanks again if you have any idea what may be wrong with my file or the
>> above listed raster calc statement.
>>
>> Andreas
>>
>>
>>
>> Am 2014-11-17 18:38, schrieb Carlos Cerdán:
>>
>>> Hi Andreas:
>>>
>>> I think QGIS raster calculator can make this job. Conditional syntax
>>> is a little bit... different.  The sentence that can do it is:
>>>
>>> (TIFF=249)*255 + (TIFF<249)*TIFF + (TIFF>249)*TIFF
>>>
>>> Where TIFF is your raster layer. The trick is: if the sentence in
>>> parentheses is true, it gets value 1, else zero; so we have to
>>> multiply by 255 to replace the 249 values. Next we have to add the
>>> other values.
>>>
>>> Good luck,
>>>
>>> Carlos Cerdán
>>>
>>> PD. Please let me know if i'm wrong with this suggestion
>>>
>>> 2014-11-17 12:02 GMT-05:00 Andreas Neumann <a.neumann at carto.net>:
>>>
>>>  Hi,
>>>>
>>>> I have a very simple task (at least I thought it is simple), but am
>>>> not able to do it properly.
>>>>
>>>> I have a grayscale tiff value where I would like to replace the
>>>> value of 249 with 255 - all other values should stay as they are.
>>>>
>>>> I tried with gdal "nearblack", but nothing changed - I started a
>>>> separate email-thread about that at the gdal list.
>>>>
>>>> Then I tried with the QGIS raster calculator - but it does not
>>>> support conditional syntax.
>>>>
>>>> I tried with Processing and GRASS - but it would stop at 8% - the
>>>> file is quite big.
>>>>
>>>> Finally I came across SAGA "Reclassify with grid value". The
>>>> dialogue is very complicated and hard to understand. After a while
>>>> it would stop with an error message telling me that Saga may not be
>>>> properly configured - but it says that it is properly installed.
>>>> Quite confusing ...
>>>>
>>>> I am trying on Win7 64bit.
>>>>
>>>> If the file wouldn't be so big I would try this task in The Gimp -
>>>> where it is very simple to replace one pixel values with another -
>>>> using "Select by color" and "fill with a specific color".
>>>>
>>>> Any idea how I could achieve my task with GDAL, QGIS, GRASS or
>>>> Saga?
>>>>
>>>> Thanks,
>>>> Andreas
>>>>
>>>> _______________________________________________
>>>> Qgis-user mailing list
>>>> Qgis-user at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/qgis-user [1]
>>>>
>>>
>>>
>>>
>>> Links:
>>> ------
>>> [1] http://lists.osgeo.org/mailman/listinfo/qgis-user
>>>
>>> _______________________________________________
>>> Qgis-user mailing list
>>> Qgis-user at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/qgis-user
>>>
>> _______________________________________________
>> Qgis-user mailing list
>> Qgis-user at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/qgis-user
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20141118/b9d42a26/attachment.html>


More information about the Qgis-user mailing list