Skip to main content

Python wrapper for DGGRID

Project description

Build Status Documentation Status Build status PyPI version

PyDGGRID

A wrapper for DGGRID in python. Currently based on last DGGRID version (6.4) from Kevin Sahr.

SPyDGGRID

Installation

Note: this library needs 'Boost' library for compile. so make sure you have installed boost C++ library before installing. The first thing many people want to know is, “how do I build Boost?” The good news is that often, there's nothing to build. To install boost follow folowing steps

  • Install boost on linux
$ sudo apt install libboost-dev
$ sudo apt install libboost-all-dev
  • Install boost on windows

Download latest version of boost from folowing link https://www.boost.org/users/download/ then extract it in a folder. and it is done. After installing boost; set boost_dir variable in terminal/command prompt windows.

Linux expot boost_dir=/home/usr/include/boost/

Windows set "boost_dir=C:/Boost/include/"

Then simply use pip to install this library

pip install pydggrid

Build From source

On Unix (Linux, OS X)

  • install boost
  • set boost_dir environment variable
  • 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 boost
  • set boost_dir environment variable
  • 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 Boost Geometry Support

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/).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydggrid-0.0.13.tar.gz (291.7 kB view hashes)

Uploaded Source

Built Distributions

pydggrid-0.0.13-cp37-cp37m-win_amd64.whl (364.0 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

pydggrid-0.0.13-cp37-cp37m-win32.whl (296.6 kB view hashes)

Uploaded CPython 3.7m Windows x86

pydggrid-0.0.13-cp36-cp36m-win_amd64.whl (364.1 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

pydggrid-0.0.13-cp36-cp36m-win32.whl (296.5 kB view hashes)

Uploaded CPython 3.6m Windows x86

pydggrid-0.0.13-cp35-cp35m-win_amd64.whl (362.5 kB view hashes)

Uploaded CPython 3.5m Windows x86-64

pydggrid-0.0.13-cp35-cp35m-win32.whl (294.8 kB view hashes)

Uploaded CPython 3.5m Windows x86

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page