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

ArcGIS笔记13_利用ArcGIS制作岸线与水深地形数据?建立水动力模型之前的数据收集与处理?

本文目录

  • 前言
  • Step 1 岸线数据
  • Step 2 水深地形数据
  • Step 3 其他数据及资料

前言

利用MIKE建立水动力模型详见【MIKE水动力笔记】系列)之前,需要收集、处理和制作诸多数据和资料,主要有岸线数据、水深地形数据、开边界潮位驱动数据、风场数据、潮位和海流观测资料和站点潮汐调和常数资料等。本篇主要介绍这些资料的获取与处理。
其中岸线数据和水深地形数据用于制作海洋数值模型网格;有了网格,结合开边界潮位驱动数据和风场数据的输入,根据实际海岸海洋环境条件进行控制方程的选择和模型的概化处理,进而搭建起初步的数值模型;然后通过对比潮位和海流观测资料、站点潮汐调和常数资料等,进行模型的率定和验证,验证结果良好后,方可进入下一步的正式模拟阶段。

Step 1 岸线数据

通常来讲,岸线数据有多种获取方法,大致可分为两类方法。第一类是通过一些岸线数据公开资源库来下载获取,例如美国国家海洋和大气管理局有一个叫做Geodas的数据库,可以方便的提取全球尺度的岸线,但这种方法获取的岸线精度偏低,更适合大尺度范围的海洋研究。第二类是通过遥感影像自己来提取或绘制岸线进而制作模型岸线数据,这种方法获取的岸线数据精度很高,适合本项目研究的精度需求。

具体操作是,首先下载该区域的遥感影像,遥感影像主要采用美国陆地卫星Landsat系列,如下图。在保证影像质量的前提下,选择大潮高潮时期且云量较小的影像数据。影像时相选用两个,一个用来提取岸线,一个用来精度验证。所有影像数据均在ENVI中进行预处理,校正配准的误差在半个像元内,采用标准假彩色显示,以便更易识别影像数据。

在这里插入图片描述

然后进行影像的解译与岸线识别,如果该研究区域较小,可以采用人工目视解译,在ArcGIS中绘制出海岸线,等间距转点得到岸线散点坐标,如下图。然后对岸线数据进行验证,据前人研究结果表明(侯西勇等, 2014),基于30 m分辨率的遥感影像岸线提取最大允许误差为28.28 m,抽取适当标志点进行验证,平均误差小于理论最大允许误差表明满足研究精度需要。

在这里插入图片描述

Step 2 水深地形数据

水深地形数据的获取,同样的,水深地形数据的获取来源也有多种,第一种是也是跟岸线数据一样通过公开资源库获取,精确度上同样偏低,不适合本项目研究;第二种是通过航保部出版的海图资料获取;第三种就是通过一定数目的已知水深点进行插值处理获取,这种方法取决于已知水深点的数目和质量,大范围整体趋势较好,但局部小区域也易出现插值结果不理想的情况,需要在后面模型验证的时候优化这个问题。

水深地形数据获取的具体操作是,首先如果手头已有一部分实测断面数据,可以采用这些数据,然后这里还可以借助了另外的两份数据,一个是刚刚介绍自己绘制得到的岸线数据,因为岸线就相当于水深值为0的点,也相当于已知水深点了;另一个就是前人文献资料中绘制的水深图,参考前人学者论文中的资料,提取其中部分等深线上的点作为一部分已知点。上述的这些已知水深点都需要进行坐标系和基准面的统一。如下图

在这里插入图片描述

接下来就在ArcGIS中进行克里金插值获取水深DEM(digital elevation model)模型,如下图

在这里插入图片描述

对DEM的数据进行5%抽样验证,计算NSE和RMSE看验证结果是否良好。这里的NSE是指纳什模型效率系数,大于0.5表明模型拟合较好,大于0.65表明模型拟合极好,RMSE是指均方根误差,后面在验证潮位和海流时也是用这两个评价指标。

Step 3 其他数据及资料

然后是开边界潮位驱动数据,数据来源于TPXO 9全球潮汐预报模型,基于此制作dfs1时间序列数据,用于后面水动力模型构建过程中的潮位驱动加载。确定数据时长,同时进行了格林威治8小时时间差调整。

风场数据是通过ECMWF公开数据库获取,数据包含了风场u分量、v分量和大气压力值的逐日数据,确定数据精度和数据时长。如下图

在这里插入图片描述

接下来是潮位观测数据和海流观测数据。潮位及海流观测数据主要用于模型的率定及验证。

潮位观测数据主要通过国家海洋信息中心全球潮汐预报服务平台(http://global-tide.nmdis.org.cn)获取,收集研究区内的潮位站点数据,平台最多可显示3天的预报,也就是每个站点数据时长最大能达72 h。如下图。

在这里插入图片描述

在这里插入图片描述

至于海流观测数据,尽量通过ADCP实测获取的,如果没有的话,也可以找找国家海洋信息中心全球潮汐预报服务平台,如果没有海流站点,那也可以采用前人文献中的历史海流观测数据,数字化这份数据即可。

调和常数观测数据的获取也是采用此方法,如果没有实测资料的话,也可以采用前人文献中的数据。也可以画出同潮图与前人所绘制的进行对比。

希望能帮助到大家!


以上就是全部内容啦~

希望可以得到你的赞,非常感谢!

相关文章:

ArcGIS笔记13_利用ArcGIS制作岸线与水深地形数据?建立水动力模型之前的数据收集与处理?

本文目录 前言Step 1 岸线数据Step 2 水深地形数据Step 3 其他数据及资料 前言 在利用MIKE建立水动力模型(详见【MIKE水动力笔记】系列)之前,需要收集、处理和制作诸多数据和资料,主要有岸线数据、水深地形数据、开边界潮位驱动数…...

一些k8s集群操作命令

参考: 【K8S系列】Pod重启策略及重启可能原因_k8s查看pod重启原因-CSDN博客 #查看加入集群命令 kubeadm token create --print-join-command #kubeadm重置k8s kubeadm reset -f ipvsadm --clear systemctl stop kubelet rm -rf /etc/kubernetes/* reboot …...

pycharm运行R语言脚本(win10环境下安装)

文章目录 简介1. pycharm安装插件2. 安装R语言解释器2.1下载安装包2.2具体安装过程 3.编辑环境变量4 检验是否安装成功:5.安装需要的library6.pycharm中配置安装好的R语言解释器 简介 pycharm 安装 R language for Intellij R language for Intellij 是一个插件&am…...

Java进击框架:Spring-Test(六)

Java进击框架:Spring-Test(六) 前言单元测试模拟对象 集成测试上下文管理和缓存事务管理集成测试的支持类执行SQL脚本WebTestClientMockMvc JDBC测试支持其它注释 前言 Spring团队提倡测试驱动开发(TDD)。Spring团队发现,控制反转…...

微软:Octo Tempest是最危险的金融黑客组织之一

导语 最近,微软发布了一份关于金融黑客组织Octo Tempest的详细报告。这个组织以其高级社交工程能力而闻名,专门针对从事数据勒索和勒索软件攻击的企业。Octo Tempest的攻击手段不断演变,目标范围也不断扩大,成为了电缆电信、电子邮…...

JS加密/解密之逻辑运算符加密进阶篇

前言 ​ 前篇给大家介绍了运算符不为人知的基础知识。他们的各种表达形式,今天我们从这个基础上,继续进一步告诉大家,如何对字符串进行加密处理。还是那句话,技术人不废话,直接晒代码。 示例源代码 // 字符串加密示…...

【ROS入门】机器人系统仿真——URDF集成Gazebo

文章结构 URDF与Gazebo基本集成流程创建功能包编写URDF或Xacro文件启动 Gazebo 并显示机器人模型 URDF集成Gazebo相关设置collisioninertial颜色设置 URDF集成Gazebo实操编写封装惯性矩阵算法的 xacro 文件复制相关 xacro 文件,并设置 collision inertial 以及 colo…...

互联多区域电网的负荷频率控制研究

摘要 电力行业的发展程度是衡量国民经济水平以及国家安全保障的一项重要指标。多区域负荷频率控制系统作为现代电力系统发展的重要趋势,在可靠性、经济性和稳定性上都具备一定的优势。保证系统稳定和输出电能的质量是电网运行的关键。电力系统输出电能质量的优劣取决…...

【java学习—九】模板方法(TemplateMethod)设计模式(4)

文章目录 1. 在java中什么是模板2. 模板方法设计解决了什么问题?3. 代码化理解 1. 在java中什么是模板 抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留…...

【MyBatis Plus】初识 MyBatis Plus,在 Spring Boot 项目中集成 MyBatis Plus,理解常用注解以及常见配置

文章目录 一、初识 MyBatis Plus1.1 MyBatis Plus 是什么1.2 MyBatis Plus 和 MyBatis 的区别 二、在 Spring Boot 项目中集成 MyBatis Plus2.1 环境准备2.2 引入 MyBatis Plus 依赖2.3 定义 Mapper2.4 测试 MyBatis Plus 的使用 三、MyBatis Plus 常用注解3.1 为什么需要注解3…...

Centos7 安装和配置 Redis 5 教程

在Centos上安装Redis 5,如果是 Centos8,那么 yum 仓库中默认的 redis 版本就是 5,直接 yum install 即可。但如果是 Centos7,yum 仓库中默认的 redis 版本是 3 系列,比较老: 通过 yum list | grep redis 命…...

使用 RAG、Langchain 和 Streamlit 制作用于文档问答的 AI 聊天机器人

在这篇文章中,我们将探索创建一个简单但有效的聊天机器人,该机器人根据上传的 PDF 或文本文件的内容响应查询。该聊天机器人使用 Langchain、FAISS 和 OpenAI 的 GPT-4 构建,将为文档查询提供友好的界面,同时保持对话上下文完整。…...

论文阅读——RoBERTa

一、LM效果好但是各种方法之间细致比较有挑战性,因为训练耗费资源多、并且在私有的不同大小的数据集上训练,不同超参数选择对结果影响很大。使用复制研究的方法对BERT预训练的超参数和数据集的影响细致研究,发现BERT训练不够,提出…...

springboot项目打jar包,运行时提示jar中没有主清单属性

可能性一&#xff1a; 没有在pom中加入maven插件 在pom中加入下方代码即可。 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</ve…...

【Codeforces】 CF79D Password

题目链接 CF方向 Luogu方向 题目解法 看到区间异或&#xff0c;一个经典的套路是做差分&#xff0c;我们即在 l l l 处异或一次&#xff0c;在 r 1 r1 r1 处异或一次&#xff0c;然后前缀和起来 于是我们可以将问题转化成&#xff1a;有一个序列初始全 0 0 0&#xff0c…...

叛乱沙漠风暴server安装 ubuntu 22.04

最新版沙暴已经不支持centos了&#xff0c;还是使用ubuntu比较顺利 官方文档&#xff1a; https://sandstorm-support.newworldinteractive.com/hc/en-us/articles/360049211072-Server-Admin-Guide // 安装steamcmd依赖 sudo add-apt-repository multiverse sudo apt inst…...

ES6中的新增属性——解构赋值

首先我们要创建一个假数据&#xff0c;我们现在要取出user中的id和名称&#xff0c;如下&#xff1a; let user JSON.parse(sessionStorage.getItem(userInfo)) let id user.id; let name user.name; 非常的麻烦&#xff0c;我们需要一项一项的获取&#xff0c;这个时候可…...

行业追踪,2023-10-27

自动复盘 2023-10-27 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…...

Qt QWebEngine 更换语言

背景 使用Qt QWebEngine开发的应用&#xff0c;在一些场景下&#xff0c;会显示英文文本&#xff0c;比如右键、JS弹出的对话框&#xff0c;所以需要进行汉化&#xff0c;更改语言。 准备翻译文件 Qt有提供翻译好的ts文件&#xff0c;我们可以直接下载ts文件qtwebengine_zh_…...

Docker一键开启、停止和删除所有容器

开启所有运行的容器&#xff1a; docker start $(docker ps -aq) 这里&#xff0c;docker ps -aq 列出了所有容器的ID&#xff0c;然后 docker start 命令用于开启这些容器。 停止所有运行的容器&#xff1a; docker stop $(docker ps -aq) 同理&#xff0c;docker ps -aq…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...