geospade


Namegeospade JSON
Version 0.2.3 PyPI version JSON
download
home_pagehttps://github.com/TUW-GEO/geospade
SummaryA place for classes and properties of raster and vector geometries and their geospatial operations alike.
upload_time2023-02-02 00:43:00
maintainer
docs_urlNone
authorTU Wien MRS group
requires_python
licensemit
keywords geospatial raster vector mosaics grids
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            <img align="right" src="https://github.com/TUW-GEO/geospade/raw/master/docs/imgs/geospade_logo.png" height="400" width="400">

# geospade
[![Build Status](https://travis-ci.com/TUW-GEO/geospade.svg?branch=master)](https://travis-ci.org/TUW-GEO/geospade)
[![Coverage Status](https://coveralls.io/repos/github/TUW-GEO/geospade/badge.svg?branch=master)](https://coveralls.io/github/TUW-GEO/geospade?branch=master)
[![PyPi Package](https://badge.fury.io/py/geospade.svg)](https://badge.fury.io/py/geospade)
[![RTD](https://readthedocs.org/projects/geospade/badge/?version=latest)](https://geospade.readthedocs.io/en/latest/?badge=latest)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Description
*geospade* stands for **geosp**atial **a**bstract **d**efinition **e**nvironment. 
It serves as place to define classes and properties of raster and vector geometries and their operations alike.
On a higher level, abstract definitions should be embedded in a geospatial context to support interaction with other Python packages, e.g. *gdal*, *geopandas* or *xarray*.
In comparison to these Python packages, *geospade* never touches or writes any geospatial data on disk. 
It is a toolkit for geospatial entities (e.g., points, polygons, ...) and their relations (e.g., intersection, within, ...) in a spatial reference system (e.g., reprojection, mosaics, ...). 

In *geospade* a geospatial context is given by the spatial reference system class `crs.SpatialRef`, which allows to convert between different spatial reference definitions in Python (e.g., *osr*, *cartopy.crs*, ...) and offers well-known spatial reference system representations, i.e. WKT, PROJ4, and EPSG.
It aims to solve discrepancies between these representations and lower-level package versions, e.g. *gdal*.

An abstract, geospatial definition of a raster is implemented in `RasterGeometry`. 
It is constructed by providing a pixel extent, i.e. the number of rows and columns, the 6 affine geotransformation parameters and a spatial reference system.
With this knowledge, one can use a `RasterGeometry` instance to do many operations, e.g. intersect it with geometries, transform between pixel and spatial reference system coordinates, resize it, or interact with other raster geometries.

Often, geospatial image data is available in tiled or gridded format due to storage/memory limits. 
To preserve the spatial relationship for each image, `MosaicGeometry` can help to apply geospatial operations across image/tile boundaries.
It represents a simple collection of `Tile`/`RasterGeometry` instances, where each `Tile` describes the spatial properties of an image.
With this setup, tile relations and neighbourhoods can be derived.

## Installation
The package can be either installed via pip or if you solely want to work with *geospade* or contribute, we recommend to 
install it as a conda environment. If you work already with your own environment, please have look at ``conda_environment.yml`` and install/adapt missing packages.

### pip
To install *geospade* via pip in your own environment, use:
```
pip install geospade
```

### conda
The packages also comes along with a conda environment ``conda_environment.yml``. 
This is especially recommended if you want to contribute to the project.
The following script will install miniconda and setup the environment on a UNIX
like system. Miniconda will be installed into ``$HOME/miniconda``.
```
wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
conda env create -f conda_env.yml
source activate geospade
```
This script adds ``$HOME/miniconda/bin`` temporarily to the ``PATH`` to do this
permanently add ``export PATH="$HOME/miniconda/bin:$PATH"`` to your ``.bashrc``
or ``.zshrc``.

For Windows, use the following setup:
  * Download the latest [miniconda 3 installer](https://docs.conda.io/en/latest/miniconda.html) for Windows
  * Click on ``.exe`` file and complete the installation.
  * Add the folder ``condabin`` folder to your environment variable ``PATH``. 
    You can find the ``condabin`` folder usually under: ``C:\Users\username\AppData\Local\Continuum\miniconda3\condabin``
  * Finally, you can set up the conda environment via:
    ```
    conda env create -f conda_environment.yml
    source activate geospade
    ```

After that you should be able to run 
```
python setup.py test
```
to run the test suite or 
```
python setup.py install
```
to install *geospade*.

## Contribution
We are happy if you want to contribute. Please raise an issue explaining what
is missing or if you find a bug. We will also gladly accept pull requests
against our master branch for new features or bug fixes.
If you want to contribute please follow these steps:

  * Fork the *geospade* repository to your account
  * Clone the *geospade* repository
  * Make a new feature branch from the *geospade* master branch
  * Add your feature
  * Please include tests for your contributions in one of the test directories.
    We use *py.test* so a simple function called ``test_my_feature`` is enough
  * Submit a pull request to our master branch


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/TUW-GEO/geospade",
    "name": "geospade",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "geospatial,raster,vector,mosaics,grids",
    "author": "TU Wien MRS group",
    "author_email": "remote.sensing@geo.tuwien.ac.at",
    "download_url": "https://files.pythonhosted.org/packages/09/0c/5e0fcdea04cdbe5e1740431d871db2a7046a7629b6171060717b56fb24e5/geospade-0.2.3.tar.gz",
    "platform": "any",
    "description": "<img align=\"right\" src=\"https://github.com/TUW-GEO/geospade/raw/master/docs/imgs/geospade_logo.png\" height=\"400\" width=\"400\">\n\n# geospade\n[![Build Status](https://travis-ci.com/TUW-GEO/geospade.svg?branch=master)](https://travis-ci.org/TUW-GEO/geospade)\n[![Coverage Status](https://coveralls.io/repos/github/TUW-GEO/geospade/badge.svg?branch=master)](https://coveralls.io/github/TUW-GEO/geospade?branch=master)\n[![PyPi Package](https://badge.fury.io/py/geospade.svg)](https://badge.fury.io/py/geospade)\n[![RTD](https://readthedocs.org/projects/geospade/badge/?version=latest)](https://geospade.readthedocs.io/en/latest/?badge=latest)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Description\n*geospade* stands for **geosp**atial **a**bstract **d**efinition **e**nvironment. \nIt serves as place to define classes and properties of raster and vector geometries and their operations alike.\nOn a higher level, abstract definitions should be embedded in a geospatial context to support interaction with other Python packages, e.g. *gdal*, *geopandas* or *xarray*.\nIn comparison to these Python packages, *geospade* never touches or writes any geospatial data on disk. \nIt is a toolkit for geospatial entities (e.g., points, polygons, ...) and their relations (e.g., intersection, within, ...) in a spatial reference system (e.g., reprojection, mosaics, ...). \n\nIn *geospade* a geospatial context is given by the spatial reference system class `crs.SpatialRef`, which allows to convert between different spatial reference definitions in Python (e.g., *osr*, *cartopy.crs*, ...) and offers well-known spatial reference system representations, i.e. WKT, PROJ4, and EPSG.\nIt aims to solve discrepancies between these representations and lower-level package versions, e.g. *gdal*.\n\nAn abstract, geospatial definition of a raster is implemented in `RasterGeometry`. \nIt is constructed by providing a pixel extent, i.e. the number of rows and columns, the 6 affine geotransformation parameters and a spatial reference system.\nWith this knowledge, one can use a `RasterGeometry` instance to do many operations, e.g. intersect it with geometries, transform between pixel and spatial reference system coordinates, resize it, or interact with other raster geometries.\n\nOften, geospatial image data is available in tiled or gridded format due to storage/memory limits. \nTo preserve the spatial relationship for each image, `MosaicGeometry` can help to apply geospatial operations across image/tile boundaries.\nIt represents a simple collection of `Tile`/`RasterGeometry` instances, where each `Tile` describes the spatial properties of an image.\nWith this setup, tile relations and neighbourhoods can be derived.\n\n## Installation\nThe package can be either installed via pip or if you solely want to work with *geospade* or contribute, we recommend to \ninstall it as a conda environment. If you work already with your own environment, please have look at ``conda_environment.yml`` and install/adapt missing packages.\n\n### pip\nTo install *geospade* via pip in your own environment, use:\n```\npip install geospade\n```\n\n### conda\nThe packages also comes along with a conda environment ``conda_environment.yml``. \nThis is especially recommended if you want to contribute to the project.\nThe following script will install miniconda and setup the environment on a UNIX\nlike system. Miniconda will be installed into ``$HOME/miniconda``.\n```\nwget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh\nbash miniconda.sh -b -p $HOME/miniconda\nexport PATH=\"$HOME/miniconda/bin:$PATH\"\nconda env create -f conda_env.yml\nsource activate geospade\n```\nThis script adds ``$HOME/miniconda/bin`` temporarily to the ``PATH`` to do this\npermanently add ``export PATH=\"$HOME/miniconda/bin:$PATH\"`` to your ``.bashrc``\nor ``.zshrc``.\n\nFor Windows, use the following setup:\n  * Download the latest [miniconda 3 installer](https://docs.conda.io/en/latest/miniconda.html) for Windows\n  * Click on ``.exe`` file and complete the installation.\n  * Add the folder ``condabin`` folder to your environment variable ``PATH``. \n    You can find the ``condabin`` folder usually under: ``C:\\Users\\username\\AppData\\Local\\Continuum\\miniconda3\\condabin``\n  * Finally, you can set up the conda environment via:\n    ```\n    conda env create -f conda_environment.yml\n    source activate geospade\n    ```\n\nAfter that you should be able to run \n```\npython setup.py test\n```\nto run the test suite or \n```\npython setup.py install\n```\nto install *geospade*.\n\n## Contribution\nWe are happy if you want to contribute. Please raise an issue explaining what\nis missing or if you find a bug. We will also gladly accept pull requests\nagainst our master branch for new features or bug fixes.\nIf you want to contribute please follow these steps:\n\n  * Fork the *geospade* repository to your account\n  * Clone the *geospade* repository\n  * Make a new feature branch from the *geospade* master branch\n  * Add your feature\n  * Please include tests for your contributions in one of the test directories.\n    We use *py.test* so a simple function called ``test_my_feature`` is enough\n  * Submit a pull request to our master branch\n\n",
    "bugtrack_url": null,
    "license": "mit",
    "summary": "A place for classes and properties of raster and vector geometries and their geospatial operations alike.",
    "version": "0.2.3",
    "split_keywords": [
        "geospatial",
        "raster",
        "vector",
        "mosaics",
        "grids"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "38b0026823cef330c1575c7336b7ccf2df73da56674602414ee4037e6601b3cc",
                "md5": "30fcf092ce2228da086b6fe2756f5462",
                "sha256": "bd993c59b4a1d07934ba2b9cc92c8765cd135c4aa18f35162ea304cdb31e95a1"
            },
            "downloads": -1,
            "filename": "geospade-0.2.3-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "30fcf092ce2228da086b6fe2756f5462",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 37563,
            "upload_time": "2023-02-02T00:42:58",
            "upload_time_iso_8601": "2023-02-02T00:42:58.725023Z",
            "url": "https://files.pythonhosted.org/packages/38/b0/026823cef330c1575c7336b7ccf2df73da56674602414ee4037e6601b3cc/geospade-0.2.3-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "090c5e0fcdea04cdbe5e1740431d871db2a7046a7629b6171060717b56fb24e5",
                "md5": "33c28773c3ea890d92e9579251eda0da",
                "sha256": "dd48bacf9da45fa4270a5d574963177134a16f168e93249472af063f80bc9578"
            },
            "downloads": -1,
            "filename": "geospade-0.2.3.tar.gz",
            "has_sig": false,
            "md5_digest": "33c28773c3ea890d92e9579251eda0da",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 2396269,
            "upload_time": "2023-02-02T00:43:00",
            "upload_time_iso_8601": "2023-02-02T00:43:00.587203Z",
            "url": "https://files.pythonhosted.org/packages/09/0c/5e0fcdea04cdbe5e1740431d871db2a7046a7629b6171060717b56fb24e5/geospade-0.2.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-02 00:43:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "TUW-GEO",
    "github_project": "geospade",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "geospade"
}
        
Elapsed time: 0.03522s