Communcation is mostly done on the Julia Discourse. More short-lived interaction is found on Julia Slack #geo. Feel free to create issues, PRs on packages.
We’re currently discussing changes to our common GeoInterface.
- FOSS4G 2019 Bucharest by @visr, @evetion. JuliaGeo: A Fresh Approach to Geospatial Computing. Video, Slides.
The JuliaGeo GitHub organization is intended primarily for the collaborative development of packages that are generally applicable across the geospatial and geosciences domains. For dealing with geospatial data, packages from the JuliaGeometry and JuliaImages organizations may also be of interest, and we will aim for good integration with those. Since the JuliaGeo organization aims to provide mostly general tools, more domain specific packages may be better suited for development in domain specific organizations. JuliaClimate is a nice example of such an organization that will be especially interesting to climate, atmosphere and ocean scientists. EcoJulia also provides some tools for generating and downloading spatial data sets, with a focus on ecological applications.
Here’s a partial listing of some of the existing libraries in julia that you can use for working with geospatial data. Not all of them are listed under the JuliaGeo organization, but some of them might get moved over.
Wrappers for external libraries
Using the excellent BinaryBuilder.jl we try to provide prebuilt binaries for most external libraries.
- LibGEOS.jl is a wrapper to GEOS for performing geospatial operations on vector geometries
- Proj4.jl is a wrapper to PROJ.4 for performing cartographic projections
- GDAL.jl is a wrapper to GDAL (Geospatial Data Abstraction Library) for reading and writing raster and vector datasets; ArchGDAL.jl builds on top of GDAL.jl for a more Julian user experience. GeoArrays.jl builds on top of both to provide the easiest, but simplest experience.
- GeoData.jl provides a standardised interface to read, write and manipulate multidimensional raster data, wrapping ArchGDAL.jl and NCDatasets.jl and custom HDF5.jl sources.
- NetCDF.jl and NCDatasets.jl provides a high-level and a medium-level interface for writing and reading netcdf files.
- GeoDataFrames.jl provides simple geographical vector interaction built on top of ArchGDAL with a Tables.jl interface.
- GMT.jl provides a wrapper for working with the [G]eneric [M]apping [T]ools (GMT) library in julia.
- LibSpatialIndex.jl provides functionality for spatially indexing kD bounding box data (based on libspatialindex)
Native Julia libraries
- GeoInterface.jl is a Julia package defining the common interface between packages, currently mostly based on the GeoJSON format
- Geodesy.jl is a Julia package for working with points defined in different coordinate systems, with support for LLA/ENU/ECEF currently.
- CoordinateTransformations.jl is a Julia package to manage simple or complex networks of coordinate system transformations.
- Shapefile.jl is a Julia package that parses in ESRI Shapefiles.
- GeoJSON.jl is a Julia package that provides utilities for encoding and decoding GeoJSON formatted data.
- NearestNeighbors.jl is Julia package to perform high performance nearest neighbor searches in arbitrarily high dimensions. It uses Kd-trees.
- SpatialIndexing.jl provides a native RTree implementation.
- RegionTrees.jl provides Quadtrees, Octrees and their N-Dimensional cousins.
- GeoStats.jl is an extensible Julia framework for high-performance geostatistics
- Turf.jl A spatial analysis library written in Julia, ported from the great Turf.js
- RasterDataSources.jl Simplifies downloads of environmental raster data like WorldClim, EarthEnv and CHELSA.