dggrid-julia
ddgrid-julia provides bindings for the Discrete Global Grid System DGGRID written in C++ for directly accessing the functions and types in the Julia programming language.
Discrete Global Grid Systems (DGGS) tessellate the surface of the earth with hierarchical cells of equal area, minimizing distortion and loading time of large geospatial datasets, which is crucial in spatial statistics and building Machine Learning models.
Get Started
This project is not intended to use directly. Please look at the Julia package DGGS.jl instead. However, this library package can be installed in Julia with the following commands:
using Pkg
Pkg.add("dggrid_jll")
Development
This project is using wrapit, CxxWrap.jl and libcxxwrap-Julia to automatically generate Julia bindings for the C++ code of DGGRID.
It is the basis of the Julia package DGGS.jl.
Bindings generated by wrapit are stored in the files src/DGGRID.jl
, src/jlDGGRID.cxx
, and src/jlDGGRID.h
.
BinaryBuilder is used to deploy the binaries as a Julia package.
File src/build_tarballs.jl
should be used as a starting point for deployment on Yggdrasil
Instead of accessing system shell calls, this wrapper approach allows to access the C++ functions directly within Julia using pointers.
This project is different from DGGRID7_jll which just provides the binaries of DGGRID without the Julia bindings.
Earthly is used for building and testing the software.
Its Earthfile
provides an overview about the architecture of this project.
A copy of the file LICENSE
must be also present in the directory src
to be used by Binary Builder