This package offers very simple types and functions to interact with bioclimatic data and the output of species distribution models.
Curious to know more? Have a look at our paper in Journal of Open Source Software, our JuliaCon poster, our NextJournal demo notebook, and our extended documentation, or keep reading for a quick overview.
The currently released version of the package can be installed with:
] add SimpleSDMLayers
The package is also designed to work with GBIF
, so you may want to use the following line instead:
] add SimpleSDMLayers GBIF
All types belong to the abstract SimpleSDMLayer
, and are organised in the
same way: a grid
field storing a matrix of data (of any type!), and the
left
, right
, bottom
, and top
coordinates (as floating point values).
The two core types of the package are SimpleSDMPredictor
and
SimpleSDMResponse
. The only difference between the two is that predictors
are immutable, but responses are.
Most of the methods are overloads from Base
. In particular, SimpleSDMLayer
objects can be accessed like normal two-dimensional arrays, in which case
they return an object of the same type if called with a range, and the value
if called with a single position.
It is also possible to crop a layer based on a bounding box:
p[left=left, right=right, bottom=bottom, top=top]
If the layer is of the SimpleSDMResponse
type, it is possible to write to it:
p[-74.3, 17.65] = 1.4
This is only defined for SimpleSDMResponse
, and SimpleSDMPredictor
are immutable.
Data provider | Dataset | Layers | Future models | Future scenarios |
---|---|---|---|---|
EarthEnv |
Landcover |
12 | ||
EarthEnv |
HabitatHeterogeneity |
14 | ||
WorldClim |
BioClim |
19 | CMIP6 |
SharedSocioeconomicPathway |
CHELSA |
BioClim |
12 | CMIP5 |
RepresentativeConcentrationPathway |
When downloaded (using SimpleSDMPredictor
), the layers are stored either in an
assets
subfolder of the current project (strongly advised against), or at the
location determined by the SDMLAYERS_PATH
environment variable. The datasets/providers
with future models and scenarios also accept years.
Using the Plots
package, one can call the heatmap
, contour
, density
(requires StatsPlots
), and plot
methods. Note that plot
defaults to a
heatmap
.
temperature = SimpleSDMPredictor(WorldClim, BioClim, 1)
plot(temperature)
One can also use scatter(l1, l2)
where both l1
and l2
are layers with the
same dimensions and bounding box, to get a scatterplot of the values. This will
only show the pixels that have non-nothing
values in both layers. Similarly,
histogram2d
works.
Please read the Code of Conduct and the contributing guidelines.