Juliacon 2024

Rafael Schouten

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.

https://github.com/rafaqz


Sessions

07-10
11:30
60min
JuliaGeo BoF: shared interfaces and plans for geospatial julia
Rafael Schouten, Maarten Pronk, Felix Cremer

The Julia ecosystem for handling geospatial data and analysis is growing and improving. This is a session for anyone interested in geo in Julia to meet package contributors and users to discuss future direction and collaboration efforts.

In this community building session we aim to:

  • Hear what people are doing in Julia and Geo
  • Develop group goals and common understanding for ecosystem coherence
  • Uncover gaps and rough edges in the ecosystem
  • Lower the barrier to getting involved
General
Struct (1.4)
07-10
15:15
10min
DimensionalData.jl: named dimensions for julia data
Rafael Schouten

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.

Scientific Data Minisymposium
Function (4.1)
07-10
15:40
10min
Rasters.jl: raster data and GIS tools for julia
Rafael Schouten

Rasters.jl extends DimensionalData.jl for working with geospatial rasters. It abstracts over many kinds of multi-dimensional arrays stored in memory, on disk or in the cloud - from sources like GDAL and netcdf, to present spatial raster data as regular julia AbstractArrays, but facilitate easy spatially aware indexing, manipulation, plotting and writing.

This talk will cover basic workflows and features for raster data manipulation with Rasters.jl.

Scientific Data Minisymposium
Function (4.1)
07-11
11:00
10min
What’s new with GeoInterface.jl: traits for interoperability
Rafael Schouten, Maarten Pronk

GeoInterface.jl aims to streamline working with geospatial vector data for users and developers of Julia packages. The package describes a set of traits based on the Simple Features standard. Using these traits it is easy to parse, serialize and use different geometries in the Julia ecosystem, without knowing the specifics of each package. GeoInterface is like Tables.jl, but for geometries. Lately, we have made improvements to conversion, plotting, and plan support for projections, among others.

General
Method (1.5)
07-11
15:50
10min
Interfaces.jl: base and package interface tests for your objects
Rafael Schouten, Guillaume Dalle

Interfaces.jl is an attempt to solve Julias lack of explicit interface declarations. It provides macros to define and implement interfaces concisely, and functions to test and check that they are implemented correctly.

Its subpackage BaseInterface.jl defines some common Base Julia interfaces using Interfaces.jl.

This talk will cover things learned writing and using the package, and hopefully inspire some discussion on the future of interfaces in Julia more broadly.

Julia Internals and Tooling
REPL (2, main stage)
07-12
10:10
10min
GeometryOps.jl: Building a Comprehensive Native Geometry Package
Rafael Schouten, Skylar Gering, Anshul Singhvi

There is no native Julia geometry package equivalent to Python’s Shapely or R’s sf. The driving idea behind GeometryOps.jl is to unify existing native geometry packages, develop functionalities that only exist in non-native wrapper packages, and make algorithms usable with various geometric representations through GeoInterface.jl. Initial benchmarks show speedups over widely used wrapper library LibGEOS.jl: 2x for polygon area, 7x for polygon intersection, and 10x for point-to-polygon distance.

General
While Loop (4.2)
07-12
15:50
10min
SpeciesDistributionModels.jl: an SDM workflow
Rafael Schouten, Tiem van der Deure

Species distribution modelling is the ecological discipline of predicting species occurrence in time and space. SDMs are used for biodiversity conservation, predicting invasions, and anticipating the effects of climate change.

This talk will present a species distribution modelling workflow in Julia, using SpeciesDistributionModels.jl and packages from the EcoJulia and JuliaGeo ecosystems to extract data, fit a model ensemble, and predict distributions in just a few lines of code.

Earth and climate science in Julia: Power to the user
While Loop (4.2)