Juliacon 2024

What’s new with GeoInterface.jl: traits for interoperability
07-11, 11:00–11:10 (Europe/Amsterdam), Method (1.5)

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.


The GeoInterface.jl package defines a set of traits for geospatial vector data, based on the Simple Features standard. This includes standards objects. Points, LineStrings, Polygons, MultiPolygons, Features, etc. and support for operations, such as buffer and intersects.

Packages across the ecosystem implement these traits to ensure inter-compatibility of their objects:
Shapefile.jl
GeoJSON.jl
ArchGDAL.jl
GeometryBasics.jl
WellKnownGeometry.jl
LibGEOS.jl
KML.jl
LazIO.jl

Other packages like AlgebraOfGraphics.jl, Rasters.jl, GeoDataframes.jl, Leaflet.jl and Tyler.jl, can consume these objects without having to know from which package the object comes from. This increases the user-friendliness of the geospatial ecosystem by allowing geometries from different sources in packages that implement analyses without having to explicitly convert the data.

In the last year we have made improvements to the (automatic) conversion of geometries, the plotting (using Makie) of geometries, and we improved the performance of some implementations. We also improved GeoFormatTypes and Extents, packages used in tandem with GeoInterface.

Inspired by the mature R spatial ecosystem, we plan on implementing support for automatically distinguishing geographic and projected geometries. We also consider implementing some form of raster support, to enable more geospatial operations.

See also:

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

This speaker also appears in:

I'm a researcher at Deltares and an external PhD candidate in the 3dgeoinfo research group at the Delft University of Technology. I have earned a Master of Science degree in Geomatics with honors.

My research concerns elevation modelling, especially in lowlands prone to coastal flooding. I aim to combine my interests in remote sensing and software engineering for societal impact. Currently, I'm working on applying data from ICESat-2—a lidar satellite—on global elevation models.

This speaker also appears in: