【ARCGIS实验】地形特征线的提取
目录
一、提取不同位置的地形剖面线
二、将DEM转化为TIN
三、进行可视分析
四、进行山脊、山谷等特征线的提取
1、正负地形提取(用于校正)
2、山脊线提取
3、山谷线的提取
4、河网的提取
5、流域的分割
五、鞍部点的提取
1、背景
2、目的
3、要求
4、数据
5、算法思想
6、操作步骤
(1)正地形、等高线和晕染图的提取
(2)山脊线的提取
(3)反地形山脊(即山谷线)的提取
(4)鞍部点的提取
六、参考链接
一、提取不同位置的地形剖面线
(1)在菜单栏单击【Customize】-【Toolbars】-【3D Analyst】,在3D Analyst工具条中选择“插入线”。
![]()
(2)在dem图中画线。

(3)在3D Analyst工具中点击选择“剖面图”。
![]()
(4)生成的上述所画线段的剖面图。

二、将DEM转化为TIN
选择【3D Analyst Tools】-【Conversion】-【From Raster】-【Raster to TIN】,打开Raster to TIN对话框,选择dem图层,设置输出TIN路径和文件名,点击OK按钮,即可得到由dem转换的tin图层。

三、进行可视分析
(1)通视分析
I、在菜单栏单击【Customize】-【Toolbars】-【3D Analyst】,在3D Analys工具条中单击“视现瞄准线工具”,打开视现瞄准线对话框,在地形表面上分别点击确定观测点和目标点位置。出现通视线,红色表示不可视,绿色表示可视。
![]()
II、3D Analys工具条

III、视现瞄准线对话框

IV、通视线
(2)视点分析
I、选择【3D Analyst Tools】-【Raster Surface】-【Curvature】,在打开的Curvature对话框中选择输入dem数据,点击OK按钮即可得到输出的栅格图层。

II、输出栅格
四、进行山脊、山谷等特征线的提取
1、正负地形提取(用于校正)
(1)在ArcToolbox中选择【Spatial Analyst Tools】-【Neighborhood(领域分析)】-【Focal Statistics(焦点统计)】,在打开的Focal Statistics对话框中选择输入dem数据,利用领域分析方法以11*11的窗口计算平均值,计算结果命名为meandem。


(2)点击【Spatial Analyst Tools】-【Map Algebra(地图代数)】-【Raster Calculator(栅格计算器)】,在打开的Raster Calculator对话框中对dem数据和meandem做减法运算。计算结果命名为xin。


(3)选择【Spatial Analyst Tools】-【Reclass(重分类)】-【Reclassify(重分类)】,对运算结果重分类。在弹出的Reclassify对话框中选择xin图层,分级界限为0,将大于0的区域属性值赋为1,小于0的区域赋值为0,命名为“zhengdixing”。另一次将小于0的区域属性值赋值为1,大于0的区域赋值为0,命名为fudixing。




2、山脊线提取
(1)填充洼地。点击【Spatial Analyst Tools】-【Hydrlogy(水文分析)】-【Fill(填洼)】,在打开的Fill对话框中选择输入dem数据,输出栅格数据文件名为Fill_dem。


(2)计算水流方向。选择【Spatial Analyst Tools】-【Hydrology(水文分析)】-【Flow Direction(流向)】,在打开的Flow Direction对话框中选择输入Fill_dem数据,输出栅格数据文件名为flowdirfill。


(3)计算汇流累积量。点击【Spatial Analyst Tools】-【Hydrology(水文分析)】-【Flow Accumulation(流量)】,在弹出的Flow Accumulation对话框中选择输入flowdirfill数据,输出栅格数据文件名为flowacc1。


(4)汇流累积量为零值的提取。打开【Spatial Analyst Tools】-【Map Algebra】-【Raster Calculator】,在打开的Raster Calculator对话框中输入公式:"flowacc1" == 0,输出栅格数据文件名为facc0。


(5)对facc0进行领域分析。点击【Spatial Analyst Tools】-【Neighborhood】-【Focal Statistics】,在打开的Focal Statistics对话框中选择输入facc0数据,输出栅格数据文件名为neiborfacc0。 (3*3 mean)

(6)打开【Spatial Analyst Tools】-【Surface(表面分析)】-【Contour(等值线)】,生成dem的等值线图,命名为Contour_dem;
打开【Spatial Analyst Tools】-【Surface(表面分析)】-【Hillshade(山体阴影)】,生成dem的山体阴影晕渲图,命名为Hillshade_dem。




(7)在neiborfacc0图层上右键选择属性,进行重新分级,分为2级,这时不断调整分级临界点,并以等值线图和晕渲图作为辅助判断,属性值越接近1的栅格越有可能是山脊线的位置,最终确定的分界阈值为0.5541。


(8)将进行过二值化的neiborfacc0进行重分类为Reclass_neiborfacc0,将属性值接近1的那一类的属性值赋值为1,其余赋值为0。【Spatial Analyst——重分类——重分类】


(9)打开栅格计算器,输入命令: "Reclass_neiborfacc0" * "zhengdixing",以消除那些存在于负地形区域中的错误的山脊线。输出栅格数据文件名为:shanjixiannoworry。


(10)对shanjixiannoworry图层重分类,所有属性不为1的栅格属性赋值NO DATA,这样就得到了山脊线,命名为Shanjixian。【Spatial Analyst——重分类——重分类】


3、山谷线的提取
打开栅格计算器,输入公式:Abs(“dem”-5000),得到与dem地形完全相反的反地形数据。剩下提取山谷线的步骤就和提取山脊线完全相同。
计算过程中的数据名称分别为:水流方向数据flowdirfan,汇流累积量数据flowacc2,零值汇流累积量nbfaccfan,对flowaccfan进行3*3领域分析求均值后的结果数据为flowacc0fan,并将其分级改为2级,分级阈值为0.65677。

4、河网的提取
(1)填充洼地
打开【ArcToolbox】-【Spatial Analyst Tools】-【Hydrology】-【Fill】,在打开的Fill对话框中选择输入dem数据,输出栅格数据文件名为filldem。


(2)生成水流方向
点击【Hydrology】-【Flow Direction】,在打开的Flow Direction对话框中选择输入filldem数据,输出栅格数据文件名fdirfill。


(3)计算汇流累积量
打开【Hydrology】-【Flow Accumulation】,在打开的Flow Accumulation对话框中选择输入fdirfill数据,输出上数据文件名flowacc。


(4)提取河网
I、提取河网栅格数据
打开栅格计算器,输入公式:Con(“flowacc”>800,1),输出栅格数据文件名streamnet。


II、提取河网矢量数据
打开【Hydrology】-【Stream to Feature】,在打开的Stream to Feature对话框中选择输入streamnet数据和fdirfill数据,输出矢量数据文件名StreamT_streamn3。


5、流域的分割
(1)提取流域盆地
打开【Hydrology】-【Basin】,在打开的Basin对话框中选择输入fdirfill数据,输出栅格数据文件名basin。


(2)生成集水流域
I、提取Streamlink
打开【Hydrology】-【Stream Link】,在打开的Stream Link对话框中输入streamnet和fdirfill数据,输出栅格数据文件名streamlink。


II、集水流域的生成
打开【Hydrology】-【Watershed】,在打开的Watershed对话框中输入fdirfill和streamlink数据,输出栅格数据文件名watershed。


五、鞍部点的提取
1. Spatial Analyst——地图代数——栅格计算器(输出:anbuqu)
"flowacc0" * "facc0fan"
2. Spatial Analyst——地图代数——栅格计算器(输出:rasteranbu)
"zhengdixing" * "anbuqu"
3. Spatial Analyst——重分类——重分类(输出:rasteranbu2)
=0→NO DATA
4. 转换工具——由栅格转出——栅格转点(输出:anbudian)
5. 对照等高线和山体阴影人工剔除伪鞍部点
具体步骤如下:
1、背景
相邻两山头之间呈马鞍形的低凹部分称为鞍部。鞍部点是重要的地形控制点,它和山顶点、山谷点及山脊线、山谷线等构成地形特征点线,对地形具有很强的控制作用。因此,因此,对这些地形特征点、线的分析研究在数字地形分析中具有很重要的意义。同时,由于鞍部点的特殊地貌形态,是的鞍部点的提取方法较山顶点低谷底点更难,目前都还存在一定的技术局限性。
2、目的
利用水文分析的方法提取地形鞍部点;
通过多种GIS空间分析方法的应用,提高对知识的综合运用能力。
3、要求
利用水文分析模块和空间分析模块相应功能提取样区地形鞍部点。
4、数据
25m分辨率的DEM数据。
5、算法思想
鞍部具有独特的形态特征,可被认为是原始地形中的山脊和反地形中的山脊回合的地方,因此可通过提取正反地形的山脊线并求其交点,获得鞍部点,鞍部点的提取流程如下图所示。

6、操作步骤
(1)正地形、等高线和晕染图的提取
同山脊线和山谷线的提取一样,由于鞍部点的整体位置是处于山脊上的,需要提取正地形以过滤那些在负地形上的错误的点。正地形的提取方法为:先用焦点统计算出DEM的平均meandem,再使用栅格计算器计算平均meandem和dem的差值,使用重分类将其分为两级,分级界线为 0,将大于 0 的区域赋值为1(即为正地形),小于 0 的区域赋值为0,命名为zhengdixing;另一次将小于0的区域赋值为1(即为负地形),大于0的赋值为0,命名负地形。利用【Spatial Analyst】|【表面分析】|【等值线】和【Spatial Analyst】|【表面分析】|【山体阴影】分别提取样区等高距为40m的等高线数据ctour和样区的晕染图hillshade。


(2)山脊线的提取
山脊的提取与上述山脊线的提取一样。分别是进行洼地填充、水流方向提取、汇流累积量的计算、汇流累积量等于0的提取。

(3)反地形山脊(即山谷线)的提取
反地形山脊的提取与上述山谷线的提取过程完全相同。分别是基于原始DEM计算出反地形DEM数据(计算中是利用原始DEM减去3000);基于反地形DEM数据提取水流方向数据;基于水流方向数据进行汇流累积量的计算;提取汇流累积量为0的栅格。

(4)鞍部点的提取
I、利用【Spatial Analyst 工具】|【地图代数】|【栅格计算器】工具将提取出的山脊线数据和山谷线数据相乘,结果为鞍部区。


II、利用同样的方法将鞍部区和正地形相乘,就得到了鞍部点的栅格数据anbudian。

III、重分类鞍部点栅格数据,将所有0值赋为NODATA数据,属性为一的保持不变,得到Reanbudian。


IV、将栅格数据Reanbudian转换成矢量数据鞍部点,配合等高线和晕染图对矢量形式的鞍部点数据进行编辑,剔除那些处于样区边缘以及内部的伪鞍部点。


注意:这里山脊和反山脊的提取只需要提取到流量等于0的地方。
六、参考链接
(1)【GIS实验】山脊山谷鞍部提取
https://blog.csdn.net/rodericklr/article/details/140178675
(2)Arcgis中山脊线,山谷线的提取,以及流域的分割
https://blog.csdn.net/qq_40323256/article/details/90320180?spm=1001.2014.3001.5506
(3)用ArcGIS进行地形鞍部的提取方法
https://mp.weixin.qq.com/s?src=11×tamp=1728376536&ver=5553&signature=OXfhwKOoxl9PPfsQhgTvdB39LKuiILBcn4j*V36aHphQpssZJqxSB5hkZVKP9Jp0HkNULAa5X5Ms*YIvw9gK0laiUC7vgk8ahkurLAVtUVhf75fGU0XNpLjzkDhwV-Kg&new=1
相关文章:
【ARCGIS实验】地形特征线的提取
目录 一、提取不同位置的地形剖面线 二、将DEM转化为TIN 三、进行可视分析 四、进行山脊、山谷等特征线的提取 1、正负地形提取(用于校正) 2、山脊线提取 3、山谷线的提取 4、河网的提取 5、流域的分割 五、鞍部点的提取 1、背景 2、目的 3…...
HTML 基础标签——表格标签<table>
文章目录 1. `<table>` 标签:定义表格2. `<tr>` 标签:定义表格行3. `<th>` 标签:定义表头单元格4. `<td>` 标签:定义表格单元格5. `<caption>` 标签:为表格添加标题6. `<thead>` 标签:定义表格头部7. `<tbody>` 标签:定义表格…...
线程函数和线程启动的几种不同形式
线程函数和线程启动的几种不同形式 在C中,线程函数和线程启动可以通过多种形式实现。以下是几种常见的形式,并附有相应的示例代码。 1. 使用函数指针启动线程 最基本的方式是使用函数指针来启动线程。 示例代码: #include <iostream&g…...
数组排序简介-基数排序(Radix Sort)
基本思想 将整数按位数切割成不同的数字,然后从低位开始,依次到高位,逐位进行排序,从而达到排序的目的。 算法步骤 基数排序算法可以采用「最低位优先法(Least Significant Digit First)」或者「最高位优先…...
进程间通信(命名管道 共享内存)
文章目录 命名管道原理命令创建命名管道函数创建命名管道 共享内存原理shmgetFIOK 代码应用:premsnattch 命名管道 用于两个毫无关系的进程间的通信。 原理 Linux文件的路径是多叉树,故文件的路径是唯一的。 让内核缓冲区不用刷新到磁盘中,…...
Python 网络爬虫教程:从入门到高级的全面指南
Python 网络爬虫教程:从入门到高级的全面指南 引言 在信息爆炸的时代,网络爬虫(Web Scraping)成为了获取数据的重要工具。Python 以其简单易用的特性,成为了网络爬虫开发的首选语言。本文将详细介绍如何使用 Python …...
深度学习:正则化(Regularization)详细解释
正则化(Regularization)详细解释 正则化(Regularization)是机器学习和统计建模领域中用以防止模型过拟合同时增强模型泛化能力的一种技术。通过引入额外的约束或惩罚项到模型的损失函数中,正则化能够有效地限制模型的…...
Freertos学习日志(1)-基础知识
目录 1.什么是Freertos? 2.为什么要学习RTOS? 3.Freertos多任务处理的原理 1.什么是Freertos? RTOS,即(Real Time Operating System 实时操作系统),是一种体积小巧、确定性强的计算机操作系统…...
CentOS9 Stream 支持输入中文
CentOS9 Stream 支持输入中文 方法一:确保 gnome-control-center 和相关组件已更新方法二:手动添加输入法源配置方法三:配置 .xinputrc 文件方法四:检查语言包 进入centos9 stream后,点击右上角电源键,点击…...
基于向量检索的RAG大模型
一、什么是向量 向量是一种有大小和方向的数学对象。它可以表示为从一个点到另一个点的有向线段。例如,二维空间中的向量可以表示为 (𝑥,𝑦) ,表示从原点 (0,0)到点 (𝑥,𝑦)的有向线段。 1.1、文本向量 1…...
【力扣 + 牛客 | SQL题 | 每日5题】牛客SQL热题216,217,223
也在牛客力扣写了一百来题了,个人感觉力扣的SQL题要比牛客的高三档的难度。(普遍来说) 1. 牛客SQL热题216:统计各个部门的工资记录数 1.1 题目: 描述 有一个部门表departments简况如下: dept_nodept_named001Marke…...
Unity humanoid 模型头发动画失效问题
在上一篇【Unity实战笔记】第二十二 提到humanoid 模型会使原先的头发动画失效,如下图所示: 头发摆动的是generic模型和动画,不动的是humanoid模型和动画 一开始我是尝试过在模型Optimize Game objects手动添加缺失的头发骨骼的,奈…...
最全Kafka知识宝典之Kafka的基本使用
一、基本概念 传统上定义是一个分布式的基于发布/订阅模式的消息队列,主要应用在大数据实时处理场景,现在Kafka已经定义为一个分布式流平台,用于数据通道处理,数据流分析,数据集成和关键任务应用 必须了解的四个特性…...
机器学习中的数据可视化:常用库、单变量图与多变量图绘制方法
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...
CodeQL学习笔记(3)-QL语法(模块、变量、表达式、公式和注解)
最近在学习CodeQL,对于CodeQL就不介绍了,目前网上一搜一大把。本系列是学习CodeQL的个人学习笔记,根据个人知识库笔记修改整理而来的,分享出来共同学习。个人觉得QL的语法比较反人类,至少与目前主流的这些OOP语言相比&…...
代码随想录训练营Day11 | 226.翻转二叉树 - 101. 对称二叉树 - 104.二叉树的最大深度 - 111.二叉树的最小深度
226.翻转二叉树 题目链接:226.翻转二叉树思路:遍历二叉树,遍历的时候交换左右节点即可代码: TreeNode* invertTree(TreeNode* root) {reverse(root);return root;}// 迭代法,层序遍历void f2(TreeNode* root) {queue…...
“死鱼眼”,不存在的,一个提词小技巧,拯救的眼神——将内容说给用户,而非读给用户!
视频录制时,死鱼眼问题常见 即便内容再好,眼神死板也会减分 痛点真痛:拍视频时容易紧张 面对镜头,许多人难免紧张 神情僵硬,眼神无光,甚至忘词 这不仅影响表现,还让人难以专注 忘我场景&#x…...
深度学习在复杂系统中的应用
引言 复杂系统由多个相互作用的组成部分构成,这些部分之间的关系往往是非线性的,整体行为难以通过简单的线性组合来预测。这类系统广泛存在于生态学、气象学、经济学和社会科学等多个领域,具有动态演变、自组织、涌现现象以及多尺度与异质性…...
vue3图片懒加载
背景 界面很长,屏幕不能一下装下所有内容,如果以进入首页就把所有内容都加载完的话所需时间较长,会影响用户体验,所以可以当用户浏览到时再去加载。 代码 新建index.ts文件 src下新建directives文件夹,并新建Index…...
总结一些高级的SQL技巧
1. 窗口函数 窗函数允许在查询结果的每一行上进行计算,而不需要将数据分组。这使得我们可以计算累积总和、排名等。 SELECT employee_id,salary,RANK() OVER (ORDER BY salary DESC) AS salary_rank FROM employees;2. 公用表表达式 (CTE) CTE 提供了一种更清晰的…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
