基于SpringBoot和PostGIS的应急运输事件影响分析-以1.31侧翻事故为例
目录
前言
一、技术实现路径
1、需要使用的数据
2、空间分析方法
二、相关模块设计与实现
1、运输路线重现开发
2、事故点影响范围实现
3、WebGIS可视化实现
三、讨论
1、界面结果展示
2、影响范围分析
四、总结
前言
在交通运输发达的当今社会,应急运输事件的发生对社会的稳定和人民的生命财产安全带来了诸多挑战。如何及时、准确地分析此类事件的影响,为应急决策提供有力支持,成为了亟待解决的问题。而 2025 年 1 月 31 日发生在湖南永州零陵区的罐车侧翻事故,更是为我们敲响了警钟,也为我们提供了一个典型案例来展开深入研究。
此次事故中,车牌为陕 E·F5115(挂车牌为陕 E·265C 挂)的过境罐车在零陵区康济大道和朝阳大道交会处发生侧翻,致使车内装载的 33.5 吨粗苯部分泄漏。事故幸未造成人员伤亡,但粗苯作为一种有毒有害物质,其泄漏引发了严重的环境风险,可能对周边的水资源、土壤以及居民健康造成严重影响。
在对此次事故的影响分析中,SpringBoot 和 PostGIS 的结合应用展现出了独特的优势。SpringBoot 作为一个开源的 Java 开发框架,具有开发简单、快速、高效等特点,能够为我们搭建稳定、可靠的后端服务。PostGIS 则是 PostgreSQL 的空间数据库扩展,可以高效地处理地理空间数据,实现空间查询、分析等功能。通过 SpringBoot 和 PostGIS 的协同工作,我们可以将事故现场的地理信息、车辆运输数据、环境监测数据等进行整合与分析,直观地呈现事故的影响范围和程度,为应急救援、环境污染治理以及后续的事故调查等工作提供科学依据。
接下来,本文将详细介绍基于 SpringBoot 和 PostGIS 的应急运输事件影响分析的具体方法和实践过程,深入剖析 1.31 侧翻事故中的数据采集、处理、分析以及可视化展示等各个环节,探讨该技术方案在应急事件中的应用价值和局限性,并对未来的发展方向进行展望,以期为提升我国应急管理水平和应急处置能力贡献一份力量。
一、技术实现路径
本节将重点介绍本次分析中所需要使用到的相关数据,比如天地图资源、路网数据、风景区点数据、居民点数据、机场数据等。其次介绍具体的空间分析方法。
1、需要使用的数据
序号 | 数据内容 | 说明 |
1 | 运输路线规划 | 使用天地图的路径规划服务 |
2 | 路网信息 | 使用天地图服务 |
3 | 风景区数据 | PostGIS空间表,biz_scenic_spot |
4 | 机场数据 | PostGIS空间表,biz_global_airport_info |
5 | 居民点数据 | PostGIS空间表,biz_village |
2、空间分析方法
本文重点需要展示两部分的信息,第一个是对运输路线进行还原和回放。第二个重要部分就是需要分析事故点附近的居民点、风景区即机场空间分布范围,由此为相关部门的决策提供一些辅助和支撑。因此这里的空间分析方法也分为两步:第一步是使用SpringBoot调用天地图的路径规划接口,对事故的运输路线进行还原;第二个是通过获取事故侧翻点的经纬度坐标,来分析该点附近1公里、2公里、3公里范围的居民区、景点和飞机场信息。在空间分析中空间的函数使用st_dwithin,具体的实现SQL如下:
with bp as ( select ST_GeomFromText(format('point(%s %s)',111.620623,26.198523),4326) as geom) 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,3000 )
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,3000 )
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,3000 ) ) ta order by ta.dist
在数据库中执行以上语句后得到以下结果:
二、相关模块设计与实现
本节将重点介绍相关的模块的设计与实现。分为前端和后端两个方面,重点是介绍运输路线的重现和事故点影响范围分析两点。通过本节的介绍,大家将掌握如何来进行相关空间分析的设计与实现。
1、运输路线重现开发
运输路线的还原实现,主要是在后台使用Uniapi来调用天地图提供的官方服务。虽然在之前的系列文章中曾经介绍了天地图的uniapi调用,但是在之前的博文中。关于路径规划的调用只涉及到了两个参数,即起始点。而在本次博客的事故场景中,我们不仅要实现按照起始点的规划,同时还需要关联中间的转折点,比如本文的事故点,湖南省永州市零陵区康济大道和朝阳大道交汇处。需要在调用路径规划是传入中间的坐标点信息,关键代码如下:
@Override
public TdtResult benzeneTransportation(String lon,String lat) throws Exception {String origInfo = "111.277771,23.469545";//广西梧州String destInfo = "115.029602,35.753199";//河南濮阳 //String mid = "111.620623,26.198523";//湖南省永州市零陵区康济大道和朝阳大道交汇处String mid = lon + "," + lat;// 地图自助选点 26.196898, 111.6203// style 默认0 (0:最快路线,1:最短路线,2:避开高速,3:步行)// 这里选择避开高速String postStr = "%7B'orig':'" + origInfo + "','dest':'" + destInfo + "','mid':'" + mid + "','style':'2'%7D" ;HttpResponse<String> resp = tdtOptionService.drivePlan(postStr,"search",TDT_SERVER_KEY);JAXBContext context = JAXBContext.newInstance(TdtResult.class);Unmarshaller unmarshaller = context.createUnmarshaller();TdtResult result = (TdtResult) unmarshaller.unmarshal(new StringReader(resp.getBodyResult()));return result;
}
在SpringBoot中实现的天地图uniapi接入示例代码如下:
package com.yelang.project.thridinterface;
import com.burukeyou.uniapi.http.annotation.HttpApi;
import com.burukeyou.uniapi.http.annotation.param.QueryPar;
import com.burukeyou.uniapi.http.annotation.request.GetHttpInterface;
import com.burukeyou.uniapi.http.core.response.HttpResponse;
@HttpApi(url = "http://api.tianditu.gov.cn/")
public interface TdtOptionService {@GetHttpInterface("geocoder")public HttpResponse<String> getGeocoder(@QueryPar("ds") String ds,@QueryPar("tk") String tk);@GetHttpInterface("drive")public HttpResponse<String> drivePlan(@QueryPar("postStr") String postStr,@QueryPar("type") String type,@QueryPar("tk") String tk);@GetHttpInterface("v2/search")public HttpResponse<String> searchV2(@QueryPar("postStr") String postStr,@QueryPar("type") String type,@QueryPar("tk") String tk);
}
通过Controller的API返回给前端的接口数据如下所示:
可以很明显的看到,运输路线的重现基本已经实现,在前端的控制台中已经实现对路线的调用。 下面就可以来对空间影响范围进行实现。
2、事故点影响范围实现
对于事故点的影响范围实现主要是利用了空间数据库的空间查询函数,postgis空间函数的查询sql在前面的实现已经讲过,这里将sql加载到MybatisPlus中进行执行,其对应的Mapper类方法如下:
static final String FIND_EFFECT_LIST_SQL = "<script>"
+ " with bp as ( select ST_GeomFromText(format('point(%s %s)',#{lon},#{lat}),4326) as geom) "
+ " 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,#{scenicspotDist} ) "
+ " 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,#{airportDist} )"
+ " 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,#{villageDist} ) "
+ " ) ta order by ta.dist "
+ "</script>";
/**
* - 查询指定坐标附近指定距离内的风景区、机场、居民点信息
* @param lon 经度
* @param lat 纬度
* @param scenicspotDist 风景区信息
* @param airportDist 机场信息
* @param villageDist 居民点信息
* @return
*/
@Select(FIND_EFFECT_LIST_SQL)
List<EarthQuakeEffectVo> findEffectList(@Param("lon") BigDecimal lon,@Param("lat") BigDecimal lat,@Param("scenicspotDist") Integer scenicspotDist,@Param("airportDist") Integer airportDist,@Param("villageDist") Integer villageDist);
距离可以通过前端传给后台,也可以在Controller中直接指定。这里为了演示方便就在Controller中指定,在很多的业务实现场景中,完全是可以从前端传入,不过需要结合坐标参考类型来控制生成的空间对象范围不要太大。 Controller的示例方法如下:
@RequiresPermissions("edu:tdt:routing:phhmap")
@GetMapping("/phhmap")
public String phhmap(){return prefix + "/phhmap";
}/**
* - 苯运输路线重现
* @return
*/
@PostMapping("/phhtrans")
@ResponseBody
public AjaxResult phhtrans() throws Exception{AjaxResult ar = AjaxResult.success();String lon = "111.620623";String lat = "26.198523";TdtResult result = tdtRoutingService.benzeneTransportation(lon, lat);ar.put("data", result);return ar;
}/**
*- 获取泄漏点影响信息列表,用post
* @return
*/
@PostMapping("/phheffect")
@ResponseBody
public AjaxResult effect(){AjaxResult ar = AjaxResult.success();String lon = "111.620623";String lat = "26.198523";List<EarthQuakeEffectVo> dataList = tdtRoutingService.findEffectList(new BigDecimal(lon),new BigDecimal(lat),3000,3000,3000);ar.put("data", dataList);return ar;
}
3、WebGIS可视化实现
这里使用的WebGIS展示插件采用Leaflet,为了让展示的效果更加符合实际的需要。我们在进行事故点的标绘时,加入了闪烁的功能和影响范围的中文标绘信息。这些知识点在之前的系列博客都曾经介绍过,这里不再赘述。这里介绍主要使用的对象,首先是需要定义一个闪烁点、第二是按照1、2、3公里生成影响评估面,第三是路径规划的路线信息,第四是在影响范围内的风景区、居民区、机场的点位信息。这里有一个地方需要注意的是,在展示闪烁点的时候,不要将闪烁点跟受影响居民点等信息放到一个方法中,否则会影响正常的展示,下面是写在一个方法的代码中的效果:
可以很明显的看到事故点有一个黑色的外环,这样的效果不好,需要改进。 将代码复制到影响范围后效果就很明显:
初步怀疑是都生成marker时,对具体的对象样式产生了一定的影响。所谓距离产生美,分开就没有这种问题了。
三、讨论
下面对功能进行一个简单的展示,也对本次事故的受影响范围进行一个分析和讨论。
1、界面结果展示
上图是本次运输过程的重现,从广西梧州到河南濮阳的全称路线规划,出现闪烁点的位置是在湖南永州市。这是一张路线的展示。
上图是该事故点3公里、2公里、1公里范围内的居民点、风景区、机场分布信息。
2、影响范围分析
从本次影响范围来看,在事发点三公里范围的相关点位总共有15处,其中距离事发地最近的是沙沟湾社区,只有170米,其次是诸葛庙村,距离396米。距离1000到2000的有两个地点,一个是居委会,另外是一个旅游景点。其中南津渡社区居委会距离1137米,而永州零陵永州之野-异蛇世界距离1441.96061182。
这些距离事故点越近的居民点,在进行应急风险评估是,其受的伤害一定是最直接和最重的,因此非常有必要按照距离来进行风险等级评估。
四、总结
以上就是本文的主要内容,在对此次事故的影响分析中,SpringBoot 和 PostGIS 的结合应用展现出了独特的优势。SpringBoot 作为一个开源的 Java 开发框架,具有开发简单、快速、高效等特点,能够为我们搭建稳定、可靠的后端服务。PostGIS 则是 PostgreSQL 的空间数据库扩展,可以高效地处理地理空间数据,实现空间查询、分析等功能。通过 SpringBoot 和 PostGIS 的协同工作,我们可以将事故现场的地理信息、车辆运输数据、环境监测数据等进行整合与分析,直观地呈现事故的影响范围和程度,为应急救援、环境污染治理以及后续的事故调查等工作提供科学依据。行文仓促,定有不足之处,欢迎各位朋友在评论区批评指正,不胜感激。
相关文章:
基于SpringBoot和PostGIS的应急运输事件影响分析-以1.31侧翻事故为例
目录 前言 一、技术实现路径 1、需要使用的数据 2、空间分析方法 二、相关模块设计与实现 1、运输路线重现开发 2、事故点影响范围实现 3、WebGIS可视化实现 三、讨论 1、界面结果展示 2、影响范围分析 四、总结 前言 在交通运输发达的当今社会,应急运输…...
ABP-Book Store Application中文讲解 - 前期准备 - Part 2:创建Acme.BookStore + Angular
ABP-Book Store Application中文讲解-汇总-CSDN博客 因为本系列文章使用的.NET8 SDK,此处仅介绍如何使用abp cli .NET 8 SDK SQL sevrer 2014创建Angular模板的Acme.BookStore。 目录 1. ABP cli创建项目 1.1 打开cmd.exe 1.2 创建项目 2. ABP Studio创建项…...
grpc到底是啥! ! !!
一、什么是RPC(Remote Procedure Call) 简单理解: RPC是一种让程序可以像调用本地函数一样去调用远程机器上的函数或方法。它的目标:让分布式系统中的不同计算机可以透明地互相通信,实现远程服务调用的封装。 举个例…...
ES6入门---第三单元 模块五:Map和WeakMap
map: users.map((user) 遍历 类似 json, 但是json的键(key)只能是字符串 map的key可以是任意类型 使用: let map new Map(); map.set(key,value); 设置一个值 map.get(key) 获取一个值 map.delete(key) 删除一项 map.has(key) 判断有没有 map.clear…...
【C++】【数据结构】【API列表】标准库数据结构
标准库数据结构 unordered_set 头文件:#include <unordered_set> 特性: 唯一性:所有元素唯一,重复插入无效无序性:元素存储顺序不固定自定义类型:若存储自定义类型需提供哈希函数和相等比较器 …...
三、Hadoop1.X及其组件的深度剖析
作者:IvanCodes 日期:2025年5月7日 专栏:Hadoop教程 一、Hadoop 1.X 概述 (一)概念 Hadoop 是 Apache 开发的分布式系统基础架构,用 Java 编写,为集群处理大型数据集提供编程模型,…...
stm32常见错误
1.使用LCD屏幕时,只用st-link时,亮度很暗,需要用usb数据线额外给屏幕供电; 2.移植freertos到f103c8t6芯片时,工程没有错误,但单片机没有反应; 需要将堆的大小改成10*1024; 3.在找已经…...
《Python星球日记》 第46天:决策树与随机森林
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏:《Python星球日记》,限时特价订阅中ing 目录 一、前言二…...
【Pandas】pandas DataFrame expanding
Pandas2.2 DataFrame Function application, GroupBy & window 方法描述DataFrame.apply(func[, axis, raw, …])用于沿 DataFrame 的轴(行或列)应用一个函数DataFrame.map(func[, na_action])用于对 DataFrame 的每个元素应用一个函数DataFrame.a…...
【SpringCloud GateWay】Connection prematurely closed BEFORE response 报错分析与解决方案
一、背景 今天业务方调用我们的网关服务报错: Connection prematurely closed BEFORE response二、原因分析 三、解决方案 第一步: 增加 SCG 服务的JVM启动参数,调整连接获取策略。 将连接池获取策略由默认的 FIFO(先进先出)变更为 LIFO(…...
【行业】一些名词
名词 分布式应用架构(分布式计算技术的应用和工具)中间件 中间件(Middleware)主流中间件技术1.通信类2.数据类3. **协调与治理类中间件**4. 监控与可观测性中间件5.**流处理与批处理**中间件6.云原生中间件 数据库Redismogodb 分布…...
深度学习模型的部署实践与Web框架选择
引言 在深度学习项目的完整生命周期中,模型训练只是第一步,将训练好的模型部署到生产环境才能真正发挥其价值。本文将详细介绍模型部署的核心概念、常见部署方式以及三种主流Python Web框架的对比分析,帮助开发者选择最适合自己项目的技术方…...
【笔记】当个自由的书籍收集者从canvas得到png转pdf
最近有点迷各种古书,然后从 www.shuge.org 下载了各种高清的印本,快成db狂魔了…上面也有人在各种平台上分享,不胜感激…只是有些平台可以免费看但是没法下载… 反正你都canvas了,撸下来自己珍藏… 于是让qwen写了一段代码&#…...
Ubuntu 配置网络接口端点(静态 IP 地址)详细教程
在 Ubuntu 系统中,配置网络接口端点通常指的是为您的有线或无线网卡设置一个固定的 IP 地址、子网掩码、网关以及 DNS 服务器。这对于服务器或者需要稳定网络标识的设备来说非常重要。 使用 Netplan (Ubuntu 17.10 及更高版本的默认方式)使用 ifupdown (通过 /etc/…...
JavaScript ES6+ 最佳实践
1. 变量声明:从 var 到 let/const 问题代码:var 存在变量提升,只有函数作用域,没有块级作用域,容易导致变量污染。 // 变量提升导致意外行为 console.log(num); // undefined 而非报错 var num 10;// 没有块级作用域…...
华为昇腾在智慧矿山机器人的应用及其技术解决方案
一、智慧矿山机器人的核心应用场景 1. 井下智能巡检机器人 搭载昇腾AI芯片的巡检机器人可实现 全自主导航与多模态感知,通过激光雷达视觉SLAM技术实时构建井下三维地图,精准识别巷道变形、设备漏油等异常状态47。结合昇腾边缘计算能力…...
发那科机器人3(机器人编程基础)
发那科机器人(机器人编程基础) 一、机器人编程基础1、程序构成2、程序创建3、程序修改4、程序操作5、程序的停止与恢复6、执行程序7、测试运转8、自动运转一、机器人编程基础 1、程序构成 什么是程序? 程序指的是由用户编写的一系列机器人指令以及其他附带信息构成,使机器…...
2014年写的一个文档《基于大数据应用的综合健康服务平台研发及应用示范》
项目目标与任务 项目目标与任务需求分析 当今社会已经处于高度信息化的时代,作为关系民生的重要领域,医疗行业的信息化直接涉及临床服务、社会保障、医学研究和大众健康等环节,对提升医疗服务水平,强化管理职能,改善…...
Python初学者笔记第十一期 -- (字符串编程练习题)
第20节课 【字符串编程练习题】 练习01 回文字符串 输入一个字符串,判断其是否是回文字符串。 # 思路1 # s1 "黄山落叶松叶落山黄" # s2 s1[::-1] # 反转 # print(s2) # print(s1 s2)# 思路2 def is_palindrome(s):l 0r len(s) - 1while l < r…...
[量化交易Backtrader] - 如何规避过拟合
一、回测中的过拟合:隐藏在数据背后的陷阱 过拟合发生在模型过度适应历史数据,以至于在新数据上表现不佳。这就像是为历史数据量身定制了一件衣服,却在新的数据集上穿不进去。 (一)过拟合的常见表现 曲线过于完美 当在回测报告中看到策略的净值曲线如同一条完美的上升直…...
前端日常 · 移动端网页调试
前端日常 移动端网页调试技巧集锦:5个工具 实战思路 在移动端开发中,调试网页内容常常不是“写完就跑”的顺滑体验。尤其当页面跑在 App WebView 里时,不同系统版本、设备特性、浏览器行为都可能带来各种“只有你遇得到”的玄学 Bug。本篇…...
SQLite数据库加密(Java语言、python语言)
1. 背景与需求 SQLite 是一种轻量级的关系型数据库,广泛应用于嵌入式设备、移动应用、桌面应用等场景。为了保护数据的隐私与安全,SQLite 提供了加密功能(通过 SQLCipher 扩展)。在 Java 中,可以使用 sqlite-jdbc 驱动与 SQLCipher 集成来实现 SQLite 数据库的加密。 本…...
【前端基础】6、CSS的文本属性(text相关)
目录内容 text-decoration:设置文本装饰线text-transform:文本中文字的大小写转换text-indent:首行缩进text-align:设置文本对齐方式 一、text-decoration:设置文本装饰线 常见值: None:没有…...
Kafka生产者send方法详解
Kafka生产者send方法详解 1. send方法的工作原理 1.1 基本流程 #mermaid-svg-EXvKiyf8oSlenrxK {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-EXvKiyf8oSlenrxK .error-icon{fill:#552222;}#mermaid-svg-EXvKiyf…...
RPA与After Effects 2024深度融合:自动化影视特效全链路革命
文章目录 一、RPA在影视后期中的核心应用场景1. 跨平台数据自动化采集与预处理2. 动态数据驱动动画:从Excel到AE的无缝衔接 二、After Effects 2024自动化增强技术1. Python脚本深度集成:批量生成三维动画2. 实时渲染优化:智能调度与多分辨率…...
【Python 实战】---- 使用Python批量将 .ncm 格式的音频文件转换为 .mp3 格式
1. 前言 .ncm 格式是网易云音乐专属的加密音频格式,用于保护版权。这种格式无法直接播放,需要解密后才能转换为常见的音频格式。本文将介绍如何使用 Python 批量将 .ncm 格式的音频文件转换为 .mp3 格式。 2. 安装 ncmdump ncmdump 是一个专门用于解密 .ncm 文件的工具。它…...
【上位机——MFC】序列化机制
相关类 CFile-文件操作类,封装了关于文件读写等操作 CFile::Open CFile::Write/Read CFile::Close CFile::SeekToBegin / SeekToEnd / Seek 代码示例 #include <afxwin.h> #include <iostream>using namespace std;void File() {CFile file;file.Ope…...
同步 / 异步、阻塞 / 非阻塞
前言 同步异步,在计算机科学中是一个非常重要的概念。作为一位软件开发工程师,我们每天都在和同步和异步打交道。 同步 同步-阻塞,顾名思义,就是同步和阻塞。调用方法后,必须等到结果返回,才能继续执行别…...
Java学习手册:ORM 框架性能优化
一、优化实体类设计 减少实体类属性 :仅保留必要的字段,避免持久化过多数据。例如,对于一个用户实体类,如果某些信息(如详细地址)不是经常使用,可以将其拆分到单独的实体类中。使用合适的数据类…...
标量/向量/矩阵/张量/范数详解及其在机器学习中的应用
标量(Scalar)、向量(Vector)、矩阵(Matrix)、张量(Tensor)与范数(Norm)详解及其在机器学习中的应用 1. 标量(Scalar) 定义࿱…...
Android学习总结之网络篇补充
一、TCP/IP 五层模型(字节跳动 / 腾讯高频题) 面试真题 1:TCP/IP 五层模型与 OSI 七层模型的区别是什么?各层的核心协议有哪些? 常见错误:混淆五层模型与七层模型的层次对应,遗漏关键协议&…...
金融企业如何借力运维监控强化合规性建设?
日前,国家金融监督管理总局网站公布行政处罚信息,认定某银行存在多项违规并对其进行罚款。其中,国家金融监督管理总局认定该银行主要违规内容包括: 一、部分重要信息系统识别不全面,灾备建设和灾难恢复能力不符合监管要…...
食品行业EDI:General Mills EDI需求分析
General Mills 是全球知名的食品制造企业致力于生产和销售各类食品和消费品牌,涵盖早餐谷物、零食、乳制品、烘焙产品和宠物食品等多个领域。其旗下拥有众多家喻户晓的品牌,如 Cheerios、Nature Valley、Yoplait、Hagen-Dazs 和 Blue Buffalo。General M…...
C语言初阶--数组
1.一维数组的创建和初始化 1.1数组的创建 数组是一组相同类型元素的集合。 数组的创建方式: type_t arr_name [const_n]; //type_t 数组的元素类型 //const_n 常量表达式,指定数组的大小#include <stdio.h> int main() {int arr[10]; //数组…...
如何做界面自动化工具选择?
在2025年的技术环境中,UI自动化测试工具的选择需综合考虑工具的功能特性、适用场景、维护成本以及与团队技术栈的匹配度。以下从不同维度对当前主流的UI自动化工具进行分类推荐,并结合实际应用场景提供选型建议: 一、AI驱动的智能测试工具 …...
点云采集学习个人记录
Eagle LiDAR Scanner使用 3DMakerpro Eagle 发布:基于 LiDAR 的空间 3D 扫描仪 --- 3DMakerpro Eagle Launch: LiDAR-based Spatial 3D Scanner (3dwithus.com) RayStudio 工作流程教程 https://store.3dmakerpro.com/blogs/school/raystudio-workflow-tutorial…...
css识别\n换行
在CSS中,\n 通常不会被识别为换行符。如果你希望在CSS中实现换行效果,可以使用以下几种方法: 使用 white-space 属性: 设置 white-space: pre 或 white-space: pre-wrap,这样文本中的换行符 \n 会被保留并显示为换行。…...
《Python星球日记》 第45天:KNN 与 SVM 分类器
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏:《Python星球日记》,限时特价订阅中ing 目录 一、KNN 原理与距离计算1. KNN 的基本原理2. 距离计算方法3. K值的选择二、SVM 的支持向量与核技…...
STM32基础教程——硬件SPI
目录 前言 SPI硬件电路 SPI部分特征 SPI框图 SPI数据收发过程 W25Q64 技术实现 接线图 代码实现 技术要点 引脚操作 SPI初始化 SPI起始信号 SPI终止信号 SPI字节交换 宏替换W25Q64操作指令 W25Q64写使能 忙等待 读取设备ID号和制造商ID 页写入 数…...
系统架构-云原生架构设计
内涵 基于云原生技术,旨在将云应用中的非业务代码部分进行最大化的剥离,让云设施接管应用中原有的大量非功能特性。 云原生的代码包括三部分:业务代码、三方软件、处理非功能特性的代码 具备云原生架构的应用可以最大程度利用云服务和提升…...
ROS2: 服务通信
目录 服务通信模型服务通信的C实现服务端客户端 关键函数说明 服务通信模型 服务通信模型如上图所示,分为服务端和客户端,客户端根据需要向服务端发送请求(Request),服务端处理请求,并向客户端发回响应&…...
贵州省棒球运动发展中长期规划(2024-2035)·棒球1号位
贵州省棒球运动发展中长期规划(2024-2035) Guizhou Province Baseball Development Medium & Long-Term Plan (2024-2035) 一、战略定位 | Strategic Positioning 立足贵州山地特色与民族文化,借鉴洛杉矶"社区棒球"模式&…...
深度学习中的autograd与jacobian
1. autograd 对于一个很简单的例子,如下图所示,对于一个神经元z,接收数据x作为输入,经过激活函数,获得激活后的结果,最后利用损失函数获得损失,然后梯度反向回传。 上图右侧即梯度反向回传的过…...
Ubuntu 使用dotfiles个性化配置模板
dotfiles 什么是dotfilercm软件手动修改/生成dotfile启动脚本 .bash_profile按键绑定 .inputrc别名 .alias其他dotfiles 从github克隆从Github库中下载代码让dotfile文件生效 GUN stow管理初始化目录结构使用Stow 参考文章 什么是dotfile 每个人都有自己用电脑的习惯ÿ…...
VIVADO IP核整理(二)——FFT
目录 IP 核配置IP 核接口s_axis_config_tdata 配置输入输出端口描述 仿真 参考:FFT IP核 详细介绍 参考:官方文档介绍 IP 核配置 在 IP Catalog 中搜索:Fast Fourier Transform 按照上图所示进行配置,下文对配置内容进行详述。 …...
Excel处理控件Aspose.Cells教程:压缩Excel文件完整指南
Excel 电子表格是管理、分析和可视化数据的有效工具,但随着文件复杂度的增加,它们很快就会变得臃肿。无论是由于数据集庞大、嵌入图片、格式过多还是隐藏工作表,Excel 文件的大小都可能迅速膨胀,导致打开速度变慢、难以通过电子邮…...
AKS 网络深入探究:Kubenet、Azure-CNI 和 Azure-CNI(overlay)
Kubernetes 网络使您能够配置 Kubernetes 网络内的通信。部署 AKS 集群时,有三种网络模型需要考虑: Kubenet 网络 KubeNet 是 AKS 中的基础网络插件。它可以被形象地比喻成大城市的地铁系统。地铁可能无法直接连接所有可能的地点(例如您的服…...
angular的cdk组件库
目录 一、虚拟滚动 一、虚拟滚动 <!-- itemSize相当于每个项目的高度为30px --><!-- 需要给虚拟滚动设置宽高,否则无法正常显示 --> <cdk-virtual-scroll-viewport [itemSize]"40" class"view_scroll"><div class"m…...
unity 使用蓝牙通讯(PC版,非安卓)
BlueTooth in pc with unity 最近接到的需求是在unity里面开发蓝牙功能,其实一开始我并不慌,因为据我所知,unity有丰富的插件可以使用,但是问题随之而来 1.unity里面无法直接与蓝牙通讯(后来找到了开启runtime一类的东西,但是我找了半天也没找到在哪里可以打开) 2.引入dll通过d…...
Feign 重试策略调整:优化微服务通信的稳定性
在微服务架构中,服务之间的通信是常见的场景。然而,网络问题、服务不稳定或临时故障都可能导致通信失败。Feign 是一个流行的声明式 REST 客户端,广泛用于微服务间的通信。通过合理调整 Feign 的重试策略,可以显著提高系统的稳定性…...