Skip to main content

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

Project description

https://raw.githubusercontent.com/cheginit/hydrodata/master/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.10.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

pygeoutils-0.1.10-py2.py3-none-any.whl (11.6 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: pygeoutils-0.1.10.tar.gz
  • Upload date:
  • Size: 23.9 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.10.tar.gz
Algorithm Hash digest
SHA256 2447e531e5cd416824894c78f2becd3ed0a85fcef1231813de4f34ce596e1f68
MD5 557e18aa0cd5b37719fe1a74379ffdb1
BLAKE2b-256 7c7aeca1cdc879127ab6511996955d222aca0b2cace5fb640b3adf93229eaee2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pygeoutils-0.1.10-py2.py3-none-any.whl
  • Upload date:
  • Size: 11.6 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.10-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 439eeba5e1e9b9ce869e47fde71add878a433abb6f38c10b6208737d029931f8
MD5 f9616c6d31dfcb3bf32fea23c578312a
BLAKE2b-256 f351bcdbf70ea5cd2b6fad370d5a4127716cfd56cdc281ec8fa59db71e47d098

See more details on using hashes here.

Supported by

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