跳转到主要内容

美国国家水文数据集网络和障碍分析工具

项目描述

美国国家水文数据集网络 & 障碍分析工具

Build Status Coverage Status

此库用于帮助执行针对东南水生屏障优先级工具的网络连通性分析。有关该项目的具体处理信息,请参阅https://github.com/astutespruce/sarp-connectivity

此库旨在提供更通用的处理工具,以协助使用国家水文数据集(NHD)- 高分辨率加版本进行分析。

我们目前不打算添加对NHD-中等分辨率数据集的支持。欢迎提交拉取请求以添加此功能。

由于NHD数据量很大,可能只能一次处理一个区域,或一组区域。关键限制基于可用内存(RAM)和输出文件大小(shapefiles大小限制为2GB)。

主要功能

  • 预处理工具,用于在此库中分析NHD数据
  • 合并相邻流域或区域之间的NHD流线
  • 自动将障碍物捕捉到最近的流线上,包括辅助手动QA/QC的启发式算法
  • 在障碍物处切断NHD流线
  • 从障碍物到上游障碍物或河流网络起源构建功能上游网络
  • 网络统计
  • 使用feather文件格式优化中间数据产品的数据I/O,以及自定义空间数据的序列化和反序列化

备注

  • 使用Geopandas读取/写入形状文件可能会非常慢。我们更倾向于使用feather格式作为中间文件(geofeather提供了空间兼容性)。
  • NHD数据以ArcGIS文件地理数据库的形式下载。虽然这些格式通常可以使用Geopandas读取,但无法写入此格式,因此通常只能选择形状文件输出用于GIS。

安装

pip install nhdnet

此项目使用Python 3.6+中的GeoPandasGeoPandasPandasrtreeshapely

我们不打算支持Python < 3.6。

由于这些库的复杂性,您的平台安装说明可能与以下说明不同。

rtree首先需要单独安装libspatialindex。在MacOS上

brew install spatialindex

Python依赖和虚拟环境使用pipenv管理。

pipenv install

如果您不想使用pipenv,请参阅Pipfile以获取依赖项列表。

源数据

NHD高分辨率数据从NHD数据分发站点通过HUC4下载。

开发

此项目使用black进行自动格式化,并使用pylint进行代码审查。

备注

已知问题

鸣谢

本项目与东南水生资源伙伴关系合作完成,作为更大规模项目的一部分,该项目旨在制定美国东南部水生障碍的全面清单并评估这些障碍对水生系统的影响。

本项目的成果可在东南水生障碍优先级工具中找到。

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面