Skip to content

danlooo/dggrid-julia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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