路网双线合并单线——ArcGIS 解决方法

news2024/11/13 5:02:47

路网双线合并成单线是一个在地图制作、交通规划以及GIS分析中常见的需求。双线路网定义:具有不同流向、不同平面结构的道路。此外,车道数较多的道路(例如,双黄实线车道数大于4的道路)也可以视为双线路网,本文还是以广州市路网为例用于将路网双线合并成单线,本文通过ArcGIS来实现路网双线合并单线。

局部双线路网数据放大,可以看到大部分路网,特别是主干道是双线或者多线;

现有的ArcGIS软件双线转单线的通常做法都是,通过对OSM道路做缓冲区,导出地图为TIFF格式,通过栅格矢量化来解决,但是这个方法对于原始数据的属性信息丢失比较多,暂时没用通用性比较好的方法,但是本文稍微调整的一下方法,尽量保留了道路的类型信息;

方法思路

思路是把主干道、高速公路、次干道、支路这些信息分开tiff化,最后在进行合并。

首先打开属性表,选择路网类型字段,这里是''highway'',这里需要会一点sql,然后"highway" = 'motorway' OR"highway" = 'motorway_link',解释:路网类型选择为高速公路或者高速公路_连接段,其他类型是操作步骤一致;

高速公路或者高速公路_连接段选择结果如图,另存为新图层guangzhou_roads_motorway.shp,这样高速公路图层就剥离出来了,如法炮制其他几个类型路段;

我选了高速公路、主干道、次干道、干道、支路这五类道路进行双线转单线,如有需要可以进行增加细分道路类型;

接下来就是对路网进行分类做缓冲区;

对广州市的OSM道路道路做50米缓冲区;

这样就得到高速公路、主干道、次干道、干道、支路这五类对应缓冲区结果;

调整结果显示样式,将结果的填充颜色选择为黑色,轮廓颜色设置为无颜色;

点击【文件】——>【导出地图】——>导出类型选择tiff,勾选写入坐标文件,格式选择1位单色域;

点击【图层属性】——>【符号系统】——>【唯一值】;

到这一步你就有高速公路、主干道、次干道、干道、支路这五类道路类型的tiff了;

这里需要提前建好一个路网,要素类型选择折线,并处于编辑状态,这个很重要

这里有一个重点,也是流程无法继续进行的重灾区,【自定义】—>【扩展模块】,在弹出窗口选中ArcScan,在【自定义】—>【工具条】—>选中ArcScan;

这样基本上杜绝了ArcScan工具条呈灰色无法使用的现象发生;

点击【栅格捕捉选项】——>【显得预览】;

若有区域显示为蓝色,说明提取范围没有包含全部图层。此时,点击ArcScan工具条中——>【栅格捕捉选项】,调大最大宽度,再次——>【显示预览】,直至所有范围均显示为红色,一般区间50-80个像素也就够了,如果还有些蓝色的地方是孤立的线段,就不用在意;

再次点击【矢量化】——>【生成要素】,将缓冲区道路中心线生成到新建的折线图层中,这个id,勾选不勾选都可以;

处理的时候看清楚,需要一一对应;

这样我们就得到了高速公路、主干道、次干道、干道、支路这五类转好的单线图层;

打开我们拿到的line,随便打开一个打开属性表,选择【添加字段】,我这里增加了二个字段一个length(这里选择【计算几何】,计算长度,单位选择米,如果是灰色的,那就先定义一下投影),一个highway字段,分别计算路网长度,和将道路类型赋值给线段,然后右键已经添加的字段,选择【字段计算器】,这里选择Python,highway = '高速公路',其他的也一样;

至此路网合并完成,打开属性表,路网双线转为单线的同时,路网类型得到的区分,但是仍然会丢失路网名称等一系列信息,如果仍想进一步保留路网名称等信息可以参考我这篇文章,用的是ArcGISpro来进行处理:路网双线合并单线——ArcGISpro 解决方法-CSDN博客

文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1936118.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

appium自动化测试报错。

🏆本文收录于《CSDN问答解答》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&…

sip-URI的基本结构

sip-URI(sip Uniform Resource Identifier:会话初始协议统一资源标识符)的一般格式: sip:[userinfo]host[:port][;transporttcp|udp|tls|sctp][?parameters] sip: 协议标识符,表示这是一个SIP URI。userinfo&#x…

智慧煤矿:AI视频智能监管解决方案引领行业新变革

随着科技的飞速发展,人工智能(AI)技术已经渗透到各个行业,为传统产业的转型升级提供了强大的动力。在煤矿行业中,安全监管一直是一个重要的议题。为了提高煤矿的安全生产水平,降低事故发生率,智…

pytorch学习(八)Dataset加载分类数据集

我们之前用torchvision加载了pytorch的网络数据集,现在我们用Dataset加载自己的数据集,并且使用DataLoader做成训练数据集。 图像是从网上下载的,网址是 点这里,标签是图像文件夹名字。下载完成后作为自己的数据集。 1.加载自己…

基于纹理和统计图像特征集成的计算机辅助乳腺癌检测

诊断通常使用组织病理学切片,可以确定组织是否处于导管原位癌(DCIS)阶段,其中癌细胞尚未扩散到周围乳腺组织,或浸润性导管癌(IDC)阶段,其中细胞已渗透到邻近组织。对于医生来说,检测IDC非常耗时且具有挑战性。因此&…

搜集日志。

logstash 负责: 接收数据 input — 解析过滤并转换数据 filter(此插件可选) — 输出数据 output input — decode — filter — encode — output elasticsearch 查询和保存数据 Elasticsearch 去中心化集群 Data node 消耗大量 CPU、内存和 I/O 资源 分担一部分…

分布式搜索引擎ES-elasticsearch入门

1.分布式搜索引擎:luceneVS Solr VS Elasticsearch 什么是分布式搜索引擎 搜索引擎:数据源:数据库或者爬虫资源 分布式存储与搜索:多个节点组成的服务,提高扩展性(扩展成集群) 使用搜索引擎为搜索提供服务。可以从海量…

Linux下docker快速安装gitea

之前在服务器上装的gitlab来管理个人项目,但是gitlab服务启动后能明显感受到占用资源比较严重。最近服务器到期,换了个服务器还没来得及装gitlab,刚好最近接触到gitea,网上是这么说的 占用资源少,适合个人开发者&…

【数据结构】:时间和空间复杂度在这篇里面一点都不复杂

目录 如何衡量一个代码的好坏 时间复杂度 概念 计算方法 实例计算 【实例1】 【实例2】 【实例3】 【实例4】:冒泡排序的时间复杂度 【实例5】:二分查找的时间复杂度 【实例6】:阶乘递归的时间复杂度 【实例7】:斐波那契…

P3-AI产品经理-九五小庞

AI产品的数据流向 美团外卖,实时只能调度 美团28分钟送达需求的分析 AI产品常用的算法 常用算法 常见的AI算法解析 自然语言生成NLG语音识别:科大讯飞,通义千问 虚拟现实机器学习平台 决策管理系统生物特征识别技术 RPA(机器人流程自动…

百日筑基第二十五天-java开发程序员常犯的错总结

百日筑基第二十五天-java开发程序员常犯的错 一、将数组转换为ArrayList 要将数组转换为ArrayList&#xff0c;开发人员通常会这样做&#xff1a; List<String> list Arrays.asList(arr);**Arrays.asList()将返回 ArrayList私有静态类的 Arrays&#xff0c;而不是 ja…

《数据结构:栈和队列》

文章目录 一、栈1、概念与结构 二、栈的实现1、栈的结构和功能2、初始化栈3、入栈4、出栈5、判断栈是否为空6、取栈元素和栈有效个数7、销毁栈 三、队列1、概念与结构 四、队列的实现1、队列的实现结构和功能2、队列初始化3、入队列4、判断队列是否为空5、出队列6、取队头/队尾…

WPF+Mvvm 项目入门完整教程(一)

WPF+Mvvm 入门完整教程一 创建项目MvvmLight框架安装完善整个项目的目录结构创建自定义的字体资源下载更新和使用字体资源创建项目 打开VS2022,点击创建新项目,选择**WPF应用(.NET Framework)** 创建一个名称为 CommonProject_DeskTop 的项目,如下图所示:MvvmLight框架安装…

C++基础语法:STL之容器(5)--序列容器中的list(二)

前言 "打牢基础,万事不愁" .C的基础语法的学习 引入 序列容器的学习.以<C Prime Plus> 6th Edition(以下称"本书")内容理解 本书中容器内容不多只有几页.最好是有数据结构方面的知识积累,如果没有在学的同时补上 接上一篇C基础语法:STL之容器…

自己用vps起网页(用于测试题目回显)

0x01 首先要有一台vps&#xff0c;这里我推荐dk盾 base64 UVGkGjcyNzA3NzA1NQ0x02 那么我们就可以进行环境的配置了 我是选择的nginx&#xff0c;因为挺好用的吧&#xff0c;各方面参数也还行 我是使用的Ubuntu 的vps所以下面的命令也只有Ubuntu可以使用sudo apt updatesu…

<Rust>egui部件学习:如何在egui窗口中添加按钮button以及标签label部件?

前言 本专栏是关于Rust的GUI库egui的部件讲解及应用实例分析&#xff0c;主要讲解egui的源代码、部件属性、如何应用。 环境配置 系统&#xff1a;windows 平台&#xff1a;visual studio code 语言&#xff1a;rust 库&#xff1a;egui、eframe 概述 本文是本专栏的第二篇博…

15. 【C++】详解搜索二叉树 | KV模型

目录 1.定义 初始化 插入 查找 删除 完整代码 2.运用 K 模型和 KV 模型详解 K 模型 KV 模型 代码解释 为了更好地理解 map 和 set 的特性&#xff0c;和后面讲解查找效率极高的平衡搜索二叉树&#xff0c;和红黑树去实现模拟&#xff0c;所以决定在这里对搜索二叉树…

基于asp.net小区物业信息管理系统设计与实现

博主介绍&#xff1a;专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的可以…

【机器学习】使用Python的dlib库实现人脸识别技术

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、引言二、传统人脸识别技术1. 基于几何特征的方法2. 基于模板匹配的方法3. 基于统计学习的方法 三、深度学习在脸识别中的应用1. 卷积神经网络&#xff08;CNN&#xff09;2. FaceNet和ArcFace 四、使用Python和dlib库实…

辅助类BigDecima/BigInteger

** 大数据的运算** 编号1方法解释1add2subtract-3multiply*4divide/