WebP
"Adding nutrients to a depleted marine ecosystem.""
NEO Data Available
180 months
650 8-day periods
gdal2tiles.py
to Tile 0.1° GeoTIFFs
gdal_translate -of vrt file.tif out.vrt
gdal2tilesp.py -z 0-6 -f PNG out.vrt out
source — GDAL2Tiles http://wiki.osgeo.org/wiki/GDAL2Tiles_SoC_2007
mbtiles
to Mapbox.cominpaint
gmic kindlmann-MY1DMM_CHLORA_2016-01.tif -to_colormode 3 \
bathy.3600x1800.threshold.png \
-blend xor \
--select_color[0] 0,0,0,0 \
-inpaint[0] [1],0 \
-o result.png
gdal_translate -of VRT MY1DMM_CHLORA_2016-07-01_rgb_3600x1800.TIFF clut.vrt
# edit the clut.vrt to make blue2red, or any other color LUT
# cp clut.vrt clut.blue2red.vrt
gdal_translate clut.blue2red.vrt MY1DMM_CHLORA_2016-07-01_rgb_3600x1800.clut.blue2red.TIFF
gdal2tiles.py
Done once ... now scale
MBTile
to Mapbox.comGDAL drivers to the rescue
WebP
WebP
driver in GDAL to compress the data even smallerWebP
tiles are ~1/3 the size of PNG tiles (~15 MB vs. ~45 MB per month)WebP
WebP
scales well for Mobile map solutionsgdal_translate -of vrt file.tif out.vrt
gdal2tilesp.py -z 0-6 -f WEBP out.vrt out
WEBP
NEO Data Available
180 months
650 8-day periods
float = gdal.Open('MY1DMW_CHLORA_2016-09-05.FLOAT.TIFF')
f = numpy.array(float.GetRasterBand(1).ReadAsArray())
grid = numpy.meshgrid(f)
# Extract chlorophyll less than 1.0
t = numpy.less (grid , 1.0)
choice = numpy.logical_and(t , grid)
lowPlankton = numpy.extract(choice, grid)
Plot.ly
gdal2tiles.py
gdal2tilesp.py
— parallel processing, https://github.com/roblabs/gdal2tilespWebP
driver — http://developers.google.com/speed/webp
mb-util
for packing mbtiles
, https://github.com/mapbox/mbutilmapbox
CLI for uploading mbtiles
, https://github.com/mapbox/mapbox-cli-py
Chris Garrard, Geoprocessing With Python, https://manning.com/books/geoprocessing-with-python
Python GDAL/OGR Cookbook, https://pcjericks.github.io/py-gdalogr-cookbook/