ArcGIS水文分析实战教程(18) 河段桩号与线性参考

2023-11-19

ArcGIS水文分析实战教程(18) 河段桩号与线性参考

本章导读:在很多线性要素的应用中,桩号扮演着非常重要的角色。例如高速公路,使用桩号可以快速的描述某个事件在该路段的大概位置。同样是线性要素的河流,也可以加入桩号进行管理,作为河岸开发、水质事件、应急策略等管理手段。线性参考则用来描述事件发生的准确地点及线性区间范围,并映射到地图具体的线位置中。桩号与线性参考配合使用,使得传统的语言描述直接作用到地图图形表达中,方便从传统管理模式向 GIS 模式无缝过渡。 BY 李远祥

河段桩号

桩号最常见的是在高速公路上,如果细心一点,可以在高速公路的边上可以看到每隔一段距离出现一个小的水泥桩,上面标有数值,这就是桩号。桩号的作用就是将一个非常长的线要素,按照一定的规律(大多数情况是相同的距离间隔)进行分段和立桩,并标出每个桩的标号或距起点的距离。例如高速路上的千米路桩、五百米路桩等。它的好处在于方便描述具体位置,例如高速上某一处出现了交通事故,在事故现场不管是车主还是交警,对同一事故的位置描述都非常统一,“在XX高速,XX米附件发生了XXXX的交通事故”。对于指挥大队后台,同样可以通过描述的路桩位置,定位到事故附件,并调取附件的摄像头或资源进行救援。因为路桩相对比较密集和有规律,容易起到参考作用。

桩号可以是实实在在的一个水泥桩,也可以是一个虚拟的点坐标,它是一种极具描述性的方式。

道路由于主体还是在城市,因此可以参考的地理目标有很多。但河流就不一样了,虽然城市内也有河流,但是大部分的河流还是偏于野外,无法从人工建造物进行参考。这样,无论是群众报告的事件还是水利管理单位进行整体河流管理,都比较困难。引入桩号,基本上能够解决对于河段位置描述的位置问题。当然它并不准确,但起码能够让各方达到缩小描述范围的目的。

目前全国都在开展河长制工作,基本上每一条河流(叫河段更为合适)都有一个“河长”与之对应。“河长”是代表的是行政区划的负责人,而每个河长负责都河段都在其所管辖的行政区划内。将一条跨越多个行政区的河流,按照行政边界划分为多个河段,并制定“河长”,是目前最常用的做法。河流打断为河段的做法虽然简单粗暴,但是别忘记“河长”是有级别的,上一级河长要管理的是下一级多个河长对应的河段。那么,光是靠行政区进行河流分段的话,就需要在多个不同级别的行政区进行多次划分。这种做法相对来说比较麻烦。

其实可以参考高速公路的做法,给河流立桩。以最小一级行政单位(例如村)进行立桩,每一级的的“河长”给定起点桩号和终止桩号,就能确定其对应负责的河段。 有了桩号之后,就不需要根据不同的行政级别重新打断河段了。各级“河长”对于负责的河段,不需要直接对应图形,而是在传统的表格中记录其负责河段的起始和终结桩号。

要引入桩号进行管理,必须满足以下几个条件:

  • 必须严格定义河流。河流图形必须是单线,而不能是开叉的两条或多条线组成。开叉的两条线或多条线,必须定义为多条河流。

  • 河流必须具有正确的流向。这样便于从桩号上表达清楚上下游关系。

  • 必须具备标识河流的字段值。如果河流已经被划分为多个河段,河段必须是相接的,并且有唯一的字段值将多个河段标识为同一条河流。

下图是已经被划分了多个河段的两条河流的具体情况,通过箭头来表达其流向。
河流流向

对于每个河段,具备名称或者 ID 字段来标识属于同一条河流。
河流标识字段

要实现桩号的顺序排布,首先需要清楚每一个河段在河流中的顺序。如果河段一开始是经过行政区划边界打断得来的,那么这些河段的顺序将会完全乱掉。

为了解决这个问题,笔者特意通过 Python 写了一个工具,首先重新排布每一个河段,并在河段的终点处插入一个点作为桩,桩的值就算河流起点到该点的长度。这样就可以完成以行政区界作打断河流插入桩号值了。
桩号生成工具

工具的使用也是必须满足前面所说的几个条件。其中必须具备一个能够标识河流的字段。再来看生成结果,在每一个河段的终点插入一个桩,并计算这个桩的河流长度。
重新计算河段距离

通过标注,可以看到每一个桩号按照顺序和河流长度进行了排布。
显示桩号的实际距离

如果希望使用桩号的方式来管理更加精细一些,那么建议还是在生成河段桩号的基础上再增加桩号的密度,这样参考性更强一些。毕竟河段的桩号只是针对行政边界进行划分,如果行政边区范围比较大的话,两个点很难描述清楚具体的位置。但它肯定能描述清楚事件发生在哪个河段。

河流的线性参考

ArcGIS 的线性参考技术一般用于动态分段,在同一线段下按照不同的用途进行不同区间的划分。关于线性参考的相关观念,可以去查看 ArcMap 自带的中文帮助。这里放一张经典的截图,基本上能够清楚线性参考的作用。同一段路按照车道、材料、速度和质量进行不同用途的划分。这些划分都是通过对距离起点的距离进行描述性的定义。
线性参考概念
河流的线性参考与之一样,只不过是将道路换成了河流。定义的划分一般都是按照流域、行政区、水质、水功能区等进行分段。
河流线性参考

河流的线性参考同样需要满足类似的三个条件:

  • 河流必须具备正确的流向。
  • 河段必须有标识河流的字段。
  • 必须有事件表(划分的依据)生成分段。

在 ArcMap 中带有线性参考的分析工具,可以快速的生成路径、事件图层等。使用线性参考的一般步骤为:

  1. 针对河段生成【路径】
  2. 定义河流的各种事件或者划分依据
  3. 生成事件河段
  4. 对划分的结果进行地图渲染

创建路径的目的是合并同一河流的多个河段,让后面所有的事件都能依附在一个具有相同起点和终点的河流上进行统一描述。因此,河段必须具备标识河流的字段值。如下图所示:
生成路径工具

定义各种的事件或用途,这就是线性参考的优势,利用位置描述或者区间描述,能够直接作用在河流线上,实现具体地点或者具体河流段的划分。如下图,在一个表格中定义各种功能的划分:
河流事件表

结合河流桩号,可以更加细致的对这些区间位置进行描述。所以,在现实操作中,桩号一般会跟线性参考同在(阿门)。

利用【创建路径事件图层】工具,就可以将事件直接作用在河流上。时间的类型可以是线的,也可以是点的事件。事件表的描述越准确,定位的位置就越准确。
创建事件图层

在生成【事件图层】之后,实际上就是这一次分段的结果。通过使用地图符号去表达其范围。
事件结果表达

本章总结

线性参考的引入,很大程度上是将人类描述语言带入到地图当中,让口述的一个事件轻松的落在具体的位置范围内。由于描述需要一定的参考,因此加入桩号进行辅助表达,是一种非常有效的方式。
通过线性参考划分的不同河段,反应的是河流的不同功能和用途。河流的上下游分析的结果再与不同的事件图层进行叠加分析,这样可以挖掘出更多的水文规律。

更多的GIS主流和非主流技术,可以持续关注CSDN的GIS制图乐园,以及微信公众号【GIS制图乐园】。BY 李远祥

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ArcGIS水文分析实战教程(18) 河段桩号与线性参考 的相关文章

随机推荐

  • 设计模式 -- 工厂模式(Factory Pattern)

    简单工厂模式 Simple Factory Pattern 根据传入的参数决定实例化哪个对象 优点 不直接在客户端创建具体产品的实例 降低了耦合性 缺点 违反了开闭原则 对扩展开放 对修改关闭 不容易形成高内聚松耦合结构 每当我们增加一种产
  • 10个程序员可以接私活的平台和一些建议!

    来源 http mrw so 5isQLi 什么样的私活不能接 1 没有第三方担保的个人对个人的尽量不要接 双方都没保障 出了问题很大的可能撕破脸皮不了了之 2 一上来就直接说给我开发一个什么软件 不说具体需求 没有需求文档的都不靠谱 这样
  • zotero如何用markdown记笔记

    1 去下载 Releases adam p markdown here GitHub 拖拽到 2 ctrl alt M对笔记进行渲染
  • 【华为OD机试真题2023B卷 JAVA&JS】字符串加密

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 字符串加密 时间限制 2秒 内存限制 65536K 语言限制 不限 题目描述 给你一串未加密的字符串str 通过对字符串的每一个字母进行改变来实现加密 加密方式是在每一个字母str i
  • Altium Designer覆铜后变为绿色是怎么回事?

    最近在做一个小板子 但是覆完铜后也把网络设置为GND 但是板子变绿色了 之前没有碰到过 也查过想过资料说是规则设置有问题 找了半天也没有发现规则相关问题 最后终于找到了解决方法 我把步骤写在下面 出现的问题如图所示 不知道你们有没有碰到这样
  • wx.config的时候总是报错63002是什么原因,配置时总是 invalid signature

    真的是真的是 我都弄的崩溃了差点 卡了三天的问题 各种留言各种找人还是不行 为了不再让各位体验那种感觉 zkhh666我的wx 首先说 我用的hbuilderx的uni做的 使用了推荐的插件jweixin module ps 我的问题是ur
  • PostgreSQL 关于Jsonb字段的处理详解(长期更)

    大家好 在开发的过程中由于业务复杂多变 普通的字符串格式满足不了业务开发需求 可能会用到jsonb字段去处理格外逻辑的业务 话不多说 1 一般jsonb存储的逻辑是 一个字段里面存储多条数据 以id为存储对象举例 该jsonb字段中存储的多
  • 参考文献格式GB/T 7714-2015的主要内容

    格式 主要责任者 题名 其他题名信息 文献类型标志 其他责任者 版本项 出版地 出版者 出版年 引文页码 引用日期 获取和访问路径 示例 1 余敏 出版集体研究 M 北京 中国书籍出版社 2001 179 193 2 昂温 G 昂温 P S
  • 八种点云聚类方法(一)— DBSCAN

    本文为博主原创文章 未经博主允许不得转载 本文为专栏 python三维点云从基础到深度学习 系列文章 地址为 https blog csdn net suiyingy article details 124017716 传统机器学习聚类的方
  • 步步学ACTIVEX网页控件开发

    本文将首先介绍如何使用Visual Studio开发一个简单的ActiveX控件 然后介绍ActiveX控件开发相关的基础知识 比如方法 属性和事件等 最后介绍如何利用这些知识 实现ActiveX控件和网页页面之间的 通信 MyActive
  • 【java面试常见2】

    文章目录 1 返回json串要加什么注解 2 RestController包含了什么注解 3 docker拉取镜像 4 springMVC的相关注解 5 vue框架和HTML有什么区别 为什么要使用vue 6 从Mysql中随机获取数据用什
  • untiy特殊文件夹

    1 Editor Editor文件夹可以在根目录下 也可以在子目录里 只要名子叫Editor就可以 比如目录 xxx xxx Editor 和 Editor 是一样的 无论多少个叫Editor的文件夹都可以 Editor下面放的所有资源文件
  • Windows挂载Linux网络共享文件夹

    Windows挂载Linux网络共享文件夹 创建Linux网络共享文件夹 用共享工具samba Ubuntu安装samba sudo apt install samba 配置Windows访问共享文件夹的账户 smbpasswd a riv
  • www.gvlib video.php,www.gvlib.com

    Domain Name gvlib com Registrar URL http www godaddy com Registrant Name Bin Song Registrant Organization Name Server NS
  • 13. linux系统监控

    系统监控 proc文件系统 proc文件系统是一种无存储的文件系统 当读其中的文件时 其内容动态 生成 当写文件时 文件所关联的写函数被调用 每个proc文件都关联着 字节特定的读写函数 因而它提供了另外的一种和内核通信的机制 内核 部件可
  • Dlib的编译

    有2种方法 1 新建空的工程 导入后编译 2 采用CMake自动生成工程文件后 再编译 官网上建议第1种方法 第1种方法好处就是编译后 在使用lib文件时 不需要将libjpeg libpng and zlib目录下的文件导入到工程文件中
  • 1.3>7?微软新模型“以小博大”战胜Llama2,网友:用Benchmark训练的吧?

    克雷西 发自 凹非寺量子位 公众号 QbitAI 一个参数量只有1 3B的大模型 为何引发了全网热议 原来虽然参数量不大 但效果已经超过了拥有7B参数的Llama2 这个 四两拨千斤 的模型 是来自微软最新的研究成果 核心在于只使用少量高质
  • vue2侦听器watch的概念与使用

    1 什么是watch侦听器 watch侦听器允许开发者监视数据的变化 是 vue 提供的一种用来观察和响应实例上数据变化的属性 属性发生变化 便会触发对应的监听函数 侦听器 watch 实际上是 vue 实例中的一个对象属性 语法格式如下
  • IUnknown—COM和MFC

    转自 http hi baidu com zhangqiuxi blog item 6d9603ad9c8fe5084b36d6a0 html 问题 我用MFC编写COM程序有一段时间了 知道如何使用宏和嵌套类 以及如何在嵌套类中处理IUn
  • ArcGIS水文分析实战教程(18) 河段桩号与线性参考

    ArcGIS水文分析实战教程 18 河段桩号与线性参考 本章导读 在很多线性要素的应用中 桩号扮演着非常重要的角色 例如高速公路 使用桩号可以快速的描述某个事件在该路段的大概位置 同样是线性要素的河流 也可以加入桩号进行管理 作为河岸开发