WebGIS在应急灾害中对村庄、风景区、机场的影响范围应用-以日喀则市定日县地震为例
目录
前言
一、关于影响范围
1、震中距离5公里
2、震中20公里范围
3、20到80公里范围
二、空间查询知识
1、相关数据介绍
2、空间数据查询
三、前后端数据查询以及web可视化实现
1、后台API实现
2、WebGIS前端实现
四、Web成果展示
1、空间位置分析
2、包含风景区数据展示
五、总结
前言
随着全球气候变化的加剧以及人类活动的不断扩张,自然灾害和人为灾害的频率与强度呈现出上升趋势。这些灾害对人类社会的各个方面,尤其是对村庄、风景区和机场等关键区域的影响日益显著。在灾害应急响应中,准确评估灾害影响范围是制定有效救援计划和资源分配策略的关键因素。WebGIS(Web Geographic Information System)作为一种基于网络的地理信息系统,为灾害影响范围的快速评估和可视化提供了强大的工具。
WebGIS技术结合了地理信息系统(GIS)的空间分析能力和互联网的广泛接入优势,使得灾害信息能够实时更新和共享。在村庄遭受洪水、地震等灾害时,WebGIS可以迅速整合地理数据,如地形、建筑分布和人口密度等,通过空间分析模型计算出受影响的区域范围。这不仅有助于救援队伍确定优先救助的村庄,还能为物资分配和人员疏散提供科学依据。
对于风景区而言,WebGIS的应用同样至关重要。风景区通常具有独特的自然景观和生态系统,灾害可能会对其造成严重的破坏。通过WebGIS,管理者可以实时监测灾害对景区内自然资源和基础设施的影响,及时调整游客路线和救援策略,减少灾害对风景区的长期损害。
机场作为重要的交通枢纽,在灾害发生时,其运营状态直接关系到救援物资的运输和人员的疏散效率。WebGIS能够实时显示机场周边的灾害情况,包括洪水淹没范围、地震烈度分布等,帮助机场管理部门评估机场的运行安全和可能的关闭时间。此外,WebGIS还可以与航班管理系统相结合,为航班调整和应急疏散提供决策支持。
本文以近日发生在日喀则市定日县的6.8级地震灾害为例重点讲解如何结合距离来进行影响范围评估。通过关联震中附近的村庄、风景区、机场等重要居民点和公共交通点,这些场所都是人员高度聚居的场所,通过这些数据来进行辅助分析。完整首先讲解如何在空间数据库中进行三种空间数据的关联和查询,然后使用SpringBoot讲解如何进行使用影响范围查询开发,通过构建5公里高风险区和20公里中风险区以及80公里低风险区,最后结合Leaflet等前端组件对相关数据进行可视化,为相关的领导和救援人员提供时空位置展示,制定科学的救援计划提供数据服务。本文暂时结合震中距离来评估自然灾害的影响,暂不考虑地质情况与房屋建筑情况,后面如果有相关的数据,可以进行更一步的挖掘与探索。
一、关于影响范围
地震最为一种破坏性极强的自然灾害,而且如果发生在夜晚的自然灾害对人类的影响也将十分巨大。地震的直接影响范围取决于多种因素,包括震级、震源深度、地质构造、地表条件等。众所周知,在地震的震中位置,越靠近震中位置的地方,受到的影响就越大。因此,将距离震中的不同范围进行一个合理的划分,对于研究地震的影响范围有很大的意义。当然,关于影响范围不是一个固定的值,这里采用一些固定的范围,伴随着范围的扩大,地震的影响会显著的降低。因此这里我们将研究的空间距离范围进行一点的限制。
1、震中距离5公里
- 破坏程度:震中5公里范围内的破坏通常最为严重。建筑物可能会遭受重大损坏或倒塌,基础设施如道路、桥梁等可能无法使用。例如,在西藏日喀则市定日县的6.8级地震中,震中5公里范围内的村庄如塘仁村、雪珠村等受到了显著影响。
- 人口影响:震中5公里范围内的人口密度和建筑物密集度决定了人员伤亡和财产损失的程度。例如,宁夏银川市永宁县4.8级地震震中5公里范围内平均海拔约1113米
因此,震中附近5公里范围内的影响是非常巨大的。这也意味着,在进行救援计划的指定时,需要重点考虑5公里范围的居民点、机场、风景区等。可以结合这些地区的人口密度、地址构造情况、建筑建成情况等进行综合评估。
2、震中20公里范围
- 破坏程度:在震中20公里范围内,建筑物和基础设施的损害程度进一步减轻,但仍可能有轻微的破坏,如墙皮脱落、窗户破碎等。例如,在西藏日喀则市定日县的6.8级地震中,震中20公里范围内的乡镇如措果乡、曲洛乡受到了影响。
- 人口影响:震中20公里范围内的人口数量可能更大,因此可能有更多的人员感受到地震的影响,但伤亡和损失相对较小
从5公里到20公里的范围内,影响程度会随着距离的增加而衰减,但依然会有一定的破坏性,而建筑的倒塌情况也会伴随着距离有很大的改善,因此可以随着这个距离的扩大在制定救援计划时将这类地区依据距离进行优先级排序。
3、20到80公里范围
对于超过20公里的地震影响,会更小。这里之所以研究80公里范围内,是因为想查看80公里范围的飞机场位置,飞机作为一种快速机动的救援方式,在争分夺秒的抢救中发挥了非常重要的作用。因此,飞机场不仅是评估影响的重要因素,也是评估救援方案的一种重要因素。物资可以通过飞机快速的运抵灾区。
二、空间查询知识
在介绍了前面的影响范围之后,本节将介绍如何将居民点、飞机场、风景区的信息进行整合查询,通过影响半径的划定来进行空间信息查询。通过本节,大家可以掌握如何实现对这三类信息进行关联过滤查询。
1、相关数据介绍
这里提到的居民点、飞机场、风景区等数据,在个人博客中的均有提及,在进行实际的灾害分析时,还可以结合AOI数据,不仅是包含居民点,还包括学校、医院、养老院、办公楼等重要场所进行完整的空间分析。本文仅展示一种空间影响范围的分析。这三类数据分别存储在三张表中,这三张表的主要字段信息如下图所示:
2、空间数据查询
要实现查询指定范围内的不同标识地点,需要借助空间数据库中的空间查询函数st_dwithin(geography,geography)和距离求解函数st_distance(geography,geography)以及根据geometry求解经度和纬度的函数st_x(geometry)和st_y(geometry)。同时为了同时将这三张表的数据集中汇总到一起,然后与地震信息进行关联,这里需要使用数据库中的高级查询With查询,数据查询sql语句如下:
with bp as (select bce.geom from biz_ceic_earthquake bce where bce.pk_id = 1876603675057643521
)
select ta.* from (
select t.id pk_id,t.name,'scenicspot' as type,st_x(t.geom) lon,st_y(t.geom) lat,
st_distance(t.geom :: geography, bp.geom :: geography) dist from biz_scenic_spot t,bp
where st_dwithin(t.geom :: geography,bp.geom :: geography,20000 )
union
select t.pk_id,t.name_zh as name,'airport' as type,t.lon_wgs84 lon,t.lat_wgs84 lat,
st_distance(t.geom :: geography, bp.geom :: geography) dist from biz_global_airport_info t,bp
where st_dwithin(t.geom :: geography,bp.geom :: geography,80000 )
union
select t.id pk_id,t.village_name as name,'village' as type,st_x(t.geom) lon,st_y(t.geom) lat,
st_distance(t.geom :: geography, bp.geom :: geography) dist from biz_village t,bp
where st_dwithin(t.geom :: geography,bp.geom :: geography,20000 )
) ta order by ta.dist ;
在navicat的客户端中执行上述的SQL之后,可以得到以下的查询结果:
在上面的SQL中,我们使用的距离计算都需要先转成geography,这样的求解结果单位就是米,可以在后续的条件中输入以米为计算单位的距离。 在最开始的时候,将地震的结果一次性查出来,在后面的查询过程中就不需要单个关联,这样就大大的提升了查询效率。
三、前后端数据查询以及web可视化实现
在掌握了空间数据表的空间查询方法之后,下面我们就可以基于这个空间函数查询进行WebGIS的开发。后台设计的程序比较简单,主要是将上面的SQL语句写入到Mybatis_Plus当中,然后让控制层进行调用和执行。
1、后台API实现
当前端输入一个地震的主键值之后,后台可以通过控制层调用业务层,而业务层调用数据访问层,然后实现空间数据的访问。这里将后台API控制层的方法展示出来,如果有问题,可以在评论区留言指出。
/***- 获取地震影响信息列表,用post* @param pkId* @return
*/
@PostMapping("/effect/{pkId}")
@ResponseBody
public AjaxResult effect(@PathVariable("pkId")Long pkId){AjaxResult ar = AjaxResult.success();List<EarthQuakeEffectVo> dataList = ceicEarthQuakeService.findEffectList(pkId, 20000, 80000, 20000);ar.put("data", dataList);return ar;
}
2、WebGIS前端实现
后端提供好了对应的接口之后,前端就可以调用这个接口传入地震的主键ID,然后将ID对应的空间范围内的居民点、机场、风景区进行查询及展示。前端使用Leaflet对这些位置点进行渲染,同时标注具体的距离信息。为相关部门决策提供依据和基础。
function showDistance(){$.ajax({ type:"post", url:prefix + "/effect/" + [[${pkId + ''}]], dataType:"json", cache:false,processData:false,success:function(result){if(result.code == web_status.SUCCESS){var strokeStyleSet = "green";for(var i=0;i<result.data.length;i++){var dataInfo = result.data[i];var dist = dataInfo.dist;var zindex = 3;//排序号很重要,会优先展示if(parseFloat(dist) <= 5000){strokeStyleSet = "red";}if(parseFloat(dist) > 5000 && parseFloat(dist) <= 20000 ){strokeStyleSet = "orange";zindex = 2;}if(parseFloat(dist) >= 20000){strokeStyleSet = "green";zindex = 1;}var _dist = parseFloat(dataInfo.dist / 1000).toFixed(2);var content = "<strong>影响地点:</strong>"+dataInfo.name + "<br/><strong>震中位置:</strong>"+ cityInfo;content += "<br/><strong>距离(千米):</strong>"+_dist;var type = "村庄";if(dataInfo.type == "scenicspot"){type = "风景区";}if(dataInfo.type == "airport"){type = "机场";}var marker = L.circleMarker(new L.LatLng(dataInfo.lat, dataInfo.lon), {radius: 8,labelStyle: {text: type + ":"+ (i + 1 )+ dataInfo.name + "(" + _dist + "千米)",rotation: 0,zIndex: zindex,strokeStyle :strokeStyleSet},color : strokeStyleSet}).addTo(mymap);marker.bindPopup(content); L.polyline([[[lat, lon],[dataInfo.lat, dataInfo.lon]]], {labelStyle: {//text: cityInfo + ">" +dataInfo.name + ":" + _dist + "千米",//text: _dist + "千米",zIndex: 0,collisionFlg: false,textAlign:'center',strokeStyle :strokeStyleSet},color : strokeStyleSet}).addTo(mymap);}}mymap.setZoom(9);//再次缩放到9级},error:function(){$.modal.alertWarning("获取信息失败");}});
}
需要注意到是,这里的图例生成与目标点的marker标定时,为了让震中5公里范围的的marker标记可以快速的展示出来,我们对标记的zindex进行设置。同时按照不同的影响范围点类型,将居民点、风景区、机场等进行分别的追加标注。
四、Web成果展示
本节结合具体的地震信息,将实现震中地震的WebGIS影响范围评估,通过5公里范围、20公里影响范围,80公里影响范围及其包含的空间点位置信息,让大家看到地震的实际影响范围。地震信息来源于国家地震台网。这也是为什么选择WebGIS来实现这个需求,传统的C/S的桌面制图,耗时费力,使用WebGIS的方式来实现,把主要的数据源固化之后,剩下的展示工作就比较简单了。这里以定日县地震为例重点讲解地震影响范围。
1、空间位置分析
首先在地震台网信息展示列表中可以看到以下信息:
这是同步过来的数据,点击操作按钮栏中的最后一个按钮即“震中影响”,在新打开的影响评估窗口中可以看到这三类点位数据以及列表数据。
首先通过红、黄、绿灯三色标识来进行不同风险级别的标注。表示5公里、5-20公里、20-80公里影响范围点位信息。在上面的地图界面中,我们可以很清晰的看到,本次定日县的地震,对机场的影响较小,两者的直线距离相差63.62千米。本次地震震中附近20公里范围内无旅游景区,但是居民点还是比较多的。将地图进一步的放大,查看受灾严重的5公里范围内点位。
可以看到,距离震中位置5公里范围的乡村,在空间位置上都是位于震中的东南角。 更详细的距离名单,可以看表格的右边。最近的是塘日村,距离2.56千米。这距离相当近了,需要重点关注。5公里范围的乡村信息如下:
名称 | 类型 | 距离(千米) |
---|---|---|
1、塘日村 | 村庄 | 2.56 |
2、雪珠村 | 村庄 | 2.59 |
3、嘎热果吉村 | 村庄 | 2.61 |
4、美朵村 | 村庄 | 3.68 |
5、吉翁村 | 村庄 | 4.89 |
6、吉定村 | 村庄 | 4.90 |
2、包含风景区数据展示
在前面的地震数据展示中,并没有风景区的数据,机场的数据是有的,只是因为距离的原因,排在了最后面。这里来看一下包含风景区的数据。以2017年四川阿坝州九寨沟县7.0地震为例,来看一其对风景区的影响范围。
可以看到,距离震中仅10公里内就有5A级景区九寨沟风景名胜区以及距离8公里的爱琴海景区。 同时可以看到震中位置距离九寨沟黄龙机场仅有40公里。
五、总结
以上就是本文的主要内容,本文以近日发生在日喀则市定日县的6.8级地震灾害为例重点讲解如何结合距离来进行影响范围评估。通过关联震中附近的村庄、风景区、机场等重要居民点和公共交通点,这些场所都是人员高度聚居的场所,通过这些数据来进行辅助分析。完整首先讲解如何在空间数据库中进行三种空间数据的关联和查询,然后使用SpringBoot讲解如何进行使用影响范围查询开发,通过构建5公里高风险区和20公里中风险区以及80公里低风险区,最后结合Leaflet等前端组件对相关数据进行可视化,为相关的领导和救援人员提供时空位置展示,制定科学的救援计划提供数据服务。本文暂时结合震中距离来评估自然灾害的影响,暂不考虑地质情况与房屋建筑情况,后面如果有相关的数据,可以进行更一步的挖掘与探索。
尽管WebGIS在灾害应急中的应用前景广阔,但仍面临着数据准确性、实时性和用户界面友好性等挑战。为了充分发挥WebGIS在灾害影响范围评估中的作用,需要进一步加强数据采集和更新机制,优化空间分析算法,并提高系统的易用性。本文旨在探讨WebGIS在应急灾害中对村庄、风景区和机场影响范围的具体应用,分析其优势与局限,并提出相应的改进策略,以期为灾害应急管理和决策提供科学依据和技术支持。行文仓促,定有许多不足之处,如有不足,还恳请各位专家博主在评论区留言指出,不胜感激。
相关文章:
WebGIS在应急灾害中对村庄、风景区、机场的影响范围应用-以日喀则市定日县地震为例
目录 前言 一、关于影响范围 1、震中距离5公里 2、震中20公里范围 3、20到80公里范围 二、空间查询知识 1、相关数据介绍 2、空间数据查询 三、前后端数据查询以及web可视化实现 1、后台API实现 2、WebGIS前端实现 四、Web成果展示 1、空间位置分析 2、包含风景区…...
Flink系列知识讲解之:网络监控、指标与反压
Flink系列知识之:网络监控、指标与反压 在上一篇博文中,我们介绍了 Flink 网络协议栈从高层抽象到底层细节的工作原理。本篇博文是网络协议栈系列博文中的第二篇,在此基础上,我们将讨论如何监控网络相关指标,以识别吞…...
Postman接口测试05|实战项目笔记
目录 一、项目接口概况 二、单接口测试-登录接口:POST 1、正例 2、反例 ①姓名未注册 ②密码错误 ③姓名为空 ④多参 ⑤少参 ⑥无参 三、批量运行测试用例 四、生成测试报告 1、Postman界面生成 2、Newman命令行生成 五、token鉴权(“…...
人工智能学习路线全链路解析
一、基础准备阶段(预计 2-3 个月) (一)数学知识巩固与深化 线性代数(约 1 个月): 矩阵基础:回顾矩阵的定义、表示方法、矩阵的基本运算(加法、减法、乘法)&…...
图像处理 | 图像二值化
在图像处理领域,图像二值化是一个重要的操作,它将彩色或灰度图像转换为只有两种颜色(通常是黑白)的图像。二值化广泛应用于文字识别、图像分割、边缘检测等领域,尤其在处理简洁和高对比度的图像时非常有效。本文将深入…...
ASP.NET Core 中服务生命周期详解:Scoped、Transient 和 Singleton 的业务场景分析
前言 在 ASP.NET Core 中,服务的生命周期直接影响应用的性能和行为。通过依赖注入容器 (Dependency Injection, DI),我们可以为服务定义其生命周期:Scoped、Transient 和 Singleton。本文将详细阐述这些生命周期的区别及其在实际业务中的应用…...
鼠标自动移动防止锁屏的办公神器 —— 定时执行专家
目录 ◆ 如何设置 ◇ 方法1:使用【执行Nircmd命令】任务 ◇ 方法2:使用【模拟键盘输入】任务 ◆ 定时执行专家介绍 ◆ 定时执行专家最新版下载 ◆ 如何设置 ◇ 方法1:使用【执行Nircmd命令】任务 1、点击工具栏第一个图标【新建任务】&…...
开源库:jcon-cpp
说明 jcon-cpp 是一个用于 C 的 JSON-RPC 库,它允许开发者通过 JSON-RPC 协议进行进程间通信(IPC)。JSON-RPC 是一种轻量级的远程过程调用协议,基于 JSON 格式数据进行通信。基于MIT协议,最新代码基于Qt6实现。可通过…...
Docker入门之docker基本命令
Docker入门之docker基本命令 官方网站:https://www.docker.com/ 1. 拉取官方镜像并创建容器(以redis为例) 拉取官方镜像 docker pull redis# 如果不需要添加到自定义网络使用这个命令,如需要,直接看第二步 docker r…...
C++ Qt练习项目 QChar功能测试
个人学习笔记 代码仓库 GitCode - 全球开发者的开源社区,开源代码托管平台 新建项目 设计UI 1、拖入group box去掉名字 2、拖入2个LineEdit 3、拖入两个Label 4、拖入两个PushButton 5、点栅格布局 1、拖入GroupBox 2、拖入4个PushButton 3、点栅格布局 1、拖入GroupBo…...
Taro+react 开发第一节创建 带有redux状态管理的项目
Taro 项目基于 node,请确保已具备较新的 node 环境(>16.20.0),推荐使用 node 版本管理工具 nvm 来管理 node,这样不仅可以很方便地切换 node 版本,而且全局安装时候也不用加 sudo 了。 1.安装 npm inf…...
【SOC 芯片设计 DFT 学习专栏 -- RTL 中的信号名和 Netlist 中的信号名差异】
Overview 本文将介绍 soc 设计中 RTL-to-Netlist 映射及 RTL 中的信号名和 Netlist 中的信号名差异, 在 SoC设计中,RTL-to-Netlist映射 是从RTL(Register Transfer Level)代码转换为Netlist的过程。这通常涉及将用硬件描述语言&…...
551 灌溉
常规解法: #include<bits/stdc.h> using namespace std; int n,m,k,t; const int N105; bool a[N][N],b[N][N]; int cnt; //设置滚动数组来存贮当前和下一状态的条件 //处理传播扩散问题非常有效int main() {cin>>n>>m>>t;for(int i1;i&l…...
计算机网络之---OSI七层模型
为什么会有七层模型 OSI七层模型的出现源于计算机网络技术的发展需求,主要解决以下几个问题: 标准化与互操作性 随着计算机网络的快速发展,不同厂商、不同技术之间的设备和系统需要能够无缝通信。而不同厂商在网络硬件、软件、协议等方面存在…...
spring task使用
Spring Task 简介 Spring Task 是 Spring 框架原生自带的任务调度框架,它犹如一把瑞士军刀,为开发者提供了丰富多样的功能,助力轻松创建和管理定时任务。相较于其他一些第三方任务调度框架,Spring Task 最大的优势在于其与 Sprin…...
ADB->查看进程并强杀进程
查看进程 adb shell ps | findstr com.example.myapplication// result u0_a275 26312 914 17185988 193260 do_freezer_trap 0 S com.example.myapplication用户USER: u0_a275 该字段表示运行此进程的用户。在 Android 中,应用通常以 uN_aM 的格式表…...
Qt重写webrtc的demo peerconnection
整个demo为: 可以选择多个编码方式: cmake_minimum_required(VERSION 3.5)project(untitled LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_INCLUDE_CURRENT_DIR ON)set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON)set(CMA…...
comfyui精准作图之gligen
简介 在 Stable Diffusion(SD)中,GLIGEN 是一种用于增强文本到图像生成模型可控性的技术。它通过在现有的预训练扩散模型(如 Stable Diffusion)基础上,引入额外的定位输入(如边界框、关键点或参…...
再次梳理ISP的大致流程
前言: 随着智能手机的普及,相机与我们的生活越来越紧密相关。在日常生活中,我们只需要轻轻按下手机上的拍照按钮,就能记录下美好时刻。那么问题来了:从我们指尖按下拍照按钮到一张色彩丰富的照片呈现在我们面前&#x…...
系统思考与因果智慧
“众生畏果,菩萨畏因”,这句话蕴藏着深厚的因果智慧,与系统思考不谋而合。 众生畏果,体现了大多数人的行为模式:关注的是眼前的问题与结果,比如失败、冲突、痛苦。正如在系统思考中,我们称之为…...
k8s排错集:zk集群的pod报错 Init:CrashLoopBackOff无法启动
zk三节点集群,zk-0无法启动 statefulset 进到该node节点上查看容器的报错日志,发现在初始化container的时候一个命令有问题 查看正常zk集群的pod的资源配置文件 解决办法: 修改资源配置文件 应该修改为 chown -R 1000:1000 /zkenv kubec…...
商品详情API接口数据解析,API接口系列(示例返回数据(JSON格式))
商品详情API接口是用于获取特定商品详细信息的编程接口。它通常返回JSON格式的数据,包含商品的各种属性,如名称、价格、描述、库存状态、图片URL等。以下是一个典型的商品详情API接口数据解析示例,以及如何调用和使用这些数据的基本步骤。 示…...
Qt官方下载地址
1. 最新版本 Qt官方最新版本下载地址:https://www.qt.io/download-qt-installer 当前最新版本Qt6.8.* 如下图: 2. 历史版本 如果你要下载历史版本安装工具或者源码编译方式安装,请转至此链接进行下载:https://download.qt.i…...
Python自学 - 类进阶(可调用对象)
返回目录 1 Python自学 - 类进阶(可调用对象) 可调用对象在Python中有很重要的作用,那什么是可调用对象呢? 可以简单的理解为,凡是对象可以加括号给参数的都叫可调用对象,如:obj(x)中obj就是可调用对象,因…...
键盘过滤驱动
文章目录 概述注意源码参考资料 概述 irp请求会从io管理器中传递到设备栈中依次向下发送,当到达底层真实设备处理完成后,会依次返回,这时如果在设备栈中有我们自己注册的设备,就可以起到一个过滤的功能。键盘过滤驱动就是如此&am…...
Type-C单口便携显示器-LDR6021
Type-C单口便携显示器是一种新兴的显示设备,它凭借其便携性、高性能和广泛的应用场景等优势,正在成为市场的新宠。以下是Type-C单口便携显示器的具体运用方式: 一、连接与传输 1. **设备连接**:Type-C单口便携显示器通过Type-C接…...
ClickHouse vs StarRocks 选型对比
一、面向列存的 DBMS 新的选择 Hadoop 从诞生已经十三年了,Hadoop 的供应商争先恐后的为 Hadoop 贡献各种开源插件,发明各种的解决方案技术栈,一方面确实帮助很多用户解决了问题,但另一方面因为繁杂的技术栈与高昂的维护成本&…...
服务器数据恢复—raid5故障导致上层ORACLE无法启动的数据恢复案例
服务器数据恢复环境&故障: 一台服务器上的8块硬盘组建了一组raid5磁盘阵列。上层安装windows server操作系统,部署了oracle数据库。 raid5阵列中有2块硬盘的硬盘指示灯显示异常报警。服务器操作系统无法启动,ORACLE数据库也无法启动。 服…...
鼠标过滤驱动
文章目录 概述代码参考资料 概述 其编写过程大体与键盘过滤驱动相似,只需要切换一下附加的目标设备以及创建的设备类型等。但在该操作后依然无法捕获到Vmware创建的win7操作系统的鼠标irp信息,于是通过在获取鼠标驱动,遍历其所有的设备进而附…...
SQL进阶实战技巧:LeetCode2201. 统计可以提取的工件?
目录 0 题目描述 1 数据准备 2 问题分析 第一步:生成每个工件的所有单元格 第二步:标记被挖掘的单元格...
Supermaven 加入 Cursor:AI 编码新篇章
引言 2024 年 11 月 11 日,我们迎来了一个激动人心的时刻——Supermaven 正式加入 Cursor! 这一合作标志着 AI 编程工具进入了一个新的发展阶段,为开发者提供更智能、更高效的编码体验。本文将带您了解此次合并的背景、意义以及未来的发展方…...
金融项目实战 01|功能测试分析与设计
前置内容:金融项目准备的内容笔记可直接看如下笔记 只看:一、投资专业术语 和 二、项目简介 两部分文章浏览阅读2.3k次,点赞70次,收藏67次。安享智慧理财金融系统测试项目,测试用例,接口测试,金…...
阿里云直播互动Web
官方文档:互动消息Web端集成方法_视频直播(LIVE)-阿里云帮助中心 以下是代码实现: <!-- 引入阿里云互动文件 --> <script src"https://g.alicdn.com/code/lib/jquery/3.7.1/jquery.min.js"></script> <script src&quo…...
python【输入和输出】
Python 有三种输出值的方式: 表达式语句print() 函数使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。 ① 将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现: str(): 函数返回一个用户易…...
网络安全建设方案,信息安全风险评估报告,信息安全检测文档(Word原件完整版)
一、概述 1.1工作方法 1.2评估依据 1.3评估范围 1.4评估方法 1.5基本信息 二、资产分析 2.1 信息资产识别概述 2.2 信息资产识别 三、评估说明 3.1无线网络安全检查项目评估 3.2无线网络与系统安全评估 3.3 ip管理与补丁管理 3.4防火墙 四、威胁细…...
nexus搭建maven私服
说到maven私服每个公司都有,比如我上一篇文章介绍的自定义日志starter,就可以上传到maven私服供大家使用,每次更新只需deploy一下就行,以下就是本人搭建私服的步骤 使用docker安装nexus #拉取镜像 docker pull sonatype/nexus3:…...
Redis为 List/Set/Hash 的元素设置单独的过期时间
一.业务简介 我们知道,Redis 里面暂时没有接口给 List、Set 或者 Hash 的 field 单独设置过期时间,只能给整个列表、集合或者 Hash 设置过期时间。 这样,当 List/Set/Hash 过期时,里面的所有 field 元素就全部过期了。但这样并不…...
高比例压缩:Linux 中的压缩命令与技巧
文章目录 高比例压缩:Linux 中的压缩命令与技巧1. 压缩格式的选择2. gzip 命令示例:压缩文件示例:解压文件 3. bzip2 命令示例:压缩文件示例:解压文件 4. xz 命令示例:压缩文件示例:解压文件 5.…...
73.矩阵置零 python
矩阵置零 题目题目描述示例 1:示例 2:提示: 题解思路分析Python 实现代码代码解释提交结果 题目 题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例…...
工业互联网项目开发工作流及各阶段核心关注点
工业互联网项目开发全流程V3.0 工业互联网项目开发工作流程及核心问题 一、需求分析 1、共享平台需求分析 这个平台要解决什么问题? 这个平台的用户群体是谁? 这个平台应该具备哪些主要功能? 这个平台的使用场景是什么? 这个平…...
简单易用的PDF工具箱
软件介绍 PDF24 Creator是一款简单易用的PDF工具箱,而且完全免费,没有任何功能限制。既可以访问官网在线使用各种PDF工具,也可以下载软件离线使用各种PDF工具。 软件功能 1、PDF转换 支持将多种文件格式(Word、PowerPoint、Exc…...
氧化铌在光学领域的独特贡献与应用拓展-京煌科技
在当今科技日新月异、各领域不断寻求突破创新的时代背景下,众多材料因其独特的性能而备受关注,氧化铌便是其中极具代表性的一种。作为铌的氧化物,其化学式为 Nb₂O₅,以无色或白色固体的形态存在,正凭借着优良的热稳定…...
EXCEL技巧
1. EXCEL技巧 1.1. 截取表格内某个字符之前的所有字符 1.1.1.样例 在单元格内输入函数: # 截取A1单元格内“分”字符左边的所有字符 LEFT(A1,FIND("分",A1)-1)1.1.2.截图...
Java 将RTF文档转换为Word、PDF、HTML、图片
RTF文档因其跨平台兼容性而广泛使用,但有时在不同的应用场景可能需要特定的文档格式。例如,Word文档适合编辑和协作,PDF文档适合打印和分发,HTML文档适合在线展示,图片格式则适合社交媒体分享。因此我们可能会需要将RT…...
shell的变量
在程序设计语言中,变量是一个非常重要的概念。也是初学者在进行Shell程序设计之前必须掌 握的一个非常基础的概念。只有理解变量的使用方法,才能设计出良好的程序。本节将介绍Shell中变量 的相关知识。 1、什么是变量 顾名思义,变量就是程序…...
【STM32】利用SysTick定时器定时1s
1.SysTick简单介绍 SysTick定时器是一个24位的倒计数定时器,当计数到0时,将从RELOAD寄存器中自动重装载定时初值,开始新一轮计数。 SysTick定时器用于在每隔一定的时间产生一个中断,即使在系统睡眠模式下也能工作。 关于SysTic…...
halcon3d 如何计算平面法向量!确实很简单
这个问题其实一直困扰了我很长时间,之前是怎么算的呢 对于一个平面,我会先求它的fit_primitives_object_model_3d去将它拟合,接下来用surface_normals_object_model_3d 算子生成它的法线,后用get_object_model_3d_params (ObjectModel3DNormals, ‘point_normal_x’, GenP…...
计算机网络_物理层
2.1物理层的基本概念 传输媒体 导引型传输媒体 双绞线 同轴电缆 光纤 非导引型传输媒体 微波通信 2~40GHz 物理层协议的主要任务 机械特性 电器特性 功能特性 过程特性 物理层概述 物理层考虑是怎样才能在连接各种计算机的传输媒体上传输数据比特流…...
Springboot——钉钉(站内)实现登录第三方应用
文章目录 前言准备1、创建钉钉应用,并开放网页应用2、配置网页应用各项参数发布版本 前端改造后端逻辑1、获取应用免登录 Access_token2、通过免登录 Access_token 和 Auth_Code 获取对应登录人信息 注意事项 前言 PC端的钉钉中工作台,增加第三方应用&a…...
libusb学习——简单介绍
文章目录 libusb 简介libusb 编译libusb 源码目录介绍核心代码文件平台支持例子 API使用libusb初始化和去初始化libusb设备处理和枚举libusb 杂项libusb USB描述符libusb 设备热插拔事件通知libusb 异步设备I/Olibusb 同步设备I/Olibusb 轮询与定时 libusb 涉及技术参考 libusb…...