启用开源gssurgo工作流的python工具箱

gssurgo的Python项目详细描述


GSSURGO

PyPiVersionProject Status: Active - The project has reached a stable, usable state and is being actively developed.PYPI DownloadsBuild Status

python包使用gSSURGO数据集启用开源工作流。它提供:

  • 用于生成独立网格的shell脚本extract_gssurgo_tif这些光栅网格分布在文件geodatabase存档中,只能使用arcgis、filegdb驱动程序或(在extract_gssurgo_tif的情况下)python包提取。

  • 用于将geodatabase文件转换为geopackage格式的python函数。

  • python函数,用于返回对gSSURGO数据的特定SQL查询的结果。

  • 用于将查询结果引用到相应(光栅)网格单元的python函数。

先决条件

  • 最初的tif(网格)提取步骤需要arcpypython模块。此步骤假设链接到arcpy的python可执行文件可以在C:\Python27\ArcGIS10.3\python.exe找到。编辑bin/extract_gssurgo_tif以启用备用位置。

  • 其余操作需要environment.ymlrequirements.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

用法

使用gssurgopython包的演示工作流可以在: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 of mukey and some_variable where no mukey entries are duplicated.

四。可视化输出

gssurgo.viz_numeric_output("path/to/aoi_results.tif","path/to/aoi_results.png")

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
主类中的java访问方法   Javalog4j不读取它的log4j。属性文件   雅加达ee通过Java(web应用程序)使用iText/任何其他使用现成数据的库生成PDF报告   lua使用java阅读TeamSpeak 3消息   将日期转换为BST java   java Spring引用ProxyFactoryBean中带有ref的protoyype bean   如何使java只打印一条带有if语句的消息   java如何通过JavaMail从雅虎服务器发送电子邮件?   使用百分比和BigDecimal的java测试   java如何对字符串数组排序   java验证器+MVC+REST::更新问题   java如何阻止eclipse如此频繁地挂起?   java从AsyncTask(片段内)访问TextView   IDEJava:制作可调整大小和拖动的组件