2024-07-10 –, Function (4.1)
Often our datasets represent physical space, time or named categories organized along some dimensions. Accessing data by these dimensions and values keeps us focused on the content, rather than how it is stored.
DimensionalData.jl facilitates these workflows, with a focus on spatial data, abstractions for other packages to extend, and automated plotting.
DimensionalData.jl is not the first or only package to define arrays and datasets with named dimensions and lookups in julia - AxisArrays.jl, AxisKeys.jl, NamedDims.jl all succeed in this space.
But DD is unique in its focus on extensibility, and has spawned many objects inheriting its behaviors, largely across spatial sciences, such as in Rasters.jl, YAXArrays.jl and ClimateBase.jl. It's also generic enough to find uses in statistics, machine learning and image processing.
Another focus driven by its spatial use-cases is on being able to accurately represent a wide rang of lookup values and behaviors:
- Points or Intervals
- Regular or Irregular
- Ordered or Unordered
- Sampled or Categorical
- Linear or Cyclic
- grid-aligned or with transformed coordinates
This means it can represent the wide variety of CF compliant netcdf files, as well as affine transformed coordinates and projections of GDAL.
DD also shines in ease of plotting, with extensive Plots.jl and Makie.jl recipes that automatically put the right values and labels in the right places.
This talk will demonstrate the basics of both how to use DimensionalData.jl, and for package developers - how to extend it.
Rafael is an Ecologist at the Center for Macroecology, Climate and Evolution in Copenhagen. He works on process-based ecological models of species distributions, dispersal, threats and extinction, and contributes to a variety of geospatial, modelling and visualization packages.
- JuliaGeo BoF: shared interfaces and plans for geospatial julia
- Interfaces.jl: base and package interface tests for your objects
- Rasters.jl: raster data and GIS tools for julia
- What’s new with GeoInterface.jl: traits for interoperability
- GeometryOps.jl: Building a Comprehensive Native Geometry Package
- SpeciesDistributionModels.jl: an SDM workflow