Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yeesian/ArchGDAL.jl
A high level API for GDAL - Geospatial Data Abstraction Library
https://github.com/yeesian/ArchGDAL.jl
gdal geo geospatial geospatial-data ogr raster vector
Last synced: 12 days ago
JSON representation
A high level API for GDAL - Geospatial Data Abstraction Library
- Host: GitHub
- URL: https://github.com/yeesian/ArchGDAL.jl
- Owner: yeesian
- License: other
- Created: 2016-07-19T01:43:16.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-05-10T03:04:38.000Z (6 months ago)
- Last Synced: 2024-05-17T18:31:27.019Z (6 months ago)
- Topics: gdal, geo, geospatial, geospatial-data, ogr, raster, vector
- Language: Julia
- Homepage: https://yeesian.github.io/ArchGDAL.jl/stable/
- Size: 11.6 MB
- Stars: 137
- Watchers: 12
- Forks: 25
- Open Issues: 75
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-earthobservation-code - ArchGDAL - Julia - `Julia` A high level API for GDAL - Geospatial Data Abstract (Languages other than `Python` and `R` / Testing your code)
README
# ArchGDAL
[![CI](https://github.com/yeesian/ArchGDAL.jl/workflows/CI/badge.svg)](https://github.com/yeesian/ArchGDAL.jl/actions?query=workflow%3ACI)
[![codecov](https://codecov.io/gh/yeesian/ArchGDAL.jl/branch/master/graph/badge.svg?token=n9JufDpWGH)](https://codecov.io/gh/yeesian/ArchGDAL.jl)
[![version](https://juliahub.com/docs/ArchGDAL/version.svg)](https://juliahub.com/ui/Packages/ArchGDAL/MCIiB)
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://yeesian.com/ArchGDAL.jl/stable)
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://yeesian.com/ArchGDAL.jl/dev)
[![deps](https://juliahub.com/docs/ArchGDAL/deps.svg)](https://juliahub.com/ui/Packages/ArchGDAL/MCIiB?t=2)
[![ColPrac: Contributor's Guide](https://img.shields.io/badge/ColPrac-Contributor's%20Guide-blueviolet)](https://github.com/SciML/ColPrac)[GDAL](http://gdal.org/) is a translator library for raster and vector geospatial data formats that is released under an [X/MIT](https://trac.osgeo.org/gdal/wiki/FAQGeneral#WhatlicensedoesGDALOGRuse) license by the [Open Source Geospatial Foundation](http://www.osgeo.org/). As a library, it presents an abstract data model to drivers for various [raster](http://www.gdal.org/formats_list.html) and [vector](http://www.gdal.org/ogr_formats.html) formats.
This package aims to be a complete solution for working with GDAL in Julia, similar in scope to [the SWIG bindings for Python](https://pypi.python.org/pypi/GDAL/) and the user-friendliness of [Fiona](https://github.com/Toblerity/Fiona) and [Rasterio](https://github.com/mapbox/rasterio). It builds on top of [GDAL.jl](https://github.com/JuliaGeo/GDAL.jl), and provides a high level API for GDAL, espousing the following principles.
## Principles (The Arch Way)
(adapted from: https://wiki.archlinux.org/index.php/Arch_Linux#Principles)- **simplicity**: ArchGDAL tries to avoid unnecessary additions or modifications. It preserves the GDAL Data Model and requires minimal dependencies.
- **modernity**: ArchGDAL strives to maintain the latest stable release versions of GDAL as long as systemic package breakage can be reasonably avoided.
- **pragmatism**: The principles here are only useful guidelines. Ultimately, design decisions are made on a case-by-case basis through developer consensus. Evidence-based technical analysis and debate are what matter, not politics or popular opinion.
- **user-centrality**: Whereas other libraries attempt to be more user-friendly, ArchGDAL shall be user-centric. It is intended to fill the needs of those contributing to it, rather than trying to appeal to as many users as possible.
- **versatility**: ArchGDAL will strive to remain small in its assumptions about the range of user-needs, and to make it easy for users to build their own extensions/conveniences.## Installation
To install this package, run the following command in the Pkg REPL-mode,```julia
pkg> add ArchGDAL
```To test if it is installed correctly,
```julia
pkg> test ArchGDAL
```Please see the [changelog](CHANGELOG.md) for any changes in the installed version.
## Getting Involved
### Community
This package will not be possible without [JuliaLang](https://julialang.org/), [GDAL](https://github.com/OSGeo/gdal) and [GDAL.jl](https://github.com/JuliaGeo/GDAL.jl). They are maintained by https://julialang.org/community/, https://www.osgeo.org/ and https://juliageo.org/ respectively. In case of any contention for support and involvement, we encourage participation and contributions to those projects and communities over this package.
### Style Guide
ArchGDAL.jl uses [JuliaFormatter.jl](https://github.com/domluna/JuliaFormatter.jl) as
an autoformatting tool, and uses the options in [`.JuliaFormatter.toml`](https://github.com/yeesian/ArchGDAL.jl/blob/master/.JuliaFormatter.toml).If you wish to format code, `cd` to the ArchGDAL.jl directory, then run:
```julia
] add JuliaFormatter
using JuliaFormatter
format(".")
```### Dependencies
To manage the dependencies of this package, we work with [environments](https://pkgdocs.julialang.org/v1/environments/):1. Navigate to the directory corresponding to the package:
```julia
$ cd /Users/yeesian/.julia/dev/ArchGDAL
/Users/yeesian/.julia/dev/ArchGDAL
```2. Start a session:
```shell
$ julia --project
```3. Activate the environment corresponding to `Project.toml`):
```julia
(@v1.6) pkg> activate .
Activating environment at `~/.julia/environments/v1.6/Project.toml`
```4. Manage the dependencies using Pkg in https://pkgdocs.julialang.org/v1.6/managing-packages/, e.g.
```julia
(ArchGDAL) pkg> st
Project ArchGDAL v0.6.0
Status `~/.julia/dev/ArchGDAL/Project.toml`
[3c3547ce] DiskArrays
[add2ef01] GDAL
[68eda718] GeoFormatTypes
[cf35fbd7] GeoInterface
[bd369af6] Tables
[ade2ca70] Dates(ArchGDAL) pkg> add CEnum
Resolving package versions...
Updating `~/.julia/dev/ArchGDAL/Project.toml`
[fa961155] + CEnum v0.4.1
[3c3547ce] + DiskArrays v0.2.7
[add2ef01] + GDAL v1.2.1
[68eda718] + GeoFormatTypes v0.3.0
[cf35fbd7] + GeoInterface v0.5.5
[bd369af6] + Tables v1.4.2
```5. Update the `[compat]` section of `Project.toml` so that julia can resolve the versions, e.g.
```
[compat]
...
CEnum = "0.4"
```