Giter Site home page Giter Site logo

am2222 / pydggrid Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 2.0 43.73 MB

Python wrapper for Discrete Global Grid (DGG) based on DGGRID

Home Page: https://am2222.github.io/pydggrid/

License: Other

Batchfile 0.02% Shell 0.01% Python 0.41% C++ 99.28% C 0.29% Objective-C 0.01%
dggs gis dggrid global-grid-system dgg

pydggrid's Introduction

Build Status Documentation Status Build status PyPI version

DOI

PyDGGRID

A wrapper for DGGRID in python. Currently based on last DGGRID from Kevin Sahr.

SPyDGGRID

Documentations

[Documentation Status]

Changes

  • 0.0.16

  • DGGRID is updated to version 7.3

  • Some bugs fixed

  • Richard Barnes's dglib class is decomposed in order to upgrade DGGRID

  • 0.0.15

  • Not released

  • DGGRID is updated to version 7.1 (https://github.com/sahrk/DGGRID)

  • Removed Boost Geometry suppert to use GDAL support since main DGGRID library started to use GDAL library

  • Added VCPKG support for windows version

  • Cleaned up setup process

  • 0.0.14

  • Added different system build environments

Installation

Note: The main DGGRID library needs 'GDAL' library to compile. so make sure you have installed GDAL C++ library before installing. To installing GDAL on linux is pretty straightforward. For windows you can use vcpkg to compile and install it. The process of installing and using vcpkg on windows can be found on its github (https://github.com/microsoft/vcpkg/)

  • Install GDAL on linux
sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get update
sudo apt-get install gdal-bin
sudo apt-get install libgdal-dev
  • Install GDAL on windows

Prerequisites:

Windows 10, 8.1, 7, Linux, or MacOS
Visual Studio 2015 Update 3 or newer (on Windows)
Git

To get started:

> git clone https://github.com/Microsoft/vcpkg.git
> cd vcpkg

PS> .\bootstrap-vcpkg.bat

then

PS> .\vcpkg integrate install

Install GDAL packages with

PS> .\vcpkg install gdal:x64-windows shapelib::x64-windows

NOTE: The GDAL version must match with your python compiled version. So if you have a x86 python use vcpkg install gdal:x86-windows, othewise use vcpkg install gdal:x64-windows

Then simply use pip to install this library

pip install pydggrid

Build From source

On Unix (Linux, OS X)

  • install GDAL, shapelib
  • clone this repository
  • pip install ./pydggrid

or you can easily call

  • python setup.py install

On Windows

  • You need Build Tools for Visual Studio to be able to compile it from source. so Install it from this link https://visualstudio.microsoft.com/downloads/
  • install GDAL, shapelib
  • clone this repository
  • pip install ./pydggrid

or you can easily call

  • python setup.py install

How To Use In order to use this library use following example. (more updates are comming on documentations section)

#import librarry
import pydggrid as m
#Construct a dggs object
m.dgconstruct()
#getting Q2di index for a (lat,long) point
m.geo_to_q2di(50,50)
#[4, 71, 211]
#getting Q2dd index for a (lat,long) point
m.geo_to_q2dd(50,50)
#[4.0, -0.1427860170187444, 0.7514696738643607]
#getting ProjTri index for a (lat,long) point
m.geo_to_projtri(50,50)
#[3.0, 0.5793988192307712, 0.4993911549756102]`

TODO

  • [ ]Supporting All DGGRID functions
  • [ ]Adding GDAL export Geometry Support
  • [ ]Support GridGeneration using DGGRID

Building the documentation

Documentation for the project is generated using Sphinx. Sphinx has the ability to automatically inspect the signatures and documentation strings in the extension module to generate beautiful documentation in a variety formats. The following command generates HTML-based reference documentation; for other formats please refer to the Sphinx manual:

  • cd pydggrid/docs
  • make html

Run tests

To run all tests for the package call folowing command in package directory

python3 -m unittest discover

License

By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.

Based on Kevin Sahr's DGGRID library (https://discreteglobalgrids.org).

Developed on top of the R package which was developed by Richard Barnes (https://github.com/r-barnes/dggridR/).

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.