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

ArcGIS 软件中路网数据的制作

内容导读

路网数据是进行网络分析的基础,它是建立网络数据集的数据来源。

本文我们以OSM路网数据为例,详细介绍OSM路网数据从下载,到数据处理,添加属性,完成符合网络分析的网络数据集的全部过程。

01

数据获取

比较全面的路网数据一般有两个渠道,一个是交通运输部门(会包含隧道、桥梁等等非公开数据,一般不会对外提供),一个是图商(有偿,脱密的路网或者导航数据)。

除此之外免费,并且能够在互联网上找到的公开的路网数据可以参考以下连接

https://zhuanlan.zhihu.com/p/493135621

但是国内数据都不太多,就连Esri自己提供的数据(https://www.arcgis.com/home/item.html?id=83535020ce154bd5a498957c159e3a99)其中的国内数据也很少,一般都只有高速和国道级别,时效性也都不太能保证,而且不少数据都没有名称等等基本属性。

使用上述链接中获取的数据,可以做世界范围、或者洲际、国家级别的相关分析。

另外我们还可以在自然资源部提供的全国地理信息资源目录服务系统:

https://www.webmap.cn/main.do?method=index

在该服务系统下载1:25万矢量地图数据,从中提取路网数据,这个系统中的数据包含名称、国标码、等级等等属性,信息准确,同时数据基本都是当年或者是前一年的,时效性上可以得到保证。在分析时,极大地节省了数据处理和准备的时间。

图1  全国地理信息资源目录服务系统数据格式

但是受到比例尺限制,提供的道路的等级一般都比较高。

所以这类数据更适合做城际之间,省际之间的成本矩阵、导航类分析等等,对成本的精度要求不是特别高的网络分析。

PS:ArcGIS Pro中还提供了对GTFS数据(谷歌通用公共交通信息数据标准)转换的工具。但是这个格式的数据公开少,国内几乎都是爱好者自己做的,不好获取到。

如果想要获取开源的城市内部的道路信息,更加推荐使用OpenStreetMap网站(以下简称OSM)的数据。OpenStreetMap网站提供免费开源、可编辑的地图服务,它允许用户自己上传采集到的数据,并提供数据下载。这些数据不仅包括兴趣点、水系、管线、铁路、境界,还包含了一些低等级的乡道、公园道路、步行道,与上述其他资源相比,道路信息和类型更加全面(不同城市的道路详尽程度不同)。

特别注意:OSM中国界线有问题,如果下载了OSM数据要用到国界线时,一定要甄别。

OSM又有很多的下载方式,可以参考:

https://blog.csdn.net/weixin_38233769/article/details/109755046

OSM中提供了直接下载shapefile格式的数据功能,shapefile是ArcGIS 系列软件原始支持的矢量数据格式。

经过比较,个人觉得下载pbf的速度会更快,包含的属性信息更多,可以借助QGIS软件将pbf格式转换到shapefile。

但是上述连接中提供的工具可能会遇到shapefile文件中文属性有乱码(可以通过修改ArcMap注册表修改),或者没有类似的符号化效果等等问题。

因为我们最终目的是要在ArcGIS 桌面软件中处理并分析路网数据。所以考虑使用插件ArcGIS Editor for OSM  10.X Desktop工具,以下简称OSM编辑器,这是个ArcMap的免费开源附加组件,专门用来下载、处理OSM数据的。

下载地址如下:

https://www.esri.com/en-us/arcgis/products/arcgis-editor-for-openstreetmap

这个工具有以下两个优势:

  • 自动转换OSM数据并将其存储在文件地理数据库GDB中。能执行各种各样的地理处理分析。

  • 支持ArcGIS for Desktop 10.3, 10.4, 10.5, 10.6, 10.7 or 10.8

    图2 OSM编辑器工具

    安装后,启动ArcMap,会在目录浏览窗口中的系统工具箱下看到一个“OpenStreetMap工具箱”。工具箱中会有多个工具,可以加载、编辑.osm文件和下载OSM数据,应用符号系统,可以将编辑更改回发到OSM,并根据OSM数据创建网络数据集。有关如何使用这些工具的信息,请参阅文档。

    图3 OpenStreetMap工具箱

    可以选择使用Download OSM Data或者Download,Extract and Symbolize OSM Data工具来下载数据并保存在GDB中。Download OSM Data工具下载的全类线要素都在一个要素类中,包含公路、铁路、水系、境界等等。

    Download,Extract and Symbolize OSM Data工具则可以按照要素类别直接分层显示并支持按照OSM Web地图风格进行符号化。同时支持将Tags属性,也就是一些补充说明信息放到单独的属性字段中(例如oneway\public_transport等等)这些字段在我们后续制作网络数据集时,会很有用。

    推荐使用Download,Extract and Symbolize OSM Data工具。

    需要注意

    1)工具运行之前,需要将后台关闭,在前台运行方便查看当前工具运行状态及错误信息。(地理处理工具中的地理处理选项)

    图4 关闭后台处理

    2)工具中将会限制下载的范围只能包括50000个数据节点

    所以使用工具的时候,还要看研究的城市的规模,例如一线城市可能50000个节点,就只能下载一个小范围,这样就需要多下载几次然后拼接。但是二三线城市中心城区可能一次下载就搞定了。

    下载过程中还需要符号化和格式转化,所以时间可能比较长。

    图5 Download,Extract and Symbolize OSM Data工具处理时长

     

    图6 下载后的数据在Arcmap中的效果

    02

    数据梳理

    数据下载完成后,在内容列表中会看到OSM GroupLayer图层组。

    图7 OSM GroupLayer图层组

    包括点、线和面图层组(本质上仍然是点、线、面三个要素类,将要素类使用定义查询的方式设置为图层组)。点图层组包括多种类型兴趣点。线包括管线、境界、道路、铁路、水系等等数据,面图层组则代表水域、空域、建筑等等。

    交通路网主要用到线图层组中的道路线和地铁,我们可以新建一个要素数据集(为后续的网络数据集做准备),将用到的几个要素类都导入进去。本示例中我们只用了Highway(Lines)。如果所在城市有地铁数据,还可以将Railway(Lines)中的subway导出。OSM数据默认是WGS 84坐标系。在做网络分析时,我们大部分都将计算其距离长度,一般都会用到公里或者米的单位,所以建议将数据投影变换到必要的投影坐标系。例如CGCS2000  6度或3度带投影,或者web墨卡托。

    然后再打开导入到新建数据集中道路图层并查看其字段。

    字段介绍

    道路图层的字段比较多,我们这里保留字段中有内容的,其他的直接删除。(遇到无法删除的情况,可以先转为shapefile)

    重点保留highway(道路类型)\OSM_name(道路名称)\OSM_oneway(是否单行)\ osm_bridge(立交桥)\OSM_lanes(车道数量)\max_speed(限速)\ osm_maxheight(限高)

    来重点看一下highway字段,字段中会有多个类型。

    图8 highway字段类型

    可以结合这个类型表格,理解当前的道路数据。可以考虑删除非必要的数据。假如这里我们要做的是基于车辆行驶的解决方案。那么步行街道、台阶踏步这类数据就可以直接删除。

    补充名称属性

    OSM中数据的属性都是不同用户提交上来的,如果我们后续在分析时,确实需要用到名称,可以结合手头资料对名称进行补充,或者可以给同类型的数据进行顺序编号重命名。

    给同类型的数据进行顺序编号重命名方法如下:

    1)首先选中osm_name为空且是highway的某一类数据

    图9 提取OSM中无名称数据

    2)使用Python代码,给选中的数据赋值

    代码如下:

    
    step=0
    def autoIncrement():global step,codepStart = 1 pInterval = 1if (step == 0): step = pStart else: step = step + pInterval code=str(step)return code

图10 顺序编号重命名

03

矢量化方向检查

检查路网数据的矢量化方向。观察地图视图中的数据,首先使用箭头居中符号渲染道路,显示路网数据的矢量化方向。

观察数据,会发现高等级的道路,比如primary、secondary这些数据,同一个段道路使用了两个线要素来表示,这两个线要素的方向正好相反。低等级的道路,则是使用一个线要素来表示。

这里我们需要检查一下高等级的道路矢量化方向与真正的车辆行驶的方向是否一致。

不一致的地方需要使用编辑工具,修改线的方向。

打开编辑器,双击需要翻转的线要素,右键选择翻转即可。

图11 翻转线方向

一般OSM中的数据这个问题不多。

04

连通性

ArcGIS中基于路网数据的分析都是依靠网络数据集来完成的。网络数据集由源要素组成。源要素包括网络边(也叫做边),交汇点和转弯三类数据。具体的介绍可以参考

https://ke.qq.com/course/5182451/13760697264444403关于网络数据集源数据设置的视频。

本例中我们只收集到了可以构建边要素的线数据。

为了构建网络数据集,我们还需要检查道路的连接方式,也就是连通性。

边要素的连通可以分为端点连通和节点连通。

端点是指线数据的起点和终点,任意节点则是指创建要素时所有的特征点。

如果设置了端点连通,则网络边只在线要素的端点处连通。它比较适合于构建交叉式的对象模型。如下图右图所示,东西道路和桥梁是连通的。南北道路和桥梁就是不连通的了。

图12 端点连通

如果设置了任意节点连通,线要素将在重合的节点部分拆分成为多个网络边要素。这种更适合于构建街道的数据,使得街道和其他的街道相交。如下图右图所示。

图13 任意节点连通

所以我们需要借助已有资料(立交桥、涵洞,转弯信息),依次检查道路的连通方式。在路网数据量比较大的情况下,为了减少工作量,我们可以:

1)先将所有的道路数据在相交处打断,形成端点连通的情况,可以使用高级编辑工具栏中的打断相交线工具。

图14 打断相交线

2)针对特殊道路中情况(立交桥等)将数据断开的合并。

3)另外,还需要考虑高程连通的情形。OSM道路数据本身没有带Z值属性,这里我们可以增加一个高程字段,用来表示高度级别。

这个属性来自立交桥、涵洞、隧道、过街天桥等等。我们可以借助已有的bridge等等字段并借助互联网地图中的立交桥效果来设置。

比如简单的立交桥:

图15 多层立交桥

这个立交桥共有三层,分别是东西向一层、南北向二层、东西向三层。可以分别赋予这三类要素的高程属性为0,1,2。

如果是复杂的立交桥,就需要结合立交桥的高度和汇入汇出方向判断其层级。

05

判断单行道

其中网络边要素是指路网数据中的线要素的两个方向,一个是沿着矢量化方向,一个是与矢量化方向相反的边要素,这两个边要素除了方向之外,还有可能其他属性不一致,例如通行的时间。

图16 边要素与线要素对应关系(同一位置)

在实际应用时,需要考虑几种情况。

1)实际获取到路网数据中的线要素等级比较低,使用一个线要素表示道路的双向。但是类似胡同这样的小的道路,可能本身就是单行的。也就是说线要素对应的一个边要素是无效的。

图17 单行道1

2)实际获取到路网数据中的线要素等级比较高,使用两个线要素表示道路的双向。例如高速路,使用两个线要素也就是4个边要素来表示一段路,显然线要素对应的一个边要素也是无效的。

图18 单行道2

等等类似的问题,遇到上述情况,我们首先需要判断获取到的路网数据中线要素是双向还是单向。其次是矢量化方向与实际单行方向一致还是矢量化方向与实际单行方向相反。

可以添加FT(From-To字段)。字段中属性分为三种。一种为NULL,也就是默认为空,表示线要素双向,第二种是YES,表明单行道与矢量化方向一致,第三种是No,表明单行道与矢量化方向相反。

OSM数据中的OSM_oneway字段,表示道路是否为单行道(内容为空或者yes),这里大部分的单行道与矢量化方向都是一致的。

06

添加其他属性字段

道路等级

网络数据集中还可以设置等级信息。等级是指分配给网络元素的次序或者是级别。在跨越大型网络求解分析时,使用等级能够提升分析效率计算。例如城际、省际之间的网络分析。

按照《1:10000(1:5000)基础地理信息地形要素数据规范》要求,道路可以分为国道、高速公路、快速、省道、县道、乡道、轨道交通等等(这里我们只考虑公路情况),可以使用规范中的道路类型来设置等级。网络数据集中的等级是一个整数字段。

所以需要将OSM数据中的类型与规范对应。

OSM数据的类型标准与规范差别较大,不太好对应,这里我们就简单的按照下列表格进行对照。

等级

道路类型

Type

1

高速公路

trunk、motorway

2

快速路/国道

primary

3

省道

secondary

4

县道

residential、service、tertiary

5

乡道

track

6

人行道

bridleway、footway、path、pedestrian

同样需要注意,Type属性信息并不准确,在完成了等级、道路类型以及type字段的对应之后,还需要结合互联网电子地图数据或者其他渠道,对数据进行检查,将道路类型有误的道路进行纠正。

时间成本

OSM数据中提供了maxspeed最大时速字段,我们可以直接使用道路长度shape_length/maxspeed 获得大致的通行时间。

如果没有maxspeed字段,我们也可以根据道路等级,获得常用的限速信息,再使用道路长度/限速信息也可以。

核心Python代码如下:


def traveltime(leixing,length):if (leixing=="高速"):return length/1000/120elif (leixing=="快速路"):return length/1000/80elif (leixing=="省道"):return length/1000/60elif (leixing=="县道"):return length/1000/40elif (leixing=="乡镇道路"):return length/1000/30elif (leixing=="人行道"):return length/1000/10

07

总结

1.数据来源五花八门,可能遇到的问题也不一样,大概的过程中这几步都完成之后,简单的网络分析就可以实现,并且保证一定的准确度。

2.数据准备阶段最好把数据都处理好,然后再创建网络数据集。

在网络数据集中也可以修改几何和属性,但是几何修改部分可能出现问题,所以尽量是保证处理好的数据备份,然后再构建网络数据集,如果出现问题,可以重新创建新的网络数据集。

相关文章:

ArcGIS 软件中路网数据的制作

内容导读 路网数据是进行网络分析的基础,它是建立网络数据集的数据来源。 本文我们以OSM路网数据为例,详细介绍OSM路网数据从下载,到数据处理,添加属性,完成符合网络分析的网络数据集的全部过程。 01 数据获取 比较…...

Milvus 2.5:全文检索上线,标量过滤提速,易用性再突破!

01. 概览 我们很高兴为大家带来 Milvus 2.5 最新版本的介绍。 在 Milvus 2.5 里,最重要的一个更新是我们带来了“全新”的全文检索能力,之所以说“全新”主要是基于以下两点: 第一,对于全文检索基于的 BM25 算法,我们采…...

Windows常用DOS指令(附案例)

文章目录 1.dir 查看当前目录2.cd 进入指定目录3.md 创建指定目录4.cd> 创建指定文件5.rd 删除指定空目录6.del 删除指定文件7.copy 复制文件8.xcopy 批量复制9.ren 改名10.type 在命令行空窗口打开文件11.cls 清空DOS命令窗口12.chkdsk 检查磁盘使用情况13.time 显示和设置…...

搜索二维矩阵 II(java)

题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 代码思路: 用暴力算法: class Solution {public boolean searchMatrix(…...

Webpack 的构建流程

Webpack 的构建流程可以概括为以下几个步骤: 1. 初始化: Webpack 读取配置文件(webpack.config.js),合并默认配置和命令行参数,初始化Compiler对象。 2. 构建依赖图: 从入口文件开始递归地分…...

Kylin Server V10 下 RocketMQ 主备自动切换模式部署

一、NameServer简介 NameServer 是一个注册中心,提供服务注册和服务发现的功能。NameServer 可以集群部署,集群中每个节点都是对等的关系,节点之间互不通信。 服务注册 Broker 启动的时候会向所有的 NameServer 节点进行注册,注意这里是向集群中所有的 NameServer 节点注册…...

Linux启动中出现“psi: inconsistent task state!”错误可能原因

在Linux系统中,psi: inconsistent task state! 异常日志通常与 PSI(Pressure Stall Information)相关。PSI 是 Linux 内核中的一个特性,用于监控系统资源的压力情况,如 CPU、内存和 I/O 等。该日志信息表明在处理任务状…...

FCBP 认证考试要点摘要

理论知识 数据处理与分析:包括数据的收集、清洗、转换、存储等基础操作,以及数据分析方法,如描述性统计分析、相关性分析、数据挖掘算法等的理解和应用 。数据可视化:涉及图表类型的选择与应用,如柱状图、折线图、饼图…...

ubuntu防火墙入门(一)——设置服务、关闭端口

本机想通过git clone gitgithub.com:skumra/robotic-grasping.git下载代码,firewall-config中需要为当前区域的防火墙开启SSH服务吗 是的,如果你想通过 git clone gitgithub.com:skumra/robotic-grasping.git 使用 SSH 协议从 GitHub 下载代码&#xff0…...

yt6801 ubuntu有线连接驱动安装

耀世16pro的有线网卡驱动安装 下载地址: YT6801 千兆PCIE以太网控制器芯片 1. 创建安装目录 mkdir yt68012. 解压驱动文件 unzip yt6801-linux-driver-1.0.27.zip -d yt68013. 进入驱动目录 cd yt68014. 安装驱动 以 root 权限运行安装脚本: sudo su ./yt_ni…...

ASP.NET Core Web API 控制器

文章目录 一、基类:ControllerBase二、API 控制器类属性三、使用 Get() 方法提供天气预报结果 在深入探讨如何编写自己的 PizzaController 类之前,让我们先看一下 WeatherController 示例中的代码,了解它的工作原理。 在本单元中,…...

【论文笔记】Tool Learning with Foundation Models 论文笔记

Tool Learning with Foundation Models 论文笔记 文章目录 Tool Learning with Foundation Models 论文笔记摘要背景:工作: 引言工具学习的发展本文工作(大纲&目录) 背景2.1 工具使用的认知起源2.2 工具分类:用户界…...

STM32 + CubeMX + 串口 + IAP升级

这篇文章分享一个简单的串口IAP Demo,实现使用串口更新我们自己的App程序。 目录 一、IAP简介二、Stm32CubeMx配置三、Boot代码及配置1、代码2、配置 四、App代码及配置1、代码2、配置 五、效果展示 一、IAP简介 IAP介绍可以在网上找找,相关资料很多&am…...

Oracle-—系统包使用

文章目录 系统包dbms_redefinition 系统包 dbms_redefinition 功能介绍:该包体可以实现将Oracle库下的表在线改为分区结构或者重新定义; 说明:在检查表是否可以重定义和开始重定义的过程中,按照表是否存在主键,参数 o…...

使用Hugo和GitHub Pages创建静态网站个人博客

不需要服务器,不需要域名,不需要数据库,可以选择模版,内容为Markdown格式。 Hugo:https://gohugo.io 文档:https://gohugo.io/getting-started/quick-start/ 中文文档:https://www.gohugo.or…...

群晖系统证书延期

群晖系统默认证书过期了 接下来操作续期证书 一直下一步会让下载一个压缩包里面包含私钥和签发证书请求 下载后解压出来 在群晖里用证书续期 对以前的证书签署签发请求 选择刚刚解压出来的证书 执行完成后会下载一个压缩包,解压出来就会得到新证书 给群晖新增证书 选…...

android shader gl_Position是几个分量

在Android的OpenGL ES中,gl_Position是顶点着色器(Vertex Shader)的一个内置输出变量,它用于指定顶点在裁剪空间(Clip Space)中的位置。gl_Position是一个四维向量(4-component vector&#xff…...

JAVA练习-ArrayList数组

需求 建立3个Student类的实例 原始数组: public class Student {private String name;private int score;public Student(String name, int score) {this.name name;this.score score;}Overridepublic String toString() {return name "的分数&#xff1…...

springboot339javaweb的新能源充电系统pf(论文+源码)_kaic

毕 业 设 计(论 文) 题目:新能源充电系统的设计与实现 摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解…...

数据结构——排序第三幕(深究快排(非递归实现)、快排的优化、内省排序,排序总结)超详细!!!!

文章目录 前言一、非递归实现快排二、快排的优化版本三、内省排序四、排序算法复杂度以及稳定性的分析总结 前言 继上一篇博客基于递归的方式学习了快速排序和归并排序 今天我们来深究快速排序,使用栈的数据结构非递归实现快排,优化快排(三路…...

Jackson:Java对象和JSON字符串的转换处理库使用指南

Jackson介绍 Jackson 是一个非常流行的 Java JSON 处理库,它能够将 Java 对象与 JSON 字符串相互转换。 Jackson 工具主要用于将请求的参数(例如前端发送的 JSON 数据)和响应的数据(例如后端返回给前端的数据)转换成…...

mac maven编译出现问题

背景 进行maven install 命令,报错: [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a J…...

深入讲解Spring Boot和Spring Cloud,外加图书管理系统实战!

很抱歉,我的疏忽,说了这么久还没有给大家详细讲解过Spring Boot和Spring Cloud,那今天给大家详细讲解一下。 大家可以和下面这三篇博客一起看: 1、Spring Boot 和 Spring Cloud 微服务开发实践详解https://blog.csdn.net/speaking_me/artic…...

【AIGC】2023-ICCV-用于高保真语音肖像合成的高效区域感知神经辐射场

2023-ICCV-Efficient Region-Aware Neural Radiance Fields for High-Fidelity Talking Portrait Synthesis 用于高保真语音肖像合成的高效区域感知神经辐射场摘要1. 引言2. 相关工作3. 方法3.1 准备工作和问题设置3.2 三平面哈希表示3.3. 区域注意模块3.4 训练细节 4. 实验4.1…...

如何写一份优质技术文档

作者简介: 本文作者拥有区块链创新专利30,是元宇宙标准化工作组成员、香港web3标准工作组成员,参与编写《数据资产确权与交易安全评价标准》、《链接元宇宙:应用与实践》、《香港Web3.0标准化白皮书》等标准,下面提供…...

ML 系列:第 35 节 - 机器学习中的数据可视化

ML 系列:第 35 天 - 机器学习中的数据可视化 文章目录 一、说明二、数据可视化2.1 直方图2.2 箱线图2.3 散点图2.4 条形图2.5 线图2.6 热图 三、结尾 一、说明 描述性统计和数据可视化是理解和解释机器学习数据的基础。它们有助于总结和直观地呈现数据&#xff0c…...

存储服务器一般做是做什么阵列?详细列举一下

存储服务器通常使用 RAID(Redundant Array of Independent Disks) 阵列技术来管理磁盘,以提高数据的性能、可靠性和可用性。所选择的 RAID 类型取决于存储服务器的具体用途和需求,比如性能要求、容量需求、容错能力等。 以下是存…...

uniapp使用扩展组件uni-data-select出现的问题汇总

前言 不知道大家有没有学习过我的这门课程那,《uniCloud云开发Vue3版本官方推荐用法》,这么课程已经得到了官方推荐,想要快速上手unicloud的小伙伴们,可以学习一下这么课程哦,不要忘了给一键三连呀。 在录制这门课程…...

pdf.js 预览pdf的时候发票数据缺失显示不全:字体加载出错(缺失)导致部分缺失

首先,排除后端返回的PDF文件流是没有问题的: 但是在vue项目中是这样的: 明显是显示不全,F12查看报错信息,有以下警告: pdf.js:2153 Warning: Error during font loading: The CMap “baseUrl” paramet…...

【设计模式】【结构型模式(Structural Patterns)】之外观模式(Facade Pattern)

1. 设计模式原理说明 外观模式(Facade Pattern) 是一种结构型设计模式,它提供了一个统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。通过隐藏子系统的复杂…...

Redis使用场景-缓存-缓存穿透

前言 之前在针对实习面试的博文中讲到Redis在实际开发中的生产问题,其中缓存穿透、击穿、雪崩在面试中问的最频繁,本文加了图解,希望帮助你更直观的了解缓存穿透😀 (放出之前写的针对实习面试的关于Redis生产问题的博…...

介绍 Apache Spark 的基本概念和在大数据分析中的应用

Apache Spark 是一个开源的大数据处理框架,它提供了快速、通用、可扩展的数据处理能力。Spark可以处理大规模数据集,并且在内存中进行数据操作,从而实现高速的数据处理和分析。 Spark的核心概念是弹性分布式数据集(Resilient Dis…...

OpenCPN-插件之Dashboard Tactics

1:相关链接Dashboard Tactics :: OpenCPN Dashboard Tactics Plugin rgleason/dashboard_tactics_pi: OpenCPN dashboard built-in plugin merger with external tactics_pi plugin NMEAconverter :: OpenCPN 2:显示样式 3:代码 这个插件…...

【LeetCode面试150】——20有效的括号

博客昵称:沈小农学编程 作者简介:一名在读硕士,定期更新相关算法面试题,欢迎关注小弟! PS:哈喽!各位CSDN的uu们,我是你的小弟沈小农,希望我的文章能帮助到你。欢迎大家在…...

JWT介绍和结合springboot项目实践(登录、注销授权认证管理)

目录 一、JWT介绍(一)基本介绍(二)jwt有哪些库1、jjwt(Java JWT)2、nimbus - jwt - jwt - api 和 nimbus - jwt - jwt - impl3、spring - security - jwt(已弃用,但在旧项目中有参考…...

Linux 下安装 Golang环境

Linux 下安装 Golang 获取Golang下载地址 安装 进入终端,登入root来到应用安装目录使用 wget 下载解压文件配置环境变量查看golang版本,测试是否配置成功GO设置代理环境变量 本篇教程 以 centos7 为环境基础 不使用软件包管理器安装,原因&am…...

「Mac畅玩鸿蒙与硬件36」UI互动应用篇13 - 数字滚动抽奖器

本篇将带你实现一个简单的数字滚动抽奖器。用户点击按钮后,屏幕上的数字会以滚动动画的形式随机变动,最终显示一个抽奖数字。这个项目展示了如何结合定时器、状态管理和动画实现一个有趣的互动应用。 关键词 UI互动应用数字滚动动画效果状态管理用户交…...

安装使用Ubuntu18.04超级大全集最初版(anaconda,pycharm,代理,c/c++环境)

本文介绍ubuntu1804中我目前用到的环境的完整配置,包括ubuntu安装软件,更新环境变量等都有涉及。图片非常多,能给的连接和材料都给了。希望能帮助到新同学。 目录 目录 目录 环境及镜像文件 安装Ubuntu ​编辑 开机之后 ​编辑 更新…...

Redis设计与实现第16章 -- Sentinel 总结1(初始化、主从服务器获取信息、发送信息、接收信息)

Sentinel是Redis的高可用解决方案:由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主…...

ChatGPT科研应用、论文写作、课题申报、数据分析与AI绘图

随着人工智能技术的飞速发展,ChatGPT等先进语言模型正深刻改变着科研工作的面貌。从科研灵感的激发、论文的高效撰写,到课题的成功申报,乃至复杂数据的深度分析与可视化呈现,AI技术均展现出前所未有的潜力。其实众多科研前沿工作者…...

OceanBase数据库系列之:基于docker快速安装OceanBase数据库,基于linux服务器快速部署OceanBase数据库

OceanBase数据库系列之:基于docker快速安装OceanBase数据库,基于linux服务器快速部署OceanBase数据库 一、docker快速安装OceanBase数据库下载OceanBase数据库镜像查看镜像启动OceanBase数据库查看OceanBase数据库是否启动成功 二、基于linux部署OceanBa…...

无星的微前端之旅(四)——qiankun线上服务代理到本地

这个方式其实是我在上家公司的时候体验过,觉得确实很有意思。 所以这里来逆推一下实现方式。 解决了什么痛点 1.开发一个模块,需要启动2-3个项目 在微前端的开发过程中,如果我们要在主应用中看效果,我们至少需要启动一个主应用&am…...

鸿蒙进阶篇-Stage模型、UIAbility

“在科技的浪潮中,鸿蒙操作系统宛如一颗璀璨的新星,引领着创新的方向。作为鸿蒙开天组,今天我们将一同踏上鸿蒙基础的探索之旅,为您揭开这一神奇系统的神秘面纱。” 各位小伙伴们我们又见面了,我就是鸿蒙开天组,下面让我们进入今…...

快速上手:如何开发一个实用的 Edge 插件

在日常浏览网页时,背景图片能够显著提升网页的视觉体验。如果你也想为自己的浏览器页面添加个性化背景图片,并希望背景图片设置能够持久保存,本文将介绍如何通过开发一个自定义Edge插件来实现这一功能。我们将涵盖保存背景设置到插件选项页&a…...

java缓存技术点介绍

1. 缓存(Cache): • 缓存是指用于存储数据的临时存储区域,以便快速访问。在Java中,缓存通常用于存储频繁访问的对象、结果集或其他数据。 2. 缓存命中率(Cache Hit Ratio): • 缓存命…...

【单片机毕业设计12-基于stm32c8t6的智能称重系统设计】

【单片机毕业设计12-基于stm32c8t6的智能称重系统设计】 前言一、功能介绍二、硬件部分三、软件部分总结 前言 🔥这里是小殷学长,单片机毕业设计篇12-基于stm32c8t6的智能称重系统设计 🧿创作不易,拒绝白嫖可私 一、功能介绍 ----…...

音视频流媒体直播/点播系统EasyDSS互联网视频云平台介绍

随着互联网技术的飞速发展,音视频流媒体直播已成为现代社会信息传递与娱乐消费的重要组成部分。在这样的背景下,EasyDSS互联网视频云平台应运而生,它以高效、稳定、便捷的特性,为音视频流媒体直播领域带来了全新的解决方案。 1、产…...

3dtile平移子模型以及修改 3D Tiles 模型的模型矩阵z平移

第一段代码:应用平移变换到子模型 这段代码的目的是获取子模型的变换矩阵,并将其平移 10 个单位。 if (submodel) {// 获取当前子模型的变换矩阵let transform submodel.transform// 创建一个向上的平移矩阵,平移 10 个单位let translation…...

JavaScript中类数组对象及其与数组的关系

JavaScript中类数组对象及其与数组的关系 1. 什么是类数组对象? 类数组对象是指那些具有 length 属性且可以通过非负整数索引访问元素的对象。虽然这些对象看起来像数组,但它们并不具备真正数组的所有特性,例如没有继承 Array.prototype 上…...

【机器学习】机器学习学习笔记 - 监督学习 - 逻辑回归分类朴素贝叶斯分类支持向量机 SVM (可分类、可回归) - 04

逻辑回归分类 import numpy as np from sklearn import linear_modelX np.array([[4, 7], [3.5, 8], [3.1, 6.2], [0.5, 1], [1, 2], [1.2, 1.9], [6, 2], [5.7, 1.5], [5.4, 2.2]]) y np.array([0, 0, 0, 1, 1, 1, 2, 2, 2])# 逻辑回归分类器 # solver:求解器&a…...