GithubHelp home page GithubHelp logo

tobbetripitaka / agrid Goto Github PK

View Code? Open in Web Editor NEW
19.0 5.0 3.0 126.67 MB

A grid for modelling, analyse, map and visualise multidimensional and multivariate data

License: MIT License

Python 100.00%
python python3 spatial visualisation resolution grid multivariate-data agrid

agrid's Introduction

DOI Python 3.6 Python 3.7

agrid

A grid for modelling, analyse, map and visualise multidimensional and multivariate data. The module contains a class for generating grid objects with variables and functions that defines a multidimensional space with defined extent.

Main features:

  • Labelled dimensions coordinates using xarray
  • Fast processing of high resolution and low resolution data
  • Using dask arrays
  • 2D map plots and cross-sections
  • 3D visualisation
  • Features for modelling, analysis and visualisation

The repository contains:

  • Module with class for functions and variables.
  • Jupyter notebook tutorials:
    1. The grid object
    1. Import data
    1. Visualize data
    1. Introduction to processing and modelling using grid.

Software paper availible here: JORS


Instructions:

The package can be installed by adding it to your Python path, but can also be an incorporated part of you project.

Alternative 1 Using pip: pip install agrid or pip3 install agrid

Set up an environment for the installation. Use e.g. virtualenv or venv to set up your environment. For more complex isnallations, have a look at pipenv or poetry.

OSX users can set up an environment directely in conda.

conda install -c tobbetripitaka agrid

Alternative 2 Download module and import agrid from local path

See example in the Jupyter Notebook agrid.


To get started:

from agrid.grid import Grid
world = Grid()
# The grid is already populated with default coordinates
print(world.ds) 

Further tutorials are available at GitHub tutorials

Methods to import data

Data can be imported from grids, vector data files, rasters or numerically.

Methods to export data

Data can be exported and saved as netCDF, raster files, text files.

Methods to visualise data

Visualisation is not the core use of agrid, but it contains basic functions to plot maps and 3D renderings.

Additional functions

Additional functions are included to download data and structure the content.

---

If used in publication, please consider to cite:

@article{Staal2020a,
abstract = {Researchers use 2D and 3D spatial models of multivariate data of differing resolutions and formats. It can be challenging to work with multiple datasets, and it is time consuming to set up a robust, performant grid to handle such spatial models. We share 'agrid', a Python module which provides a framework for containing multidimensional data and functionality to work with those data. The module provides methods for defining the grid, data import, visualisation, processing capability and export. To facilitate reproducibility, the grid can point to original data sources and provides support for structured metadata. The module is written in an intelligible high level programming language, and uses well documented libraries as numpy, xarray, dask and rasterio.},
author = {St{\aa}l, Tobias and Reading, Anya M.},
doi = {10.5334/JORS.287},
issn = {20499647},
journal = {Journal of Open Research Software},
keywords = {Multivariate processing, Python, Regular grid, Spatial model},
month = {jan},
number = {1},
pages = {1--10},
publisher = {Ubiquity Press, Ltd.},
title = {{A grid for multidimensional and multivariate spatial representation and data processing}},
volume = {8},
year = {2020}
}

agrid's People

Contributors

richardscottoz avatar tobbetripitaka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

agrid's Issues

New method

New method for binning of data needed.

Missing dependencies?

Hello Toby, thanks for contributing this package!

I just installed into a new environment using the following:
conda create -n envname python=3.7
conda activate envname
conda install rasterio geopandas

pip install agrid

However when I try

from agrid.acc import download

Two modules fail:
Requests
tqdm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.