mirror of
https://github.com/rasterio/rasterio.git
synced 2025-12-08 17:36:12 +00:00
48 lines
1.3 KiB
ReStructuredText
48 lines
1.3 KiB
ReStructuredText
Colormaps
|
|
=========
|
|
|
|
Writing colormaps
|
|
-----------------
|
|
|
|
Mappings from 8-bit (rasterio.uint8) pixel values to RGBA values can be attached
|
|
to bands using the ``write_colormap()`` method.
|
|
|
|
.. code-block:: python
|
|
|
|
import rasterio
|
|
|
|
with rasterio.drivers():
|
|
|
|
with rasterio.open('tests/data/shade.tif') as src:
|
|
shade = src.read_band(1)
|
|
meta = src.meta
|
|
|
|
with rasterio.open('/tmp/colormap.tif', 'w', **meta) as dst:
|
|
dst.write_band(1, shade)
|
|
dst.write_colormap(
|
|
1, {
|
|
0: (255, 0, 0, 255),
|
|
255: (0, 0, 255, 255) })
|
|
cmap = dst.colormap(1)
|
|
# True
|
|
assert cmap[0] == (255, 0, 0, 255)
|
|
# True
|
|
assert cmap[255] == (0, 0, 255, 255)
|
|
|
|
subprocess.call(['open', '/tmp/colormap.tif'])
|
|
|
|
The program above (on OS X, another viewer is needed with a different OS)
|
|
yields the image below:
|
|
|
|
.. image:: http://farm8.staticflickr.com/7391/12443115173_80ecca89db_d.jpg
|
|
:width: 500
|
|
:height: 500
|
|
|
|
Reading colormaps
|
|
-----------------
|
|
|
|
As shown above, the ``colormap()`` returns a dict holding the colormap for the
|
|
given band index. For TIFF format files, the colormap will have 256 items, and
|
|
all but two of those would map to (0, 0, 0, 0) in the example above.
|
|
|