gssurgo
The gssurgo python package enables open source workflows with the gSSURGO dataset. It provides:
-
A shell script
extract_gssurgo_tiffor generating stand-alonegSSURGOgrids. These raster grids are distributed within file geodatabase archives and can only be extracted using ArcGIS, the fileGDB driver, or (in the case ofextract_gssurgo_tif) thearcpypython package. -
Python functions for converting Geodatabase files to geopackage format.
-
Python functions for returning the results of specific
SQLqueries ofgSSURGOdata. -
Python functions for referencing query results to corresponding (raster) grid cells.
Prereqs
-
The intial
tif(grid) extraction step requies thearcpypython module. This step assumes that a python executable linked toarcpycan be found atC:\Python27\ArcGIS10.3\python.exe. Edit bin/extract_gssurgo_tif to enable alternate locations. -
Remaining operations require the dependencies listed in environment.yml and requirements.txt. If using Anaconda, make sure you have the 64bit version. You can install an Anaconda virtual environment with:
conda env create -n gssurgo -f environment.yml
source activate gssurgo
Installation
# local install
# pip install -e .
# development install
pip install git+git://github.com/jsta/gssurgo.git
# development upgrade
# pip install --upgrade git+git://github.com/jsta/gssurgo.git
Usage
A demonstration workflow using the gssurgo python package can be found at: https://github.com/jsta/gssurgo_data
1. Extract tif and build gpkgs
extract_gssurgo_tif 'path/to/gSSURGO_STATE.gdb/MapunitRaster_10m' 'path/to/STATE.tif'
import gssurgo
gssurgo.build_gpkg("path/to/gSSURGO_STATE.gdb", "path/to/gSSURGO_STATE.gpkg")
2. Generate an Area of Interest (AOI)
gssurgo.aoi(in_raster_path = "tifs", out_raster = "path/to/aoi.tif", xmax = -88.34945, xmin = -88.35470, ymin = 38.70095, ymax = 38.70498)
3. Pull specific variable and merge with corresponding tif
gssurgo.query_gpkg(src_tif = "tests/aoi.tif", gpkg_path = "path/to/gkpgs/", sql_query = 'SELECT mukey, nonirryield_r FROM mucropyld WHERE (cropname = "Corn")', out_raster = "tests/aoi_results.tif")
gssurgo.query_gpkg(src_tif = "tests/aoi.tif", gpkg_path = "path/to/gpkgs/", sql_query = 'SELECT mukey, nonirryield_r FROM mucropyld WHERE (cropname = "Corn")', out_raster = "tests/aoi_results.tif")
The
sql_queryparameter must give a two column result ofmukeyandsome_variablewhere nomukeyentries are duplicated.
4. Visualize output
gssurgo.viz_numeric_output("path/to/aoi_results.tif", "path/to/aoi_results.png")
Release files for gssurgo 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gssurgo-1.0.1.tar.gz | 3.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gssurgo-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.7 MB
Release files / gssurgo-1.0.1.tar.gz
| Download URL | gssurgo-1.0.1.tar.gz |
|---|---|
| Size | 3.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
614895717fc201b195911dc57f9d5e83129400f76c08d70c69d1641d48de4254
|
|
BLAKE2b-256 checksum How to use checksums |
92b7976bc463422d56566d22ed2236080813018ec7c8065bf0032514a8c9bbdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/3.10.0 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8
|
Release files / gssurgo-1.0.1-py3-none-any.whl
| Download URL | gssurgo-1.0.1-py3-none-any.whl |
|---|---|
| Size | 3.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c78d44b00803de0832726888a4f2e4f79b67b199b87881f4b1d4a26f51c7d892
|
|
BLAKE2b-256 checksum How to use checksums |
4e2de30e054d389458208ae68790d850d921355c1544180ee8f677e9e2bc5d0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/3.10.0 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8
|