当前位置: 首页 > article >正文

从HydroSHEDS到USGS:一站式获取与ArcGIS处理全球及美国流域边界

1. 全球流域数据源HydroSHEDS与HydroBASINS详解搞水文研究的朋友们都知道获取准确的流域边界数据是开展工作的第一步。HydroSHEDSHydrological data and maps based on SHuttle Elevation Derivatives at multiple Scales是目前全球范围内最权威的水文数据集之一由世界自然基金会WWF和美国宇航局NASA联合开发。这个数据集的神奇之处在于它基于航天飞机雷达地形任务SRTM的 elevation 数据通过复杂的算法处理生成了全球统一的水文网络。我最早接触HydroSHEDS是在2015年做跨境流域研究时当时为了找一套覆盖整个东南亚的流域数据几乎跑断了腿。后来发现HydroSHEDS提供的HydroBASINS数据简直就是救命稻草。HydroBASINS是HydroSHEDS项目下的子产品专门提供矢量格式的流域边界数据它把全球划分成了12个层级level01-level12的嵌套流域就像俄罗斯套娃一样从大流域到小流域一层套一层。实际操作中我建议从官网下载时注意几个关键点分辨率选择标准版15 arc-second适合大多数研究但如果你做小尺度精细分析可以考虑30 arc-second的高分辨率版本数据格式提供了Shapefile和GeoPackage两种格式我个人更推荐GeoPackage因为它单个文件就能包含所有属性数据管理起来更方便层级选择level01-03适合大尺度分析如洲际研究level04-08适合中等尺度如国家或大河流域level09-12则适用于小流域精细研究2. 美国本土专属USGS WBD数据集解析虽然HydroBASINS覆盖全球但如果你专门研究美国地区USGS美国地质调查局的WBDWatershed Boundary Dataset会是更好的选择。这套数据的精细程度和本土化处理是HydroBASINS无法比拟的特别是在处理行政边界与水文边界的关系时表现尤为出色。WBD采用了一套独特的HUCHydrologic Unit Code编码系统把美国本土划分为2位到16位不同层级的流域单元。简单来说HUC-2代表最大的21个水资源区域如密西西比河流域是08HUC-4细分到222个子区域HUC-6进一步细分为370个流域HUC-8约2200个亚流域HUC-10约20000个集水区HUC-12最精细的划分超过100000个子集水区我在处理密西西比河项目时就深有体会当需要精确到县级行政区划内的流域边界时WBD的HUC-12数据简直是神器。下载时可以直接通过USGS的TNM Download v2平台它提供了几种很实用的筛选方式按HUC级别筛选按行政区域州、县筛选按地图交互选择按流域名称搜索3. ArcGIS数据处理全流程实战拿到原始数据只是开始真正的挑战在于如何用ArcGIS把这些数据处理成可用的格式。下面我就以密西西比河流域为例详细演示整个处理流程。3.1 数据准备与预处理首先把下载的Shapefile加载到ArcGIS中。这里有个小技巧如果数据覆盖范围太大比如整个北美的HydroBASINS可以先按属性筛选出目标流域。对于密西西比河它的HydroBASINS编码通常是712可以用属性查询语句PFAF_ID LIKE 712%对于WBD数据则可以用HUC编码筛选HUC12 LIKE 0802%3.2 坐标系转换与统一两种数据源默认的坐标系可能不同HydroBASINS通常使用WGS84地理坐标系EPSG:4326WBD数据常用NAD83投影坐标系EPSG:4269建议统一转换为适合你研究区域的投影坐标系。比如密西西比河流域我习惯用USA Contiguous Albers Equal Area ConicEPSG:102003转换方法是打开【数据管理工具】→【投影和变换】→【要素】→【投影】选择输入要素和输出位置选择目标坐标系设置地理变换参数NAD83到WGS84需要这一步3.3 边界坐标提取技巧很多模型需要的是纯文本格式的边界坐标这时就需要用到折点提取功能。我推荐使用【要素折点转点】工具而非简单的导出坐标因为它能保留原始折点的顺序可以同时提取多个多边形的边界会自动生成点ID方便后续处理具体操作打开【数据管理工具】→【要素】→【要素折点转点】选择输入要素设置输出点要素类位置勾选识别内部折点如果需要运行后使用【添加XY坐标】工具将坐标写入属性表4. 数据源对比与选择建议在实际项目中我经常需要根据研究需求选择合适的数据源。以下是两种数据源的详细对比特性HydroBASINSUSGS WBD覆盖范围全球美国本土最小流域单元约10km²level12约1km²HUC16更新频率不定期当前版本基于2019年数据持续更新部分地区每年更新拓扑关系包含上下游连接信息仅包含层级关系属性信息相对简单包含详细的水文单元元数据最佳适用场景全球或跨国研究美国本土精细研究根据我的经验选择时需要考虑几个关键因素研究尺度大尺度选HydroBASINS小尺度选WBD研究区域美国境内优先WBD境外只能用HydroBASINS模型需求如果需要上下游拓扑关系HydroBASINS更合适精度要求城市水文研究可能需要WBD HUC16级别的数据5. 常见问题排查与优化技巧在这个工作流中有几个地方特别容易出问题我把自己踩过的坑总结一下问题1坐标提取后顺序混乱解决方案在【要素折点转点】工具中一定要勾选保持折点顺序选项或者在导出后按ORIG_FID和VERTEX_INDEX字段排序。问题2超大流域处理卡顿优化方案对于像密西西比河这样的大流域可以先用【要素转线】把多边形转为线用【增密】工具适当增加节点密度再用【要素折点转点】提取坐标问题3WBD数据存在缝隙或重叠处理方法使用【拓扑检查】工具规则选择不能有缝隙和不能重叠然后使用【修复拓扑】工具自动修正。问题4HydroBASINS属性表过于简单扩展方案可以通过PFAF_ID字段关联其他HydroSHEDS数据集如flow accumulation、river network等来丰富属性信息。6. 进阶应用自动化处理脚本如果你经常需要处理这类数据建议用Python脚本实现自动化。以下是使用ArcPy的示例代码import arcpy def extract_watershed_coordinates(input_shp, output_txt): # 设置工作空间 arcpy.env.workspace in_memory # 第一步投影转换 projected projected.shp arcpy.Project_management(input_shp, projected, arcpy.SpatialReference(102003)) # 第二步提取折点 vertices vertices.shp arcpy.FeatureVerticesToPoints_management(projected, vertices, ALL) # 第三步添加XY坐标 arcpy.AddXY_management(vertices) # 第四步导出为文本 with open(output_txt, w) as f: fields [ORIG_FID, POINT_X, POINT_Y] with arcpy.da.SearchCursor(vertices, fields) as cursor: for row in cursor: f.write(f{row[0]},{row[1]},{row[2]}\n) # 清理临时数据 arcpy.Delete_management(projected) arcpy.Delete_management(vertices)这个脚本可以直接在ArcGIS的Python窗口运行也可以设置为脚本工具反复使用。我在处理批量数据时这个脚本帮我节省了至少80%的时间。

相关文章:

从HydroSHEDS到USGS:一站式获取与ArcGIS处理全球及美国流域边界

1. 全球流域数据源:HydroSHEDS与HydroBASINS详解 搞水文研究的朋友们都知道,获取准确的流域边界数据是开展工作的第一步。HydroSHEDS(Hydrological data and maps based on SHuttle Elevation Derivatives at multiple Scales)是目…...

《算法题讲解指南:递归,搜索与回溯算法--穷举vs深搜vs回溯vs剪枝》--12.全排列,13.子集

🔥小叶-duck:个人主页 ❄️个人专栏:《Data-Structure-Learning》《C入门到进阶&自我学习过程记录》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 《算法题讲解指南》--动态规划算法 ✨未择之路&#xff0…...

OpenClaw内存泄漏排查:Qwen3-32B长会话任务监控与优化

OpenClaw内存泄漏排查:Qwen3-32B长会话任务监控与优化 1. 问题背景:当OpenClaw遇上长会话任务 上周我尝试用OpenClaw自动化处理一批技术文档的摘要生成工作。这个任务需要连续处理上百个Markdown文件,每个文件都需要调用Qwen3-32B模型进行多…...

从收音机到手机:聊聊LC振荡器(电容三端式)的演进与选型实战

从收音机到手机:LC振荡器的技术演进与工程选型实战 上世纪40年代,一台采用考毕兹电路的调幅收音机需要每天校准频率;而今天,你的智能手机蓝牙耳机却能稳定工作数月无需调整——这背后是LC振荡器技术近百年的进化史。作为射频电路的…...

Windows虚拟机中部署黑群晖7.2 NAS:从零搭建到内网穿透全攻略

1. 为什么要在Windows虚拟机跑黑群晖? 很多朋友第一次听说在Windows里装黑群晖都会觉得奇怪——NAS不是应该用实体机吗?我最初也是这么想的,直到去年家里老笔记本闲置下来,实测发现用虚拟机跑群晖不仅省电省钱,还能实现…...

要使用vue脚手架来创建一个项目的步骤

1、安装node.js 1.1、node.js的作用: 1.1.1、自带包管理器 node.js是npm和yarn的运行环境,没有node.js就运行不了npm命令和yarn命令。 (1)npm是官方的,node.js自带的,负责下载,安…...

MicroStation效率倍增:从快捷键到三维建模的进阶实战指南

1. 快捷键系统:从基础到高阶的全面掌握 MicroStation的快捷键系统就像设计师手中的瑞士军刀,熟练使用能让工作效率提升300%以上。我刚开始接触MicroStation时,总是一边画图一边在菜单栏里翻找工具,后来发现老工程师们手指在键盘上…...

告别软件瓶颈:手把手教你用K7 FPGA和纯VHDL代码搭建自己的10G TCP服务器

突破10G网络性能极限:用K7 FPGA构建零延迟TCP服务器的实战指南 当数据中心遇到性能天花板时,传统软件协议栈的局限性便暴露无遗。我曾亲眼见证某量化交易团队因为TCP栈额外增加的3微秒延迟,导致全年错失超过2.8亿元的交易机会——这恰恰是硬…...

基于单片机双向可控硅控制交流电导通脚

一、系统功介绍 基于单片机双向可控硅控制交流电导通脚的设计,是通过单片机精确控制双向可控硅的触发时机,实现交流电的导通与断开,广泛应用于交流调压、调光、电机调速及无触点开关等场景。 以下从核心原理、硬件设计、软件实现、应用场景及…...

Using Vulkan -- Atomics

原子操作的类型变体 想要更好地理解各类相关扩展,首先需要了解 Vulkan 提供的不同原子操作类型,主要分为以下维度: 数据类型 floatint 位宽 16 bit32 bit64 bit 操作类型 加载(loads)存储(stores&am…...

【人工智能】CCF-A/B/C类期刊最新解析:影响因子、分区与投稿指南

1. CCF期刊分类体系解析 第一次接触CCF期刊目录时,我也被A/B/C的分类搞得一头雾水。简单来说,中国计算机学会(CCF)将计算机领域的国际学术期刊分为A、B、C三个等级,其中A类代表该领域的顶级期刊,相当于学术…...

零基础搞懂Harness Engineering(超详细保姆级教程),告别AI胡说八道,收藏这一篇就够了!

2026年第一季度,大模型应用层最具统治力的热词,绝对是「Harness」。 今年三月,LangChain 发布了一篇题为《The Anatomy of an Agent Harness》的实证文章,彻底点燃了所有人的焦虑与狂热。他们在这份报告里引用了一个实验数据对比…...

JavaScript中类方法中this指向丢失的场景与对策

JavaScript类中方法的this丢失本质是函数单独调用时上下文丢失;常见于回调传递、解构赋值、异步操作三类场景,可通过箭头函数、bind绑定、类字段语法等方案解决。在 JavaScript 类中,方法里的 this 指向丢失,本质是函数被“单独调…...

C#怎么批量删除指定格式文件_C#如何遍历清空目录【干货】

应先用Directory.GetFiles精准匹配再逐个删除,避免Directory.Delete误删或报错;需处理权限、占用、只读等异常,并注意中文路径、ACL跳过、句柄未释放等问题。用 Directory.GetFiles 精准匹配再删,别直接 Directory.Delete批量删指…...

uni-app怎么获取手机端的当前电量信息 uni-app调用系统底层电池状态【实战】

Vue2项目中uni.getBatteryInfo不可用,需通过plus.android/plus.ios调原生:Android监听ACTION_BATTERY_CHANGED广播并计算百分比,iOS需先启用监控并处理归一化值,H5和小程序需分别兼容。uni.getBatteryInfo 在 Vue2 项目里根本不能…...

Cgo回调中处理 const char- 参数的正确方法

本文详解如何在 Cgo 中为 C 回调函数正确声明和实现接收 const char* 参数的 Go 导出函数,解决因类型不匹配导致的编译错误,并提供可直接复用的类型别名方案与完整示例。 本文详解如何在 cgo 中为 c 回调函数正确声明和实现接收 const char* 参数的…...

OpenClaw学习监督:千问3.5-9B定制的个性化学习计划

OpenClaw学习监督:千问3.5-9B定制的个性化学习计划 1. 为什么需要AI学习监督助手 去年我开始自学机器学习时,经常陷入"东一榔头西一棒子"的困境。今天看CNN,明天学Transformer,没有系统规划,三个月后发现知…...

递归封神!二叉树两大究极考题:路径总和 III + 最近公共祖先|面试原地 AC

目录 前言 一、路径总和 III:任意起点、任意终点的路径计数 思路一句话总结 完整 AC 代码 关键点小白精讲 二、二叉树的最近公共祖先:后序遍历的神级应用 思路一句话总结 完整 AC 代码 小白秒懂逻辑 三、两道题核心思想总结 路径总和 III 最近…...

损失2万块买来的教训:出海独立站如何从“裸奔”走向云原生高可用架构?

上个月,我帮一位做跨境宠物用品的老板做了一次紧急的架构救火。起因是他发现网站在正常投放 Google Ads 的情况下,突然大面积访问超时。我介入排查后发现,服务器 CPU 已经飙升到 100%,Nginx 日志里密密麻麻全是针对 /api/checkout…...

.shop 域名 SEO 优化有什么技巧

.shop 域名 SEO 优化有什么技巧 在当今互联网时代,域名不仅仅是一个网站的地址,更是品牌的重要组成部分。特别是随着电子商务的蓬勃发展,.shop 域名逐渐成为电商网站的首选。但是,仅有一个好的.shop 域名并不足以让你在搜索引擎上…...

NCP1654 引脚6(FB):外围电阻、电压范围、计算与测试方法

NCP1654 引脚6(FB):外围电阻、电压范围、计算与测试方法 引脚6(FB)是NCP1654的输出电压反馈/关断控制脚,核心功能是采样PFC输出母线电压,送入内部误差放大器,稳定输出电压&#xff1…...

CSS如何为提示框设置特定颜色标识_使用语义化的自定义属性

安装Npgsql包需区分用途:纯ADO.NET用Npgsql,EF Core用Npgsql.EntityFrameworkCore.PostgreSQL;连接字符串须含Password和Timeout;参数用:name非name;异步操作必须await;连接池需合理配置。安装 Npgsql 包时…...

SEO_2024年SEO最新趋势与实战操作解析

2024年SEO最新趋势解析:如何在百度上取得高排名 随着互联网的迅速发展,2024年的SEO(搜索引擎优化)又迎来了新的变化和挑战。在百度这个最大的中文搜索引擎中,如何提升网站的排名成为每一个网站运营者的共同目标。本文…...

mmdetection, mmclassification, mmsegmentation, mmdetection3d, mmselfsup,mmrazor, openmmlab系列答疑,私有数据集

mmdetection, mmclassification, mmsegmentation, mmdetection3d, mmselfsup,mmrazor, openmmlab系列答疑,私有数据集适配,私有模型适配,分布式训练等 欢迎带问题咨询#辅导作业神器 #助力学习好物...

【UVM】UVM类型转换方法详解与代码示例--$cast/静态转换/虚方法/Factory覆盖/类型识别+转换/Callback机制

UVM类型转换方法详解与代码示例 一、六种类型转换方法的代码示例 1. $cast方法(运行时检查) // 基类和子类定义 class Base extends uvm_object;virtual function void display();`uvm_info("BASE", "Base class display", UVM_LOW);endfunction endc…...

考虑一次调频与二次调频及机组差异化特性的风光水火储双目标动态调度研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

西门子三菱 PLC 编程教程合集|零基础到进阶学习资料整理

在工业自动化领域,PLC 编程是核心技能之一,想要系统掌握西门子、三菱两大品牌的 PLC 编程知识,合适的学习资料能让学习效率事半功倍。本次整理了一批涵盖不同学习阶段的 PLC 编程资料,从零基础入门到针对性机型实操,覆…...

Unity3D实战:从零构建竖屏飞机大战游戏

1. 竖屏游戏的基础设置 第一次打开Unity时,默认是横屏模式。我们需要做的第一件事就是把游戏改成竖屏。这个操作看似简单,但很多新手容易忽略几个关键点。在Game窗口右上角找到分辨率设置,点击加号新建一个预设。这里要特别注意选择"Asp…...

macOS极简安装OpenClaw:gemma-3-12b-it镜像10分钟体验

macOS极简安装OpenClaw:gemma-3-12b-it镜像10分钟体验 1. 为什么选择OpenClawGemma组合 上周我在测试自动化工作流时,偶然发现OpenClaw这个开源框架。它最吸引我的是能直接在本地电脑上实现"AI操控电脑"——就像有个数字员工帮你点击鼠标、整…...

嵌入式开发从入门到精通:C语言、RTOS与Linux实战

1. 嵌入式学习之路:从入门到进阶的完整指南作为一名在嵌入式领域摸爬滚打多年的工程师,我深知这个领域的学习曲线有多陡峭。从最初的51单片机到如今的Linux系统开发,嵌入式技术涵盖了硬件设计、底层驱动、操作系统、网络通信等多个维度。今天…...