SimpleSDMLayers
SimpleSDMLayers._read_geotiff — Methodgeotiff(file; bandnumber::Integer=1, left=nothing, right=nothing, bottom=nothing, top=nothing, driver)The geotiff function reads a geotiff file, and returns it as a matrix of the correct type. The optional arguments left, right, bottom, and left are defining the bounding box to read from the file. This is particularly useful if you want to get a small subset from large files.
SimpleSDMLayers._write_geotiff — Methodgeotiff(file::AbstractString, layers::Vector{SDMLayer{T}}; nodata::T=convert(T, -9999)) where {T <: Number}Stores a series of layers in a file, where every layer in a band. See geotiff for other options.
SimpleSDMLayers.burnin! — Methodburnin!(L::SDMLayer{T}, v::Vector{T})Replaces the values of L by the values in the vector v.
SimpleSDMLayers.burnin — Methodburnin(L::SDMLayer, v::Vector{T}) where {T}Writes the value of v in a layer similar to L, and returns it. It is ASSUMED (but essentially impossible to check) that the values of v are presented in the correct order. This uses burnin! internally.
SimpleSDMLayers.cellarea — Methodcellarea(layer::T; R = 6371.0)Returns the area of each cell in km², assuming a radius of the Earth or R (in km). This is only returned for layers in WGS84, which can be forced with interpolate.
SimpleSDMLayers.coarsen — Functioncoarsen(f, L::SDMLayer, mask=(2, 2))Coarsens a layer by collecting a sub-grid of size mask, and applying the function f to all non-empty cells within this mask. The core constraint is that f must take a vector and return a single element (and the size of the mask must be compatible with the size of the layer).
SimpleSDMLayers.interpolate — Methodinterpolate(layer::SDMLayer, destination::SDMLayer)Interpolates a layer target so that it uses the same grid, crs, etc as destination.
SimpleSDMLayers.interpolate — Methodinterpolate(layer::SDMLayer; dest="+proj=natearth2", newsize=nothing)Returns an interpolated version of the later under the new destination CRS (natearth2 by default), and with optionally a new size of newsize.
SimpleSDMLayers.mask! — Methodmask!(layer::SDMLayer, template::SDMLayer)Updates the positions in the first layer to be those that have a value in the second layer.
SimpleSDMLayers.mask — Methodmask(layer::SDMLayer, template::SDMLayer)Returns a copy of the first layer masked according to the second layer. See also mask!.
SimpleSDMLayers.mosaic — Methodmosaic(f, stack::Vector{<:SDMLayer})Returns a layer that is the application of f to the values at each cell in the array of layers given as the second argument.
SimpleSDMLayers.nodata! — Methodnodata!(layer::SDMLayer{T}, f)Removes the data matching a function
SimpleSDMLayers.nodata! — Methodnodata!(layer::SDMLayer{T}, nodata::T) where {T}Changes the value of the layer representing no data. This modifies the layer passed as its first argument.
SimpleSDMLayers.nodata — Methodnodata(layer::SDMLayer, args...)Makes a copy and calls nodata! on it
SimpleSDMLayers.reclassify — Methodreclassify(L::SDMLayer, rules::Pair...)Returns a layer where the cells are updated as a function of rules, given as (function) => value, where the function must return a Bool value. For example, reclassify(layer, (x -> abs(x)<=1)=>true) will set a value of true to all cells with values in -1;1, and maks all other cells. You can use multiple rules, in which case they are applied sequentially (a later rule can overwrite an earlier one).
SimpleSDMLayers.tiles — Functiontiles(layer::SDMLayer, size::Tuple{Int64,Int64})SimpleSDMLayers.SDMLayer — TypeSDMLayer{T}Defines a layer of geospatial information.
The type has two data fields:
- grid: a
Matrixof typeT - indices: a
BitMatrixto see which positions are valued
Each row in the grid field represents a slice of the raster of equal northing, i.e. the information is laid out in the matrix as it would be represented on a map once displayed. Similarly, columns have the same easting.
The geospatial information is represented by three positional fields:
- x and y: two tuples, indicating the coordinates of the corners alongside the x and y dimensions (e.g. easting/northing) - the default values are
(-180., 180.)and(-90., 90.), which represents the entire surface of the globe in WGS84 - crs: any
Stringrepresentation of the CRS which can be handled byProj.jl- the default is"+proj=longlat +datum=WGS84 +no_defs", which represents a latitude/longitude coordinate system