# leaflet-geotiff A [LeafletJS](http://www.leafletjs.com) plugin for displaying geoTIFF raster data. Data can drawn as colored rasters or directon arrows. The layer can be clipped using a polygon. **[DEMO](https://stuartmatthews.github.io/leaflet-geotiff/)** ![Sample](https://stuartmatthews.github.io/leaflet-geotiff/example.png) ## Instructions ### 1. Include the JavaScript file and dependencies ```html ``` ### 2. Add a geoTIFF layer ``` // Create map var layer = L.leafletGeotiff(url, options).addTo(map); ``` Parameters: * `url` - GeoTIFF file URL. Currently only EPSG:4326 files are supported. * `options`: * `bounds` - (optional) An array specifying the corners of the data, e.g. [[40.712216, -74.22655], [40.773941, -74.12544]]. If omitted the image bounds will be read from the geoTIFF file. * `band` - (optional, default = 0) geoTIFF band to read. * `image` - (optional, default = 0) geoTIFF image to read. * `clip` - (optional, default = undefined) Clipping polygon, provided as an array of [lat,lon] coordinates. Note that this is the Leaflet [lat,lon] convention, not geoJSON [lon,lat]. * `renderer` - Renderer to use (see below). #### Renderer **Raster data rendered using Plotty**: `L.LeafletGeotiff.plotty(options)` Options: - `displayMin` - (optional, default = 0) Minimum values to plot. - `displayMax` - (optional, default = 1) Maximum values to plot. - `clampLow`, `clampHigh` - (optional, default = true) If true values outside `displayMin` to `displayMax` will be rendered as if they were valid values. - `colorScale` - (optional, default = "viridis"). Plotty color scale used to render the image. New color scales can be created using plotty's `addColorScale` method. **Vector data rendered as arrows**: `L.LeafletGeotiff.vectorArrows(options)` Options: - `arrowSize` - (optional, default = 20) Size in pixels of direction arrows for vector data. ### Advanced usage options 1. Data values can be extracted using the `getValueAtLatLng(lat,lng)` method. 2. Custom renderer can be implemented by extending `L.LeafletGeotiffRenderer`. ## Dependencies * [Leaflet >= 0.7.7](http://leafletjs.com) * [geotiff.js](https://github.com/constantinius/geotiff.js) * [plotty](https://github.com/santilland/plotty) (optional)