启用开源gssurgo工作流的python工具箱
gssurgo的Python项目详细描述
GSSURGO
python包使用gSSURGO
数据集启用开源工作流。它提供:
用于生成独立网格的shell脚本
extract_gssurgo_tif
。这些光栅网格分布在文件geodatabase存档中,只能使用arcgis、filegdb驱动程序或(在extract_gssurgo_tif
的情况下)python包提取。用于将geodatabase文件转换为geopackage格式的python函数。
python函数,用于返回对
gSSURGO
数据的特定SQL
查询的结果。用于将查询结果引用到相应(光栅)网格单元的python函数。
先决条件
最初的
tif
(网格)提取步骤需要arcpy
python模块。此步骤假设链接到arcpy
的python可执行文件可以在C:\Python27\ArcGIS10.3\python.exe
找到。编辑bin/extract_gssurgo_tif以启用备用位置。其余操作需要environment.yml和requirements.txt中列出的依赖项。如果使用anaconda,请确保具有64位版本。您可以使用安装anaconda虚拟环境:
conda env create -n gssurgo -f environment.yml
source activate gssurgo
安装
# 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
用法
使用gssurgo
python包的演示工作流可以在:https://github.com/jsta/gssurgo_data
一。提取tif并构建gpkgs
extract_gssurgo_tif 'path/to/gSSURGO_STATE.gdb/MapunitRaster_10m' 'path/to/STATE.tif'
importgssurgogssurgo.build_gpkg("path/to/gSSURGO_STATE.gdb","path/to/gSSURGO_STATE.gpkg")
2.生成感兴趣的区域(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)
三。拉取特定变量并与相应的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_query
parameter must give a two column result ofmukey
andsome_variable
where nomukey
entries are duplicated.
四。可视化输出
gssurgo.viz_numeric_output("path/to/aoi_results.tif","path/to/aoi_results.png")