Metadata-Version: 2.1
Name: pygeoutils
Version: 0.1.2
Summary: A set of utilities for manipulating (Geo)JSON and GeoTIFF data.
Home-page: https://github.com/cheginit/pygeoutils
Author: Taher Chegini
Author-email: cheginit@gmail.com
License: MIT license
Description: .. image:: https://raw.githubusercontent.com/cheginit/hydrodata/develop/docs/_static/pygeoutils_logo.png
            :target: https://github.com/cheginit/pygeoutils
            :align: center
        
        |
        
        .. image:: https://img.shields.io/pypi/v/pygeoutils.svg
            :target: https://pypi.python.org/pypi/pygeoutils
            :alt: PyPi
        
        .. image:: https://img.shields.io/conda/vn/conda-forge/pygeoutils.svg
            :target: https://anaconda.org/conda-forge/pygeoutils
            :alt: Conda Version
        
        .. image:: https://codecov.io/gh/cheginit/pygeoutils/branch/master/graph/badge.svg
            :target: https://codecov.io/gh/cheginit/pygeoutils
            :alt: CodeCov
        
        .. image:: https://github.com/cheginit/pygeoutils/workflows/build/badge.svg
            :target: https://github.com/cheginit/pygeoutils/workflows/build
            :alt: Github Actions
        
        .. image:: https://mybinder.org/badge_logo.svg
            :target: https://mybinder.org/v2/gh/cheginit/hydrodata/develop
            :alt: Binder
        
        |
        
        .. image:: https://www.codefactor.io/repository/github/cheginit/pygeoutils/badge
           :target: https://www.codefactor.io/repository/github/cheginit/pygeoutils
           :alt: CodeFactor
        
        .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
            :target: https://github.com/psf/black
            :alt: black
        
        .. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
            :target: https://github.com/pre-commit/pre-commit
            :alt: pre-commit
        
        |
        
        Features
        --------
        
        PyGeoUtils is a part of `Hydrodata <https://github.com/cheginit/hydrodata>`__ software stack
        and provides utilities for manipulating (Geo)JSON and GeoTIFF data:
        
        - ``json2geodf``: For converting (Geo)JSON objects to GroPandas dataframe.
        - ``arcgis2geojson``: For converting ESRIGeoJSON objects to standard GeoJSON format.
        - ``gtiff2xarray``: For converting (Geo)TIFF objects to `xarray <https://xarray.pydata.org/>`__
          datasets.
        
        All these function handle all necessary CRS transformations. Moreover, requests for additional
        functionalities can be submitted via
        `issue tracker <https://github.com/cheginit/pygeoutils/issues>`__.
        
        
        Installation
        ------------
        
        You can install pygeoutils using ``pip`` after installing ``libgdal`` on your system
        (for example, in Ubuntu run ``sudo apt install libgdal-dev``):
        
        .. code-block:: console
        
            $ pip install pygeoutils
        
        Alternatively, pygeoutils can be installed from the ``conda-forge`` repository
        using `Conda <https://docs.conda.io/en/latest/>`__:
        
        .. code-block:: console
        
            $ conda install -c conda-forge pygeoutils
        
        Quickstart
        ----------
        
        To demonstrate capabilities of PyGeoUtils lets use
        `PyGeoOGC <https://github.com/cheginit/pygeoogc>`__ to access
        `National Wetlands Inventory <https://www.fws.gov/wetlands/>`__ from WMS, and
        `FEMA National Flood Hazard <https://www.fema.gov/national-flood-hazard-layer-nfhl>`__
        via WFS, then convert the outpus to ``GeoDataFrame`` and ``xarray.Dataset`` using PyGeoUtils.
        
        .. code-block:: python
        
            from pygeoogc import WFS, wms_bybox, MatchCRS
            from shapely.geometry import Polygon
            import pygeoutils as geoutils
        
        
            geometry =  Polygon(
                [
                    [-118.72, 34.118],
                    [-118.31, 34.118],
                    [-118.31, 34.518],
                    [-118.72, 34.518],
                    [-118.72, 34.118],
                ]
            )
        
            url_wms = "https://www.fws.gov/wetlands/arcgis/services/Wetlands_Raster/ImageServer/WMSServer"
            layer = "0"
            r_dict = wms_bybox(
                url_wms,
                layer,
                geometry.bounds,
                1e3,
                "image/tiff",
                box_crs="epsg:4326",
                crs="epsg:3857",
            )
        
            wetlands = geoutils.gtiff2xarray(r_dict, geometry, "epsg:4326")
        
            url_wfs = "https://hazards.fema.gov/gis/nfhl/services/public/NFHL/MapServer/WFSServer"
            wfs = WFS(
                url_wfs,
                layer="public_NFHL:Base_Flood_Elevations",
                outformat="esrigeojson",
                crs="epsg:4269",
            )
            bbox = geometry.bounds
            bbox = (bbox[1], bbox[0], bbox[3], bbox[2])
            r = wfs.getfeature_bybox(bbox, box_crs="epsg:4326")
            flood = geoutils.json2geodf(r.json(), "epsg:4269", "epsg:4326")
        
        Contributing
        ------------
        
        Contirbutions are very welcomed. Please read
        `CODE_OF_CONDUCT.rst <https://github.com/cheginit/pygeoutils/blob/master/CODE_OF_CONDUCT.rst>`__
        and
        `CONTRIBUTING.rst <https://github.com/cheginit/pygeoutils/blob/master/CONTRIBUTING.rst>`__
        files for instructions.
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
