基于斜坡单元的机器学习模型预测滑坡易发性,考虑条件因素的异质性
1、引用
Chang Z, Catani F, Huang F, et al. Landslide susceptibility prediction using slope unit-based machine learning models considering the heterogeneity of conditioning factors[J]. Journal of Rock Mechanics and Geotechnical Engineering, 2023, 15(5): 1127-1143.
LSP:Landslide Susceptibility Mapping(滑坡易发性制图)
LSI:Landslide Susceptibility Index(滑坡易发性指数)
STD:Standard Deviation(标准差)
2、 要点
- 通过多尺度分割(MSS)方法提取的斜坡单元适用于滑坡易发性预测(LSP);
- 利用均值、极差和标准差来反映条件因素的异质性;
- 变体斜坡机器学习模型比普通斜坡机器学习模型具有更高的滑坡易发性预测精度;
- 基于斜坡单元的机器学习模型比基于网格单元的机器学习模型具有更强的工程实用性。
3、评价单元选取
栅格单元和斜坡单元是两种常用的制图单位。
栅格单元是最常见的评价单元,因为不同地理区域的LSP数学建模和计算很简单。
然而,栅格单元与滑坡相关的地貌信息之间没有直接的物理关系。由于潜在的滑坡边界难以准确确定,基于栅格单元的LSP结果在实际应用中可能会产生一些弱点。
大规模提高斜坡单元提取的自动化和效率是一项具有挑战性的任务。
一种图像分割方法,即多尺度分割(MSS)实现了斜率单位的自动提取。
4、模型
多层感知机(MLP)和随机森林(RF)
Grid-RF和Grid-MLP Slope-RF和Slope-MLP 变体Slope-RF和变体Slope-MLP
5、多尺度分割法(MSS)——黄发明
Huang F, Tao S, Chang Z, et al. Efficient and automatic extraction of slope units based on multi-scale segmentation method for landslide assessments[J]. Landslides, 2021, 18: 3715-3731.
MSS方法是黄发明提出的一种自动提取斜坡单元的新方法。该方法使用自下而上的区域合并分割算法来实现图像对象之间的最小均匀性和图像对象内部的最大均匀性。
MSS方法的基本原理是将具有相同特征(形状、颜色、纹理)的像素组合成一个图像对象,以实现斜坡单元划分。
选择合适的输入图像并确定合理的分割参数组合对分割结果起着重要作用。对于前者,分割结果取决于输入数据的质量和特征,例如空间分辨率、图像量化和场景特征(Hölbling et al., 2015)。根据斜坡单元的定义,选择区域坡向和阴影地貌图作为输入图层,然后组合成多波段影像。对于滑坡,将传统的试错法与滑坡的形态和尺度信息相结合,可以确定包括规模、形状和密实度参数在内的参数组合。有关使用 MSS 方法提取坡度单位的更多详细信息,请参见 Huang et al. (2021)。
6、斜坡单元内条件因子的异质性
通常,斜坡单元内的条件因子信息由平均值表示。这可能会导致所使用的多变量模型出现一些错误和过度简化,因为无法充分考虑斜坡单元内条件因素的异质性。
针对这一缺点,根据 Catani et al. (2013) 的研究结果,可以通过诉诸每个条件因子的均值、范围和标准差 (STD) 值的描述性统计变量来表征条件因子的内部变化,以获得更合理和丰富的基于斜坡单元的条件因子。
斜坡单元内条件因子的异质性表示条件因子信息在斜坡单元尺度上的可变性和差异性。本研究发现,一些地形和水文条件因子(如高程、坡度、剖面曲率等)在不同位置表现出较高的可变性,而岩性和坡向等条件因子在斜坡单元上通常变化很小。对于基于栅格单元的条件因子,每个栅格单元对于每个条件因子都有一定的值,并且不同位置的栅格单元之间存在一些异质性。但是,对于基于斜坡单元的条件因子,每个斜坡单元中可能存在数百个具有不同条件因子值的格网单元。因此,在某个斜坡单元内,这些网格单元之间存在显著的异质性。
目前,基于 slope units 的条件因子的值通常通过 ArcGIS 10.2 软件中的分区统计功能由每个坡度单位内所有格网单位值的平均值和/或众数值分配。因此,条件因子的异质性没有得到充分考虑,导致条件因子的信息丢失。因此,为了丰富局部尺度信息并拟合基于坡度单元的条件因子的异质性,将基于坡度单元的条件因子的范围值和 STD 值的描述性统计变量视为 LSP 模型的输入变量。
范围变量定义为每个坡度单位内每个基于格网单位的条件因子的最大值和最小值之间的差值,可以反映每个坡度单位中条件因子的变化。
同时,STD 变量可以反映每个坡度单位中基于格网单元的条件因子值的离散程度。
获得范围和 STD 变量的过程如图 2 所示 。在这个过程中,对于某个坡度单元中的不完全网格单元,如果坡度单元包含不完整网格单元的中心点,则以该坡度单元考虑条件因子数据(图 2 中的绿点)。否则,不考虑它(图 2 中的红点)。

Zonal Statistical Function in ArcGIS:ArcGIS 中的分区统计函数
7、滑坡清单、提取斜坡单元、条件因子
根据野外调查和滑坡清查结果,研究区 1970 年至 2003 年共发生 235 次滑坡(图 4)。这些滑坡可视为浅层滑坡,具有中小尺度和群体发生的特点。滑坡体主要由第四纪冲积层组成,破坏模式主要为平移和旋转滑动(Hungr et al., 2013)。滑坡面积主要在 4.2 × 103 m2 和 3.2 × 104 m2 之间变化,平均面积约为 7.6 × 103 m2。滑坡的厚度在 2.8 m 到 8 m 之间。位于北部地区的衡水镇和界坝镇滑坡数量最多,而位于东部地区的龙沟镇滑坡数量最少。此外,浅层滑坡主要由强降雨引发。
本研究从网格分辨率为 8.9 m 的数字高程模型中提取区域坡向和阴影地貌图(图 5),然后作为 MSS 方法的输入数据。 当使用改进的试错法将比例、形状和紧凑度参数分别设置为 20、0.8 和 0.8 时,可以获得最合适的分割结果。有关确定这些适当参数的更多详细信息,请参见 Huang et al. (2021)。崇义县有 53,055 个斜坡单元。此外,为了评估 MSS 方法的提取性能,以案例 1、案例 2 和案例 3 三个案例作为研究案例,分别代表丘陵、过渡带和高山(图 5)。从图 6 中可以看出,无论在高山还是丘陵地区,MSS 方法都具有出色的提取性能,可以准确识别丘陵之间的差异,从而完美地实现坡度单元的提取。
条件因子可以反映边坡的自然环境条件并影响边坡稳定性,可分为地形、地质、水文、土地覆盖和人类活动因子(Reichenbach et al., 2018)。共有 15 个基于坡度单位的条件因素,包括高程、坡度、坡向、平面曲率、剖面曲率、地势幅度、斜坡单元形态、岩性、土壤厚度、地形湿度指数、到河流的距离、排水密度、归一化差值植被指数 (NDVI)、归一化差值建筑指数 (NDBI) 和道路密度(Catani et al., 2013;Sur等 人,2020 年;Tang et al., 2020)。
【斜坡单元形态】用形状指数值和紧密度参数两个指标来定量描述。形状指数定义为周长的平方与面积的比率。越平坦或越有条纹,形状索引值越大。形状索引值大于 28 表示坡度单位的长宽比约为 5:1。 图 8a 显示形状指数范围为 13.98 至 254.94。紧密度参数定义为坡度单位的最小封闭矩形面积与其包含的像素数的比率。紧密度值越大,坡度单位越不规则。 图 8b 显示紧密度值从 1.08 到 2.2 不等。
【土壤厚度】决定了崇义县浅层滑坡的滑坡表面、大小和体积。在区域尺度绘制土壤厚度的方法包括基于物理的、经验统计、插值和机器学习方法。其中,Kriging 等插值方法已广泛应用于不同景观中,用于基于采样点数据的土层厚度估算。对 235 例滑坡的土厚度进行了调查,并记录为样本数据。200 个样本用于估计土壤厚度,35 个样本用于验证估计性能。此外,均值误差和均方根误差被应用于评估估计性能和效率。因此,以坡度为单位,该研究区域的土壤厚度范围为 2.84 m 至 7.9 m
通常,基于坡度单位的条件因子分为连续类别和离散类别。对于基于连续坡度单位的条件因子,当考虑基于坡度单位的条件因子的内部变化时,使用坡度单元内基于网格单位的条件因子值计算每个坡度单元的平均值、范围和 STD 值(图 2)。因此,对于每个基于连续斜率单位的条件因子,有三个变量可用于 LSP。每个坡度单位中网格单元的平均值计算为基于坡度的常规条件因子(Slope-RF和Slope-MLP),而每个坡度单元中网格单元的范围和 STD 值作为基于可变坡度单元的条件因子计算。所有这些基于变值率单位的条件因子都用作基于变值的 RF/MLP 模型的输入变量(variant Slope-based RF/MLP)。
对于一些基于坡度单元的离散条件因子,如岩性、坡向、距路面和到河流的距离,不可能采用每个基于坡度单元的制条件因子的范围和 STD 值。
每个离散条件因子的众数值用作相应的基于坡度的条件因子的值。从上述分析中,原来的 15 个基于坡度单位的条件因子被扩展为总共 38 个扩展的基于坡度单位的条件因子,用于 LSP 建模。
8、基于斜坡单元的调节因子对滑坡的影响
使用自然断点法将基于坡度单位的条件因子分为八类(Huang et al., 2020)(岩性按地层构型划分,坡向分为九类),并分别计算均值、范围、标准差的FR。
分析38个基于扩展斜坡单元的条件因子之间的相关性,以避免这些变量之间多重共线性的影响。文献表明,当相关系数的绝对值小于 0.3 时,这两个变量被认为可以忽略不计(Mukaka,2012 年)。共有22个基于扩展坡度单位的条件因子,相关性可以忽略不计(相关系数的绝对值小于0.3),包括高程(平均值和范围变量)、坡度(平均值、范围和STD变量)、剖面曲率(平均值变量)、平面曲率(平均值、范围和STD变量)、 地形湿度指数(平均变量)、NDBI(平均变量)、NDVI(平均变量)、道路密度(平均和范围变量)、排水密度(平均和范围变量)、土壤厚度(平均变量)、形状指数(平均变量)、紧凑度(平均变量)、坡向、岩性和到河流的距离。因此,这 22 个基于扩展斜率单位的条件因子用作输入变量,以使用变体 Slope-RF 和 Slope-MLP 模型实现 LSP。
本研究中,共有 744 个发生过滑坡的滑坡单元被标记为 1,相同数量的非滑坡单元(从无滑坡区域随机采样)被标记为 0。然后,将包含基于斜率单位的条件因子和标注数据的数据集随机分化为训练数据集和测试数据集,比例为 70%/30%。
在 LSP 建模过程中,选择 15 个基于斜率单位的条件因子作为输入变量来构建传统的斜率机器学习模型,并使用 22 个基于扩展斜率单元的条件因子作为输入变量来构建变体斜率机器学习模型。训练样本(滑坡和非滑坡样本)的每个条件因子的 FR 值用作构建 RF 和 MLP 模型的基本输入数据。
9、结果
使用自然断点法将LSI分为五类,这是一种根据数值统计分布的分类方法,通过最大化不同类之间的差异。
此外,与 Grid-RF 和 Grid-MLP 模型的 LSM 相比,可以发现基于斜率单元的 LSM 比基于网格单元的 LSM 具有更强的实际应用。例如,Slope 机器学习模型可以准确识别并在实践中轻松识别并发现具有非常高敏感性等级的滑坡的位置和范围。此外,使用斜坡机器学习模型也可以避免网格机器学习模型中具有非常高滑坡敏感性等级的孤立网格单元引起的误差。

10、LSP的验证
ROC曲线的AUC值
LSP 模型的接收器工作特性曲线如图 11 所示 。变体 Slope-RF、Slope-RF、Grid-RF、变体 Slope-MLP、Slope-MLP 和 Grid-MLP 模型的 AUC 值分别为 0.875、0.827、0.896、0.843、0.805 和 0.826。可以得出结论,变体 Slope-RF 和变体 Slope-MLP 模型的预测性能优于 Slope-RF 和 Slope-MLP 模型。Grid-RF 模型具有比 Grid-MLP 模型更好的预测性能。同时,揭示了 RF 模型比 MLP 模型具有更好的预测性能。

FR精度验证
MLP 模型的FR值从极高易发性等级到极低易发性等级逐渐降低。然而,RF 模型的FR呈现出极高易发性等级的FR显著高于其他四个易发性等级的特点。此外,变异坡度 - RF(variant Slope - RF)、坡度 - RF(Slope - RF)、网格 - RF(Grid - RF)、变异坡度 - MLP(variant Slope - MLP)、坡度 - MLP(Slope - MLP)和网格 - MLP(Grid - MLP)的FR精度分别为 0.958、0.948、0.974、0.762、0.751 和 0.77。因此,变异坡度机器学习模型的滑坡易发性预测(LSP)准确率似乎优于坡度机器学习模型,这表明考虑坡度单元内条件因素内部变化的滑坡易发性预测更符合实际观测。还可以发现,基于坡度单元的滑坡易发性预测准确率与基于网格单元的相近。此外,对比结果还显示,根据所采用的标准,RF 模型的预测性能优于 MLP 模型。
10、讨论
RF和MLP模型的LSP性能比较
通过AUC值和FR精度的验证结果表明,RF模型的LSP性能比MLP模型好得多。
LSI值的频率分布
下图显示了变体 Slope-RF、Slope-RF、变体 Slope-MLP 和 Slope-MLP 模型的 LSI 分布及其相应的平均值和 STD 值。平均值反映了 LSI 的集中化趋势,STD 值反映了 LSI 的分散程度。
可以看出,基于斜率的 RF 和 MLP 模型的 LSI 分布模式符合近似对数正态分布(图 12 中的红线)。RF 和 MLP 模型计算的 LSI 主要属于低和极低滑坡易发性类别,分散程度较低。此外,平均值和 STD 值表明,变体 Slope-RF 和变体 Slope-MLP 模型比 Slope-RF 和 Slope-MLP 模型具有更好的 LSP 性能。例如,在 RF 模型的结果中,变体 slope-RF 模型和 Slope-RF 模型的平均值接近;但是,变体 Slope-RF 模型的 STD 值大于 Slope-RF 模型的 STD 值。

新滑坡的验证分析
在 2009 年至 2019 年期间,我们在现场调查了 19 起新的滑坡。然后,选择由变体 Slope-RF、Slope-RF、变体 Slope-MLP 和 Slope-MLP 模型生成的 LSM,与这些新的滑坡进行比较。
具有非常高和高滑坡易感性水平的新滑坡占所有新滑坡的比例定义为预测精度。变体 Slope-RF、Slope-RF、变体 Slope-MLP 和 Slope-MLP 模型的预测精度分别为 0.895、0.798、0.895 和 0.798。结果表明,在变体 Slope-RF/MLP 模型中,在滑坡易发性等级非常高的斜坡单元中发生的新滑坡比 Slope-RF/MLP 模型多。因此,可以得出结论,变体 Slope-RF 模型的 LSP 结果具有更高的适用性和准确性,可用于支持滑坡防治的决策过程。
variant slope,slope and grid-machine learning models的LSP结果比较
Grid-RF 模型的 AUC 值略高于 Slope-RF 模型。因为在使用网格单位时,用于构建 LSP 模型的标注滑坡样本比使用坡度单位的样本多。比较基于网格和斜率的机器学习模型的 LSP 结果,可以发现,在基于网格的机器学习模型中,一些敏感性水平较低和非常低的区域通常具有几乎孤立的网格单元,具有非常高的敏感性水平;但是,在基于 Slope 的机器学习模型中可以避免这种现象。因此,仅使用 AUC 值比较 LSP 结果是不完整且不确定的。
通过对 LSP 结果的综合对比分析,可以发现,与网格单元相比,斜率单元更适合作为 LSP 的映射单元。主要原因是斜率机器学习模型的 LSM 可用于在斜坡或流域尺度上准确确定具有非常高的磁化率等级的确定位置和边界,而网格机器学习模型的 LSM 表现出离散和区分差的特征。另一个原因是,通过将数百万个网格单元转换为数万个坡度单元,减少了 Slope 机器学习模型的计算负担(Camilo et al., 2017)。此外,坡度单元可以有效地表达滑坡与区域形态要素之间的物理关系,与网格单元相比,可以保证条件因子信息完整性的准确表达(Wang et al., 2005)。
与 Slope 机器学习模型相比,变体 Slope 机器学习模型在 LSP 方面具有更多优势。事实上,一个坡度单元可能包含数十个或数百个网格单元;因此,当仅使用每个基于格网单位的条件因子的平均值作为基于坡度单位的条件因子的值时,它是有偏差且不完整的。同时,基于坡度单元的条件因子的非均质性特征不能通过网格单元的平均值来综合考虑。此外,在变体 Slope-machine learning 模型中,范围和 STD 值可以有效反映每个基于斜率单位的条件因子的异质性。在这种情况下,可以表征基于斜率单元的条件因子的更多异质性特征,以获得更真实、更准确的 LSP 结果。
相关文章:
基于斜坡单元的机器学习模型预测滑坡易发性,考虑条件因素的异质性
1、引用 Chang Z, Catani F, Huang F, et al. Landslide susceptibility prediction using slope unit-based machine learning models considering the heterogeneity of conditioning factors[J]. Journal of Rock Mechanics and Geotechnical Engineering, 2023…...
面向对象程序设计-实验七
6-1 计算捐款总量 这里需要设计一个捐款人类Donator及一个相关函数getMaxName( ),Donator类中包含捐款人的姓名及其捐款额 代码清单: #include <iostream> using namespace std; class Donator { private: string name; float money; //单位&…...
如何学习Elasticsearch(ES):从入门到精通的完整指南
如何学习Elasticsearch(ES):从入门到精通的完整指南 嘿,小伙伴们!如果你对大数据搜索和分析感兴趣,并且想要掌握Elasticsearch这一强大的分布式搜索引擎,那么你来对地方了!本文将为…...
Java面试宝典:说下Spring Bean的生命周期?
Java面试宝典专栏范围:JAVA基础,面向对象编程(OOP),异常处理,集合框架,Java I/O,多线程编程,设计模式,网络编程,框架和工具等全方位面试题详解 每…...
early bird inject
基本原理 本质是利用windows系统的apc机制,以及涉及到windows进程启动的流程. 因为线程初始化阶段LdrInitializeThunk函数会调用NtTestAlert函数,这个函数执行后,所有apc队列中的例程都会执行.因此我们在主线程初始化之前向主线程的apc队列中加入恶意代码即可实现…...
Spring Boot 的约定优于配置:简化开发的艺术
# Spring Boot 的约定优于配置:简化开发的艺术 在现代软件开发中,Spring Boot 凭借其“约定优于配置”(Convention Over Configuration,简称 CoC)的理念,极大地简化了 Spring 应用的开发流程。本文将深入探…...
WSL Ubuntu 安装 CUDA 教程
WSL Ubuntu 安装 CUDA 教程 1. 概述2. 准备工作3. 删除旧的 GPG 密钥4. 安装 CUDA Toolkit4.1 使用 WSL-Ubuntu 包安装(推荐) 5. 设置环境变量6. 注意事项7. 参考链接8. 总结 1. 概述 随着 WSL 2 的推出,Windows 用户现在可以在 Windows 子系…...
docker运行perplexica
序 本文主要研究一下如何用docker运行perplexica 步骤 git clone git clone https://github.com/ItzCrazyKns/Perplexica.gitapp.dockerfile FROM docker.1ms.run/node:20.18.0-alpineARG NEXT_PUBLIC_WS_URLws://127.0.0.1:3001 ARG NEXT_PUBLIC_API_URLhttp://127.0.0.1…...
15、Python面试题解析:列表推导式-条件推导与嵌套推导
1. 列表推导式简介 列表推导式(List Comprehension)是 Python 中一种简洁的创建列表的方式。它允许我们通过一行代码生成列表,通常比传统的 for 循环更简洁、更易读。 基本语法 [表达式 for 元素 in 可迭代对象]表达式:对元素的…...
uvm错误记录4
如下所示,奇怪的是penable莫名其妙的出X。可问题,我发送激励了。 仔细定位发现,39行用的是vif中的penable, 问题是都是赋值,却出现同时赋值多次,这是因为nonblocking和blocking同时触发导致的,因此…...
正则表达式(Regular expresssion)
正则表达式 匹配单次 . :匹配任意一个字符 [ ] :匹配[ ]里举例的任意一个字符 /d :匹配数字0-9 /D :匹配非数字 /s :匹配空白或tab建 /S :匹配非空白 /w :…...
React 中级教程
1. useState 与 setState 深入理解 import React, { useState } from react;const Counter = () => {const [count, setCount] = useState(0);const increment = () => {setCount(count + 1); // setState 会异步更新};return (<div><p>Count: {count}</…...
3dtiles——Cesium ion for Autodesk Revit Add-In插件
一、说明: Cesium已经支持3dtiles的模型格式转换; 可以从Cesium官方Aesset中上传gltf等格式文件转换为3dtiles; 也可以下载插件(例如revit-cesium插件)转换并自动上传到Cesium官方Aseet中。 Revit转3dtiles插件使用…...
高级 Conda 使用:环境导出、共享与优化
1. 引言 在 Conda 的基础包管理功能中,我们了解了如何安装、更新和卸载包。但对于开发者来说,如何更好地管理环境、导出环境配置、共享环境,以及如何优化 Conda 的使用效率,才是提高工作效率的关键。本篇博客将进一步深入 Conda …...
函数perror 和全局变量errno
#include <stdio.h> #include <errno.h> #include <fcntl.h>int main() {int fd open("nonexistent_file.txt", O_RDONLY);if (fd -1) {perror("Failed to open file");}return 0; }控制台有如下输出 Failed to open file: No such f…...
微信小程序的制作
制作微信小程序的过程大致可以分为几个步骤:从环境搭建、项目创建,到开发、调试和发布。下面我会为你简要介绍每个步骤。 1. 准备工作 在开始开发微信小程序之前,你需要确保你已经完成了以下几个步骤: 注册微信小程序账号&…...
QT 异步编程之多线程
一、概述 1、在进行桌面应用程序开发的时候,假设应用程序在某些情况下需要处理比较复制的逻辑,如果只有一个线程去处理,就会导致窗口卡顿,无法处理用户的相关操作。这种情况下就需要使用多线程,其中一个线程处理窗口事…...
人工智能之数学基础:线性子空间
本文重点 在前面的课程中,我们学习了线性空间,本文我们我们在此基础上学习线性子空间。在应用中,线性子空间的概念被广泛应用于信号处理、机器学习、图像处理等领域。 子空间的性质 子空间是线性空间的一部分,它需要满足下面的性质: 设V是数域F上的线性空间,W是V的一个…...
Proxmox 更新软件包数据库(TASK ERROR: command ‘apt-get update‘ failed: exit code 100)
1、连接自己报错的物理机Shell,编辑文件 vi /etc/apt/sources.list.d/pve-enterprise.list 2、注释文件的第一行在开头加上# 按I进入编辑模式后 开头添加# 然后shift: 输入wq或者wq!进行保存 3、注释后执行两个命令apt-get update 和 apt…...
Python--常见库与函数
二、Python常见库与函数 2.1 OS库 常用功能:文件/目录操作、路径管理、环境变量。 import os # 路径操作 abs_path os.path.abspath("data.txt") exists os.path.exists(abs_path) # 目录操作 os.mkdir("logs") # 创建目录(需处…...
算法——数学建模的十大常用算法
数学建模的十大常用算法在数学建模竞赛和实际问题解决中起着至关重要的作用。以下是这些算法的具体信息、应用场景以及部分算法的C语言代码示例(由于篇幅限制,这里只给出部分算法的简要代码或思路,实际应用中可能需要根据具体问题进行调整和扩…...
JVM——垃圾回收算法
目录 垃圾回收算法 评价标准: 标记-清除算法: 复制算法: 标记-整理算法: 分代GC: arthas查看分代之后的内存情况: 垃圾回收算法 java是如何实现垃圾回收的呢?简单来说,垃圾回…...
游戏APP如何通过精准广告策略实现广告变现收益增长?
不同类型的游戏APP合作AdSet聚合广告平台,量身定制广告变现方案,以提升变现收益的表现。#app广告变现 1、智能选择广告形式 基于用户的行为习惯,推荐优化广告格式,包括插屏广告、激励视频广告和Banner广告等,最大化广…...
服务器安全——日志分析和扫描
如何通过访问日志查询被攻击 扫描攻击 攻击日志 GET /index?sindex/%5Cthink%5CModule/Action/Param/$%7Bphpinfo()%7D HTTP/1.1", host: "主机", referrer: "主机sindex/\think\Module/Action/Param/${phpinfo()}" 攻击日志文件 .error.log sql注…...
vue3读取webrtc-stream 视频流
一.首先下载webrtc-stream,方便自己本地搭建视频流服务 https://download.csdn.net/download/cyw8998/90373521 解压后,启动命令 webrtc-streamer.exe -H 127.0.0.1:8020 二.vue3代码如下 <template><h1>video</h1><video id&…...
周考考题(学习自用)
1.查询student表中name叫张某的信息 select * from student where name张某; 2.写出char和varchar类型的区别 1)char存储固定长度的字符串,varchar存储可变长度的字符串(在实际长度的字符串上加上一个字节用于存储字符串长度)&a…...
ubuntu 22.04 安装vsftpd服务
先决条件,确保你已经配置好了存储库。 安装vsftpd 为了方便实验,我已经切换到了root用户。 rootlocal:~# apt-get install vsftpd修改配置 配置文件在 /etc/vsftpd.conf rootlocal:~# grep -vE ^#|^$ /etc/vsftpd.conf listenNO listen_ipv6YES anonymou…...
K-均值(K-means)聚类算法
K-均值(K-means)聚类算法是一种常用的无监督学习算法,用于将数据集分成 K 个簇(clusters)。该算法的基本思想是将数据点分为 K 个簇,使得每个数据点所属的簇内部的数据点之间的相似度最大化,而不…...
STM32F407通过FSMC扩展外部SRAM和NAND FLASH
1 扩展外部SRAM 1.1 地址情况 FSMC控制器的存储区分为4个区(Bank),每个区256MB。其中,Bank1可以用于连接SRAM、NOR FLASH、PSRAM,还可以连接TFT LCD。Bank1的地址范围是0x60000000~0x6FFFFFFF。Bank1又分为4个子区,每…...
AndroidStudio查看Sqlite和SharedPreference
1.查看Sqlite 使用App Inspection,这是个好东西 打开方式:View → Tool Windows → App Inspection 界面如图: App inspection不但可以看Sqlite还可以抓包network和background task连抓包工具都省了。 非常好使 2.查看sharedPreference 使…...
