Skip to main content

A set of utilities for manipulating (Geo)JSON and (Geo)TIFF data.

Project description

https://raw.githubusercontent.com/cheginit/hydrodata/develop/docs/_static/pygeoutils_logo.png

Package

Description

Hydrodata

Access NWIS, HCDN 2009, NLCD, and SSEBop databases

PyGeoOGC

Query data from any ArcGIS RESTful-, WMS-, and WFS-based services

PyGeoUtils

Convert responses from PyGeoOGC’s supported web services to datasets

PyNHD

Access NLDI and WaterData web services for navigating the NHDPlus database

Py3DEP

Access topographic data through the 3D Elevation Program (3DEP) web service

PyDaymet

Access the Daymet database for daily climate data

PyGeoUtils: Manipulate (Geo)JSON and (Geo)TIFF data

PyPi Conda Version CodeCov Github Actions Binder

CodeFactor black pre-commit

🚨 This package is under heavy development and breaking changes are likely to happen. 🚨

Features

PyGeoUtils is a part of Hydrodata software stack and provides utilities for manipulating (Geo)JSON and (Geo)TIFF data. These utilities are:

  • 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 datasets.

  • xarray_geomask: For masking a xarray.Dataset or xarray.DataArray using a polygon.

All these function handle all necessary CRS transformations. Moreover, requests for additional functionalities can be submitted via issue tracker.

Installation

You can install PyGeoUtils using pip after installing libgdal on your system (for example, in Ubuntu run sudo apt install libgdal-dev):

$ pip install pygeoutils

Alternatively, PyGeoUtils can be installed from the conda-forge repository using Conda:

$ conda install -c conda-forge pygeoutils

Quick start

To demonstrate capabilities of PyGeoUtils lets use PyGeoOGC to access National Wetlands Inventory from WMS, and FEMA National Flood Hazard via WFS, then convert the output to GeoDataFrame and xarray.Dataset using PyGeoUtils.

import pygeoutils as geoutils
from pygeoogc import WFS, WMS
from shapely.geometry import Polygon


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"
wms = WMS(
    url_wms,
    layers="0",
    outformat="image/tiff",
    crs="epsg:3857",
)
r_dict = wms.getmap_bybox(
    geometry.bounds,
    1e3,
    box_crs="epsg:4326",
)
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",
)
r = wfs.getfeature_bybox(geometry.bounds, box_crs="epsg:4326")
flood = geoutils.json2geodf(r.json(), "epsg:4269", "epsg:4326")

Contributing

Contributions are very welcomed. Please read CONTRIBUTING.rst file for instructions.

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

pygeoutils-0.1.9.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pygeoutils-0.1.9-py2.py3-none-any.whl (11.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pygeoutils-0.1.9.tar.gz.

File metadata

  • Download URL: pygeoutils-0.1.9.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for pygeoutils-0.1.9.tar.gz
Algorithm Hash digest
SHA256 b38fca1dbbeab3b5b6eb0b647ef60fc7990b6b191d63fb2053e734c62f9db208
MD5 b22b939d6f0e79b1d845e2ea3aac74b0
BLAKE2b-256 86347cc1e021cbb55e0ccafa49ea6c90745738359ab09695ec7df8b1634befb3

See more details on using hashes here.

File details

Details for the file pygeoutils-0.1.9-py2.py3-none-any.whl.

File metadata

  • Download URL: pygeoutils-0.1.9-py2.py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for pygeoutils-0.1.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c45d97a7498ff49a247e752bf00143ac1b67123cb48fe63964b16f2f7b4a378e
MD5 91a7a3913184b314c1e3aff250361e49
BLAKE2b-256 3b2e412653fdb8580b0c7f055f94ed79aff11f91460ae5b7435baf1bbfc323a1

See more details on using hashes here.

Supported by

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