{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# pip install colorcet" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import folium\n", "import matplotlib\n", "import colorcet\n", "from matplotlib.pyplot import imread\n", "from matplotlib.colors import Normalize\n", "from folium import raster_layers" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "image = '/notebooks/resources/gpm/gpm_1d.20190531.tif'" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10.0 -180.0\n", "-60.0 -180.0\n", "-60.0 -30.0\n", "10.0 -30.0\n", "ext = [[10.0, -180.0], [-60.0, -180.0], [-60.0, -30.0], [10.0, -30.0]]\n", "geo_ext = [[10.0, -180.0], [-60.0, -180.0], [-60.0, -30.0], [10.0, -30.0]]\n" ] } ], "source": [ "from osgeo import gdal,ogr,osr\n", "\n", "def GetExtent(gt,cols,rows):\n", " ''' Return list of corner coordinates from a geotransform\n", "\n", " @type gt: C{tuple/list}\n", " @param gt: geotransform\n", " @type cols: C{int}\n", " @param cols: number of columns in the dataset\n", " @type rows: C{int}\n", " @param rows: number of rows in the dataset\n", " @rtype: C{[float,...,float]}\n", " @return: coordinates of each corner\n", " '''\n", " ext=[]\n", " xarr=[0,cols]\n", " yarr=[0,rows]\n", "\n", " for px in xarr:\n", " for py in yarr:\n", " x=gt[0]+(px*gt[1])+(py*gt[2])\n", " y=gt[3]+(px*gt[4])+(py*gt[5])\n", " ext.append([y,x])\n", " print (y,x)\n", " yarr.reverse()\n", " return ext\n", "\n", "def ReprojectCoords(coords,src_srs,tgt_srs):\n", " ''' Reproject a list of x,y coordinates.\n", "\n", " @type geom: C{tuple/list}\n", " @param geom: List of [[x,y],...[x,y]] coordinates\n", " @type src_srs: C{osr.SpatialReference}\n", " @param src_srs: OSR SpatialReference object\n", " @type tgt_srs: C{osr.SpatialReference}\n", " @param tgt_srs: OSR SpatialReference object\n", " @rtype: C{tuple/list}\n", " @return: List of transformed [[x,y],...[x,y]] coordinates\n", " '''\n", " trans_coords=[]\n", " transform = osr.CoordinateTransformation( src_srs, tgt_srs)\n", " for x,y in coords:\n", " x,y,z = transform.TransformPoint(x,y)\n", " trans_coords.append([x,y])\n", " return trans_coords\n", "\n", "raster=image\n", "ds=gdal.Open(raster)\n", "\n", "gt=ds.GetGeoTransform()\n", "cols = ds.RasterXSize\n", "rows = ds.RasterYSize\n", "\n", "ext=GetExtent(gt,cols,rows)\n", "print(\"ext = \" + str(ext))\n", "\n", "src_srs=osr.SpatialReference()\n", "src_srs.ImportFromWkt(ds.GetProjection())\n", "# tgt_srs=osr.SpatialReference()\n", "# tgt_srs.ImportFromEPSG(3857)\n", "tgt_srs = src_srs.CloneGeogCS()\n", "\n", "geo_ext=ReprojectCoords(ext,src_srs,tgt_srs)\n", "print(\"geo_ext = \" + str(geo_ext))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Driver: GTiff/GeoTIFF\r\n", "Files: /notebooks/resources/gpm/gpm_1d.20190531.tif\r\n", "Size is 1500, 700\r\n", "Coordinate System is:\r\n", "GEOGCS[\"WGS 84\",\r\n", " DATUM[\"WGS_1984\",\r\n", " SPHEROID[\"WGS 84\",6378137,298.2572326660159,\r\n", " AUTHORITY[\"EPSG\",\"7030\"]],\r\n", " AUTHORITY[\"EPSG\",\"6326\"]],\r\n", " PRIMEM[\"Greenwich\",0],\r\n", " UNIT[\"degree\",0.0174532925199433],\r\n", " AUTHORITY[\"EPSG\",\"4326\"]]\r\n", "Origin = (-180.000000000000000,10.000000000000000)\r\n", "Pixel Size = (0.100000000000000,-0.100000000000000)\r\n", "Metadata:\r\n", " AREA_OR_POINT=Area\r\n", " TIFFTAG_DATETIME=2019:06:01 13:35:13\r\n", " TIFFTAG_DOCUMENTNAME=/NRTPUB/imerg/gis/2019/05/3B-HHR-L.MS.MRG.3IMERG.20190531-S233000-E235959.1410.V06B.1day.tif\r\n", " TIFFTAG_IMAGEDESCRIPTION=DOI=10.5067/GPM/IMERG/3B-HH-L/06 DOIauthority=http://dx.doi.org/ DOIshortName=3IMERGHH_LATE Unit=0.1(mm) ScaleFactor=10\r\n", " TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)\r\n", " TIFFTAG_SOFTWARE=IDL 8.7.2, Harris Geospatial Solutions, Inc.\r\n", " TIFFTAG_XRESOLUTION=100\r\n", " TIFFTAG_YRESOLUTION=100\r\n", "Image Structure Metadata:\r\n", " COMPRESSION=LZW\r\n", " INTERLEAVE=BAND\r\n", "Corner Coordinates:\r\n", "Upper Left (-180.0000000, 10.0000000) (180d 0' 0.00\"W, 10d 0' 0.00\"N)\r\n", "Lower Left (-180.0000000, -60.0000000) (180d 0' 0.00\"W, 60d 0' 0.00\"S)\r\n", "Upper Right ( -30.0000000, 10.0000000) ( 30d 0' 0.00\"W, 10d 0' 0.00\"N)\r\n", "Lower Right ( -30.0000000, -60.0000000) ( 30d 0' 0.00\"W, 60d 0' 0.00\"S)\r\n", "Center (-105.0000000, -25.0000000) (105d 0' 0.00\"W, 25d 0' 0.00\"S)\r\n", "Band 1 Block=1500x2 Type=UInt16, ColorInterp=Gray\r\n" ] } ], "source": [ "!gdalinfo '/notebooks/resources/gpm/gpm_1d.20190531.tif'" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/bin/sh: 1: gdal_edit: not found\r\n" ] } ], "source": [ "!gdal_edit -colorinterp_1 alpha /notebooks/resources/gpm/gpm_1d.20190531.tif" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "# Choose colormap\n", "cmap = pl.cm.RdBu\n", "\n", "# Get the colormap colors\n", "my_cmap = cmap(np.arange(cmap.N))\n", "\n", "# Set alpha\n", "my_cmap[:,-1] = np.linspace(0, 1, cmap.N)\n", "\n", "# Create new colormap\n", "my_cmap = ListedColormap(my_cmap)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "m = folium.Map(\n", " location = [-22, -114]\n", " , zoom_start = 2\n", " , control_scale = True \n", " , tiles = 'Stamen Terrain'\n", ")\n", "\n", "data = matplotlib.pyplot.imread(image)\n", "\n", "# Image bounds on the map in the form\n", "# [[lat_min, lon_min], [lat_max, lon_max]]\n", "m.add_child(raster_layers.ImageOverlay(\n", " data\n", " , opacity = 0.7\n", " , bounds = [ext[2], ext[0]]\n", " , mercator_project = True\n", "# , colormap = lambda x: (1, 0, 0, x)\n", "# , colormap = colorcet.cm.bmw\n", " , colormap = my_cmap\n", ")\n", " )\n", "\n", "folium.Marker(\n", " ext[2]\n", " , popup = str(ext[2])\n", " , tooltip = str(ext[2])\n", ").add_to(m)\n", "\n", "folium.Marker(\n", " ext[0]\n", " , popup = str(ext[0])\n", " , tooltip = str(ext[0])\n", ").add_to(m)\n", "\n", "m" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "vars(m)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(data)\n", "print(data.shape)\n", "# data = data.transpose()\n", "# print(data)\n", "# print(data.shape)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# First: read the geotiff image with GDAL.\n", "from osgeo import gdal, osr\n", "\n", "gdal.UseExceptions()\n", "\n", "ds = gdal.Open(image)\n", "data = ds.ReadAsArray()\n", "gt = ds.GetGeoTransform()\n", "proj = ds.GetProjection()\n", "\n", "inproj = osr.SpatialReference()\n", "inproj.ImportFromWkt(proj)\n", "\n", "print('\\n\\n## ds ##:\\n\\n' + str(ds))\n", "print('\\n\\n## data ##:\\n\\n' + str(data))\n", "print('\\n\\n## gt ##:\\n\\n' + str(gt))\n", "print('\\n\\n## proj ##:\\n\\n' + str(proj))\n", "print('\\n\\n## inproj ##:\\n\\n' + str(inproj))" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(0, 0, 0, 0)\n" ] } ], "source": [ "q = lambda x: (0, 0, 0, 0)\n", "print(q(0))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(0.72312, 0.11873, 1.0, 1.0)\n", "(0.72312, 0.11873, 1.0)\n", "\n" ] } ], "source": [ "cmap = colorcet.cm.bmw\n", "\n", "rgba = cmap(0.5)\n", "print(rgba) # (0.99807766255210428, 0.99923106502084169, 0.74602077638401709, 1.0\n", "print(rgba[:-1])\n", "\n" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pylab as pl\n", "from matplotlib.colors import ListedColormap\n", "\n", "# Random data\n", "data1 = np.random.random((4,4))\n", "\n", "# Choose colormap\n", "cmap = pl.cm.RdBu\n", "\n", "# Get the colormap colors\n", "my_cmap = cmap(np.arange(cmap.N))\n", "\n", "# Set alpha\n", "my_cmap[:,-1] = np.linspace(0, 1, cmap.N)\n", "\n", "# Create new colormap\n", "my_cmap = ListedColormap(my_cmap)\n", "\n", "pl.figure()\n", "pl.subplot(121)\n", "pl.pcolormesh(data1, cmap=pl.cm.RdBu)\n", "pl.colorbar()\n", "\n", "pl.subplot(122)\n", "pl.pcolormesh(data1, cmap=my_cmap)\n", "pl.colorbar()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0.0000e+00 0.0000e+00 0.0000e+00 1.0000e+00]\n", " [2.7065e-02 2.1430e-05 0.0000e+00 1.0000e+00]\n", " [5.2054e-02 7.4728e-05 0.0000e+00 1.0000e+00]\n", " ...\n", " [1.0000e+00 9.9953e-01 8.7115e-01 1.0000e+00]\n", " [1.0000e+00 9.9989e-01 9.3683e-01 1.0000e+00]\n", " [1.0000e+00 1.0000e+00 1.0000e+00 1.0000e+00]]\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Choose colormap\n", "cmap = colorcet.cm.fire\n", "\n", "# Get the colormap colors\n", "my_cmap = cmap(np.arange(cmap.N))\n", "\n", "print(my_cmap)\n", "\n", "# Set alpha\n", "my_cmap[:,-1] = np.linspace(0, 1, cmap.N)\n", "\n", "# Create new colormap\n", "my_cmap = ListedColormap(my_cmap)\n", "\n", "pl.figure()\n", "pl.subplot(121)\n", "pl.pcolormesh(data1, cmap=colorcet.cm.fire)\n", "pl.colorbar()\n", "\n", "pl.subplot(122)\n", "pl.pcolormesh(data1, cmap=my_cmap)\n", "pl.colorbar()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }