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

【写在创作纪念日】基于SpringBoot和PostGIS的各省东西南北四至极点区县可视化

目录

前言

一、空间检索简介

1、空间表结构

2、四至空间检索

二、前后端实现

1、后端实现

2、前端集成

三、成果展示

1、东部省份

2、西部省份

3、南部省份

4、北部省份

5、中部省份

四、总结


前言

        在当今数字化时代,地理信息数据的分析与可视化对于众多领域都有着至关重要的意义。从城市规划到资源管理,从环境监测到交通物流,精准、直观地呈现地理空间数据能够为决策提供有力支持。在中国这样一个地域辽阔、行政区划复杂的国家,各省的地理四至极点信息在一定程度上反映了该省的地理位置特征和空间分布情况。通过确定各省的东西南北四至极点所在的区县,并将其可视化展示,可以为众多领域提供有价值的参考。

        在城市规划方面,了解周边省份的四至极点区县有助于明确自身的区域优势和潜在发展方向,合理布局城市功能区,规划交通线路和基础设施建设,促进区域间的协调发展。对于资源管理,直观的可视化界面可以帮助管理者快速了解资源的地理分布范围,以便更好地制定资源开发与保护策略,优化资源分配,提高资源利用效率。 在环境监测领域,通过观察四至极点区县及其周边环境数据的可视化呈现,可以及时发现环境问题的空间关联性,为跨区域的环境治理提供依据,实现区域性环境协同监测与管理。此外,交通物流行业也可以借助该可视化系统,优化运输路线规划,提高物流配送效率,降低运输成本,更好地应对复杂的地理环境和运输需求。

        本次研究聚焦于基于 SpringBoot 和 PostGIS 的各省东西南北四至极点区县可视化项目。本项目旨在整合 SpringBoot 的高效开发能力和 PostGIS 的强大空间数据处理功能,构建一个精准、实时且交互性强的各省东西南北四至极点区县可视化平台,为相关领域的研究与决策提供一种创新、直观且便捷的地理信息可视化解决方案,助力探索和挖掘地理空间数据蕴含的巨大价值,推动各行业在地理维度上的科学决策与可持续发展。接下来,本文将深入探讨该可视化项目的空间查询设计、关键技术实现以及实际应用场景与效果评估等内容,详细阐述如何利用 SpringBoot 和 PostGIS 实现地理数据的有效处理与可视化展示,以满足不同用户的需求,为地理信息相关领域的研究和实践提供有价值的参考与借鉴。通过本文可以实现一个查找对应省份的四至区县和对应经纬度点坐标信息。

一、空间检索简介

        本节将重点对空间检索的知识进行综合介绍,分别从以下两点开展,首先是空间表结构展示,对县域这张空间表进行简单介绍。其次介绍如何基于PostGIS来进行省域范围的区县四至空间检索实践。

1、空间表结构

        本实例涉及的空间表结构有以下这张表,这张便是区域信息,是省份对象的区县信息。表结构如下:

        具体的表结构SQL如下所示:

 

CREATE TABLE "public"."biz_area" ("id" int8 NOT NULL,"province_code" varchar(16) COLLATE "pg_catalog"."default" NOT NULL,"province_name" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,"city_code" varchar(16) COLLATE "pg_catalog"."default" NOT NULL,"city_name" varchar(512) COLLATE "pg_catalog"."default" NOT NULL,"area_code" varchar(16) COLLATE "pg_catalog"."default" NOT NULL,"area_name" varchar(512) COLLATE "pg_catalog"."default" NOT NULL,"type" varchar(32) COLLATE "pg_catalog"."default","geom" "public"."geometry",CONSTRAINT "pk_biz_area" PRIMARY KEY ("id")
);
CREATE INDEX "idx_biz_area_areacode" ON "public"."biz_area" USING btree ("area_code" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
);
CREATE INDEX "idx_biz_area_city_code" ON "public"."biz_area" USING btree ("city_code" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
);
CREATE INDEX "idx_biz_area_geom" ON "public"."biz_area" USING gist ("geom" "public"."gist_geometry_ops_2d"
);
CREATE INDEX "idx_biz_area_geom_gp" ON "public"."biz_area" USING gist ((geom::geography) "public"."gist_geography_ops"
);
CREATE INDEX "idx_biz_area_provincec_code" ON "public"."biz_area" USING btree ("province_code" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
);
COMMENT ON COLUMN "public"."biz_area"."id" IS '主键ID';
COMMENT ON COLUMN "public"."biz_area"."province_code" IS '省份编码';
COMMENT ON COLUMN "public"."biz_area"."province_name" IS '省份名称';
COMMENT ON COLUMN "public"."biz_area"."city_code" IS '市级编码';
COMMENT ON COLUMN "public"."biz_area"."city_name" IS '市级名称';
COMMENT ON COLUMN "public"."biz_area"."area_code" IS '区县编码';
COMMENT ON COLUMN "public"."biz_area"."area_name" IS '区县名称';
COMMENT ON COLUMN "public"."biz_area"."type" IS '类型';
COMMENT ON COLUMN "public"."biz_area"."geom" IS 'geom';

        区县表的查询数据结果如下所示:

        以上就是空间表模型和表结构的简单介绍。 这张表是基础数据表格,是后续进行四至空间分析的基础。

2、四至空间检索

        要想实现空间四至的求解,其实可以转换成寻找当前面数据的四至范围极值的问题。因此我们只需要找到能包围当前面数据的做大点的坐标即可。为了方便实现按照某省份来查询其对应的四至范围,因此在Postgresql中使用子查询来进行数据的过滤,首先定义with 子句。查询的SQL如下:

WITH temp_area AS (SELECT *  FROM biz_area T WHERE T.province_code = '510000'),bounds_info AS ((SELECT '最东' AS direction, T.*, ST_X(dp.geom) AS x, ST_Y(dp.geom) AS yFROM temp_area T, LATERAL ST_DumpPoints(T.geom) AS dpORDER BY x DESC LIMIT 1)UNION (SELECT '最西' AS direction, T.*, ST_X(dp.geom) AS x, ST_Y(dp.geom) AS yFROM temp_area T, LATERAL ST_DumpPoints(T.geom) AS dpORDER BY x ASC LIMIT 1)UNION (SELECT '最北' AS direction, T.*, ST_X(dp.geom) AS x, ST_Y(dp.geom) AS yFROM temp_area T, LATERAL ST_DumpPoints(T.geom) AS dpORDER BY y ASC LIMIT 1)UNION (SELECT '最南' AS direction, T.*, ST_X(dp.geom) AS x, ST_Y(dp.geom) AS yFROM temp_area T, LATERAL ST_DumpPoints(T.geom) AS dpORDER BY y DESC LIMIT 1)) SELECT  direction,id, province_code, province_name, city_code,city_name,area_code,area_name,type,st_asgeojson(geom) AS geomJson,x AS lon,y AS lat FROM bounds_info;

        这里我们以四川省为例,查询四川省的四至县域结果:

        可以直观的看到,四川省最东边是达州市的宣汉县,最西边是甘孜藏族自治州的石渠县,最南边是凉山彝族自治州的会理县,最北边是阿坝藏族羌族自治州的若尔盖县。 

二、前后端实现

        介绍完空间表以及四至的空间检索实现后,接下来我们来介绍一下如何在前后端实现接口的接入和WebGIS界面的可视化。

1、后端实现

        后端比较简单,这里我们将前面的四至查询函数包装成一个公共的方法,供后续的分析方法调用。在Mapper中定义查询请求的方法体,具体如下图所示:

static final String FIND_ESWNAREA_BYPROVINCE_SQL = "<script>"+ " WITH temp_area AS ( SELECT * FROM biz_area T WHERE T.province_code = #{province_code} ), "+ " bounds_info AS ("+ " ( SELECT '最东' AS direction,T.*,ST_X ( dp.geom ) AS x,ST_Y ( dp.geom ) AS y "+ " FROM temp_area T,LATERAL ST_DumpPoints ( T.geom ) AS dp ORDER BY x DESC LIMIT 1 "+ " ) UNION  "+ " ( SELECT '最西' AS direction,T.*,ST_X ( dp.geom ) AS x,ST_Y ( dp.geom ) AS y "+ " FROM temp_area T,LATERAL ST_DumpPoints ( T.geom ) AS dp ORDER BY x ASC LIMIT 1 "+ " ) UNION "+ " ( SELECT '最南' AS direction,T.*,ST_X ( dp.geom ) AS x,ST_Y ( dp.geom ) AS y "+ " FROM temp_area T, LATERAL ST_DumpPoints ( T.geom ) AS dp ORDER BY y ASC LIMIT 1 "+ " ) UNION  "+ " (SELECT '最北' AS direction,T.*,ST_X ( dp.geom ) AS x,ST_Y ( dp.geom ) AS y "+ " FROM temp_area T, LATERAL ST_DumpPoints( T.geom ) AS dp ORDER BY y DESC LIMIT 1 "+ ") SELECT direction,id,province_code,province_name,city_code,city_name,area_code, "+ " area_name,type, st_asgeojson(geom) geomJson, x lon,y lat FROM bounds_info "+ "</script>";
/**
* - 根据省份code查询对应省份的四至区县信息
* @param provinceCode 需要查询的目标省份code
* @return
*/
@Select(FIND_ESWNAREA_BYPROVINCE_SQL)
List<EwsnAreaVo> findEswnAreaByProvinceCode(@Param("province_code")String provinceCode);

        这里仅介绍Mapper的实现,具体的业务层和控制层代码比较简单,在此不在赘述。 

2、前端集成

        介绍完后端的方法实现后,再来介绍一下前端如何使用Leaflet来进行具体的展示。关于地图页面的展示分为两个部分,第一部分展示省份信息,第二部分是展示四至极值的所在区县信息。首先是展示省份信息的方法,关键代码如下:

 function previewProvince(gid,name){var myStyle = {color:"red",weight:3,"opacity":0.65};$.ajax({  type:"get",  url:prefix + "/geojson/" + gid,  data:{},  dataType:"json",  cache:false,processData:false,success:function(result){if(result.code == web_status.SUCCESS){var geojson = JSON.parse(result.data);var areaLayer = L.geoJSON(geojson,{style:myStyle}).addTo(mymap);var myIcon = L.divIcon({className: 'my-div-icon',iconSize: 100});showLayerGroup.clearLayers();showLayerGroup.addLayer(areaLayer);}},error:function(){$.modal.alertWarning("获取空间信息失败");}});
}

 展示东南西北四至点和所在区县的核心方法如下:

function previewEwsn(pid,provinceCode,name){previewProvince(pid,name);$.ajax({  type:"get",  url:prefix + "/ewsnprovince/list/" + provinceCode,  data:{},  dataType:"json",  cache:false,processData:false,success:function(result){if(result.code == web_status.SUCCESS){var legendData = new Array();for(var i = 0;i< result.data.length;i++){var areaData = result.data[i];var color = ccolor = getRandomColor();var areaLayer = L.geoJSON(JSON.parse(areaData.geomJson),{style: {color:color,fillColor:color,weight:3,"opacity":0.65, fillOpacity: 0.65 }}).addTo(mymap);var myIcon = L.divIcon({iconSize: null,className: '',popupAnchor:[5,5],shadowAnchor:[5,5],html: buildShowInfo(i,color,areaData)});showLayerGroup.addLayer(areaLayer);//中心点位L.marker([areaData.lat,areaData.lon], { icon: myIcon}).addTo(showLayerGroup);legendData.push({label: "\xa0\xa0"+areaData.cityName + areaData.areaName,type: "rectangle",radius: 12,color: color,fillColor: color,fillOpacity: 0.8,weight: 2});}mymap.fitBounds(showLayerGroup.getBounds());initLegend(legendData);}},error:function(){$.modal.alertWarning("获取空间信息失败");}});}

三、成果展示

        篇幅有限不能将所有省份一一展示,从东西南北中四个方向各选取一些省份及其对应的四至区县来进行展示和讲解。各个省份排名不分先后,区县信息位置是准确的,文中展示不全的,如有兴趣,欢迎在评论区留言。

1、东部省份

        上海市四至: 

序号四至所在区县
1最北边上海崇明区
2最东边上海崇明区
3最西边上海青浦区
4最南边上海金山区

         江苏省四至:  

序号四至所在区县
1最北边连云港市赣榆区
2最东边南通市启东市
3最西边徐州市丰县
4最南边苏州市吴江区

2、西部省份

        西藏自治区四至:  

序号四至所在区县
1最北边那曲市双湖县
2最东边昌都市芒康县
3最西边阿里地区札达县
4最南边山南市错那县

3、南部省份

         广西壮族自治区四至:  

序号四至所在区县
1最北边桂林市全州县
2最东边贺州市八步区
3最西边百色市西林县
4最南边北海市海城区

4、北部省份

         河北省四至:  

序号四至所在区县
1最北边承德市围场满族蒙古族自治县
2最东边秦皇岛市山海关区
3最西边邯郸市涉县
4最南边邯郸市魏县

5、中部省份

         湖北省四至:  

序号四至所在区县
1最北边十堰市郧西县
2最东边黄冈市黄梅县
3最西边恩施土家族苗族自治州利川市
4最南边咸宁市通城县

四、总结

        以上就是本文的主要内容,本次研究聚焦于基于 SpringBoot 和 PostGIS 的各省东西南北四至极点区县可视化项目。本项目旨在整合 SpringBoot 的高效开发能力和 PostGIS 的强大空间数据处理功能,构建一个精准、实时且交互性强的各省东西南北四至极点区县可视化平台,为相关领域的研究与决策提供一种创新、直观且便捷的地理信息可视化解决方案,助力探索和挖掘地理空间数据蕴含的巨大价值,推动各行业在地理维度上的科学决策与可持续发展。行文仓促,定有不足之处,欢迎各位朋友在评论区批评指正,不胜感激。

相关文章:

【写在创作纪念日】基于SpringBoot和PostGIS的各省东西南北四至极点区县可视化

目录 前言 一、空间检索简介 1、空间表结构 2、四至空间检索 二、前后端实现 1、后端实现 2、前端集成 三、成果展示 1、东部省份 2、西部省份 3、南部省份 4、北部省份 5、中部省份 四、总结 前言 在当今数字化时代&#xff0c;地理信息数据的分析与可视化对于众…...

AI驱动新增长:亚马逊Rufus广告点击率提升300%的奥秘

在生成式人工智能迅速融入商业应用的背景下&#xff0c;全球跨境电商巨头亚马逊&#xff08;Amazon&#xff09;正以前所未有的速度重构其广告生态。2024年第一季度&#xff0c;据亚马逊官方披露&#xff0c;通过部署内部开发的AI购物助手“Rufus”&#xff0c;其平台部分广告点…...

osgEarth中视角由跟随模式切换到漫游模式后没有鼠标拖拽功能问题分析及解决方法

遇到了一个棘手的问题,就是在由跟随模式切换到漫游模式的时候,鼠标无法实现拖拽功能。后来发现是前面给自己挖的坑。 因为要实现鼠标点选某个模型后,模型需要变红色显示,所以添加了一个事件处理程序。 // 创建 场景中模型的点选功能 事件处理程序 ModelSelectionHandler* …...

网页 HTML布局(详解)

本篇讲的是&#xff1a;构成网页的三要素中的HTML HTML的基本结构标签&#xff1a; html标签&#xff1a;网页的整体 head标签&#xff1a;网页的头部 body标签&#xff1a;网页的身体 title标签&#xff1a;网页的标题 一般我们新建一个HTML就会带有这些基本的标签&#xff1a…...

为什么可以不重写m1方法

在 Java 中&#xff0c;当一个类继承另一个类并同时实现接口时&#xff0c;如果接口中的方法签名与父类中的方法签名完全相同&#xff08;包括方法名、参数列表和返回类型&#xff09;&#xff0c;那么父类的方法会自动满足接口的实现要求&#xff0c;子类无需显式重写该方法。…...

深入解析应用程序分层及 BaseDao 的封装策略

目录 1. 应用程序分层 1.1. 应用程序分层简介 1.1.1. 三层结构 1.1.2. 分层的优点 1.1.3. 分层命名 1.2. 应用程序分层实现 1.3. 在分层项目中实现查询业务 2. 封装通用的BaseDao 2.1. 封装通用的DML操作 2.2. 封装通用的查询操作 3. 总结 前言 本文讲解JDBC中的应用…...

物理机做完bond后network服务重启失败

问题描述&#xff1a; 物理机通过systemctl status network.service查看网络服务情况&#xff0c;服务状态为failed&#xff0c;报错&#xff1a;Failed to start LSB: Bring up/down netw 问题分析&#xff1a; 1、network服务于NetworkManager服务冲突 2、未使用的网卡没…...

AGI大模型(30):LangChain链的基本使用

为开发更复杂的应用程序,需要使用Chain来链接LangChain中的各个组件和功能,包括模型之间的链接以及模型与其他组件之间的链接。 链在内部把一系列的功能进行封装,而链的外部则又可以组合串联。 链其实可以被视为LangChain中的一种基本功能单元。 API地址:https://python.…...

什么导致ERP系统中BOM表频繁出错?关键因素与解决路径

企业引入 ERP 系统后&#xff0c;常因 BOM&#xff08;物料清单&#xff09;维护不规范导致计划混乱、成本失控等问题。部分工厂依赖手工录入 BOM 数据&#xff0c;存在版本管理缺失、替代物料未标注等现象&#xff0c;使得 MRP 计划出错率高&#xff0c;生产效率与质量双降。解…...

(vue)前端实现下载后端提供的URL文件

(vue)前端实现下载后端提供的URL文件 动态创建&#xff1a; function downloadFile(url, filename) {const a document.createElement(a)a.href urla.download filename || download // 设置下载文件名document.body.appendChild(a)a.click()document.body.removeChild(a) …...

Axure通过下拉框选项改变,控制字段显隐藏

要求&#xff1a;要求选择钢铁行业时&#xff0c;字段1显示&#xff0c;字段2、字段3隐藏&#xff0c;选择水泥行业时&#xff0c;字段2显示&#xff0c;字段1、字段3隐藏&#xff0c;选择发电行业时&#xff0c;字段3显示&#xff0c;字段1、字段2隐藏。 1、首先Axure拖入一个…...

Axure应用交互设计:动态面板嵌套实现超强体验感菜单表头

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:动态面板嵌套 主要内容:利用动态面板多层嵌套实现菜单表头 应用场景:广泛应用于表单表…...

CICD遇到npm error code EINTEGRITY的问题

场景 CICD编译时抛出npm error code EINTEGRITY的错误 npm error code EINTEGRITY npm error sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA integrity checksum failed when using sha512: wanted sha512-PlhdFcillOINfeV…...

C# AI(Trae工具+claude3.5-sonnet) 写前后端

这是一个AI 写的前后端分离项目,通过AI编程&#xff0c;开发电商管理系统&#xff08;登陆、注册&#xff09; 使用的AI工具为 Trae工具(字节国际版)claude3.5-sonnet(目前代码最强模型) 前端为 vue3Bootstrap 后端为 C# net5.0(因为我电脑里面已经安装了这个新版更好) do…...

leetcode 25. Reverse Nodes in k-Group

25. Reverse Nodes in k-Group 递归法&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, L…...

PHP伪随机数

在我们现实生活中由于一些物理原因产生的随机数才是真正的随机数&#xff0c;比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等。而对于计算机来说&#xff0c;真正的随机数是不存在的&#xff0c;因为无法通过电信号来实现上面提到的物理过程&#xff0c;对于计算机来…...

vue3 threejs 物体发光描边

threejs官网案例&#xff1a; three.js examples 我的代码&#xff08;标注了重点代码&#xff0c;加上即可&#xff09; <template><div class"greenhouse" ref"canvasContainerRef"></div></template><script setup> im…...

java的synchronized 原理及功能

简介&#xff1a; Java中的synchronized关键字是一种同步机制&#xff0c;用于控制多个线程对共享资源的访问。 原理&#xff1a; 在Java锁有一个内部锁 Intrinsic Lock&#xff0c;也称为监视器锁或管程锁&#xff0c;每个Java对象都有一个关联的监视器锁&#xff0c;隐式锁…...

【Leetcode 每日一题】3356. 零数组变换 II

问题背景 给你一个长度为 n n n 的整数数组 n u m s nums nums 和一个二维数组 q u e r i e s queries queries&#xff0c;其中 q u e r i e s [ i ] [ l i , r i , v a l i ] queries[i] [l_i, r_i, val_i] queries[i][li​,ri​,vali​]。 每个 q u e r i e s [ i ]…...

LangChain入门和应用#1

LangChain 是一个全方位的、基于大语言模型这种预测能力的应用开发工具&#xff0c;它的灵活性和模块化特性使得处理语言模型变得极其简便。不论你在何时何地&#xff0c;都能利用它流畅地调用语言模型&#xff0c;并基于语言模型的“预测”或者说“推理”能力开发新的应用 La…...

[每日一题] 3356. 零数组变换ii

文章目录 1. 题目链接2. 题目描述3. 题目示例4. 解题思路5. 题解代码6. 复杂度分析 1. 题目链接 3356. 零数组变换 II - 力扣&#xff08;LeetCode&#xff09; 2. 题目描述 给你一个长度为 n 的整数数组 nums 和一个二维数组 queries&#xff0c;其中 queries[i] [li, ri, va…...

Docker网关冲突导致容器启动网络异常解决方案

一、故障现象 执行docker-compose up命令时服务器网络中断控制台显示"Creating network xxxxxxx with the default driver"通过ifconfig可见docker0网卡docker network ls显示新创建的网络接口 二、根本原因 Docker服务默认创建docker0虚拟网卡&#xff08;默认地…...

基于stm32的空气质量监测系统

目录 摘 要 Abstract 目 录 第 1 章 绪论 第 2 章 空气质量监测系统总体方案设计 第3章 硬件的部分介绍 3.1 硬件系统的的原理方框图 3.2 硬件系统的的原理图 3.3 温湿度传感器 3.4 甲醛传感器 3.5 报警提醒模块及其他 3.6 系统工作原理 3.7 本章小结 第四章 方案…...

Leetcode-3 判断根结点是否等于子结点之和

Leetcode-3 判断根结点是否等于子结点之和&#xff08;简单&#xff09; 题目描述思路分析通过代码&#xff08;python&#xff09; 题目描述 **给你一个 二叉树 的根结点 root&#xff0c;该二叉树由恰好 3 个结点组成&#xff1a;根结点、左子结点和右子结点。 如果根结点值…...

《算法笔记》12.1小节——字符串专题->字符串hash进阶 问题 A: 求最长公共子串(串)

题目描述 求采用顺序结构存储的串s和串t的一个最长公共子串&#xff0c;若没有则输出false&#xff0c;若最长的有多个则输出最先出现的那一串。 输入 输入两个字符串 输出 输出公共子串 样例输入 abcdef adbcef 样例输出 bc 分析&#xff1a;用字符串哈希解决。检查…...

为何天线的长度设计为频率波长的四分之一?

目录 1. 电磁波的波长与频率关系 2. 四分之一波长天线的工作原理 3. 为什么选择 λ/4 而不是其他长度&#xff1f; 4. 实际应用中的例子 5. 总结 为何天线的长度设计为频率波长的四分之一&#xff1f; 天线的长度设置为频率波长的四分之一主要是基于电磁波的传播特性以及天线的…...

端口号详解(技术向)

端口号详解&#xff08;技术向&#xff09; 一、核心定义 **端口号&#xff08;Port Number&#xff09;**是 传输层协议&#xff08;TCP/UDP&#xff09; 的逻辑标识&#xff0c;用于在同一设备上区分不同应用程序的网络通信入口。端口号是用两个字节&#xff08;无符号&…...

git合并多次commit提交

首先查看历史记录 git log 查看你想要合并的commit是哪些&#xff08;注意&#xff1a;这里是逆序&#xff0c;最上的是最新提交&#xff09; 找到当前想要合并的最后一个记录&#xff0c;复制该记录的下一个记录的 id&#xff08;黄色部分commit id&#xff09;&#xff0c…...

深入浅出Java-Lambda表达式

深入浅出Java-Lambda表达式 一、Lambda 表达式特征二、Lambda 表达式的基础语法与结构2.1 基本语法格式2.2 语法简化规则2.3 与匿名内部类的对比 三、函数式接口&#xff1a;Lambda 表达式的载体3.1 函数式接口的定义3.2 常用函数式接口分类3.2.1 消费型接口&#xff08;Consum…...

FreeCAD傻瓜教程-外螺纹的绘制,利用两个实体进行布尔运算来实现

起因&#xff1a;因为要设计一个波珠螺丝固定器&#xff0c;为了不跑偏&#xff0c;需要在螺柱上加工一个直径6mm&#xff0c;深度1.2mm的圆弧凹槽所以想用泉州制造的6.8车铣加工。 但是该加工目前不支持轴向的钻孔&#xff0c;所以想着干脆在两端加上M8的螺栓&#xff0c;也起…...

java并发-线程池

文章目录 线程池定义组成工作参数设置种类关闭 线程池 定义 线程池就是提前创建好一批线程&#xff0c;反复复用处理任务&#xff0c;避免频繁创建销毁线程&#xff0c;同时控制线程数量&#xff0c;让系统更高效、稳定。 举个例子&#xff1a; 场景假设&#xff1a; 你开了…...

openlayer:06点击按钮实现地图动画移动

如何实现点击去辽宁按钮实现用动画效果将地图顺滑的切换到辽宁区域&#xff0c;点击回北京按钮后同样将地图使用动画效果移动回到辽宁。 本文介绍了如何通过OpenLayers库实现地图在北京市和辽宁省之间的平滑切换动画。首先&#xff0c;使用View类设置地图的初始中心点为北京市…...

使用 Matter.js 创建封闭箱体与里面的小球

下面是一个使用 Matter.js 创建的示例,包含一个地面、由4个长方形组成的封闭箱体,箱体内有10个不同颜色的小球。箱体可以被拖动,而小球被限制在箱体内部。 <!DOCTYPE html> <html> <head><title>Matter.js 可拖动箱体与小球</title><styl…...

自动化软件如何确保高可用性和容错性?

在数字化转型的浪潮中&#xff0c;RPA&#xff08;机器人流程自动化&#xff09;技术成为众多企业和机构实现业务流程优化的得力助手。以金智维为例&#xff0c;作为 RPA 领域的佼佼者&#xff0c;其技术在金融、政务等行业广泛应用&#xff0c;承担着大量关键业务流程的自动化…...

变电站综合自动化系统

系统介绍 a安科瑞 18702112163 变电站综合自动化系统为企业变电站提供了完整的SCADA功能&#xff0c;包括主接线图、设备工况、实时数据显示、定值管理、SOE报警/记录/查询/打印、棒图、实时/历史曲线、语音报警、历史信息查询、用户权限管理、各种运行数据统计分析报表等。系…...

【2025.05】Anaconda新手安装+配置+环境创建教程

本文目录 一、安装前述二、下载与安装1、下载2、选择安装类型3、选择安装路径&#xff1a; 三、设置环境1、添加conda目录到path2、修改envs\pgks默认目录第一种&#xff1a;修改.condarc文件第二种&#xff1a;使用conda config命令 四、修改镜像源五、常用命令&#xff08;27…...

React-改变当前页class默认的样式

比如antd for mobile&#xff0c;已经定义了默认的ui的class样式&#xff0c;如果想在当前页面的控件显示特殊的样式&#xff0c;除了指定style外&#xff0c;还可以强制改变默认class的样式&#xff0c;比如我想改变list.item的字体。 在返回渲染布局里面加上 return (<&…...

腾讯游戏安全与高通合作构建PC端游安全新格局

导语&#xff1a;5月16日&#xff0c;2025游戏安全行业峰会在深圳举行&#xff0c;腾讯游戏安全ACE与高通&#xff08;中国&#xff09;在峰会上就腾讯游戏安全方案正式宣布达成行业生态合作。双方将依托高通技术公司专门面向AI PC打造的骁龙X系列平台&#xff0c;共同为《无畏…...

Token类型与用途详解:数字身份的安全载体图谱

在现代数字身份体系中&#xff0c;Token如同"数字DNA"&#xff0c;以不同形态流转于各类应用场景。根据Okta的最新研究报告&#xff0c;平均每个企业应用使用2.7种不同类型的Token实现身份验证和授权。本文将系统梳理主流Token类型及其应用场景&#xff0c;通过行业典…...

【Linux基础I/O】文件调用接口、文件描述符、重定向和缓冲区

【Linux基础I/O一】文件描述符和重定向 1.C语言的文件调用接口2.操作系统的文件调用接口2.1open接口2.2close接口2.3write接口2.4read接口 3.文件描述符fd的本质4.标准输入、输出、错误5.重定向5.1什么是重定向5.2输入重定向和输出重定向5.3系统调用的重定向dup2 6.缓冲区 1.C语…...

软考中级软件设计师——操作系统考试题型

一、PV操作与进程同步&#xff08;必考大题&#xff09; 1. 真题示例&#xff08;2020年真题&#xff09; 题目&#xff1a; 三个进程P1、P2、P3共享一个缓冲区&#xff0c;P1生产数据放入缓冲区&#xff0c;P2和P3消费数据。要求&#xff1a; 缓冲区大小为10&#xff0c;满时…...

transformer归一化层优化:深度解读 RMSNorm (Root Mean Square Layer Normalization,均方根层归一化)

导读&#xff1a;RMSNorm 把传统 LayerNorm 的“减均值&#xff08;centering&#xff09; 除标准差&#xff08;scaling&#xff09;”简化为“直接除以向量均方根 (Root Mean Square, RMS&#xff0c;均方根)”。这一改动让归一化既 更省算 又 同样稳定&#xff0c;因而成为 …...

java基础 之 Hash家族(一)

文章目录 HashCode定义代码使用使用场景 HashMap定义常用方法使用场景 ConcurrentHashMap定义常用方法使用场景 HashTable定义常用方法使用场景 HashSet定义常用方法使用场景你想到过吗&#xff1f; HashMap、ConcurrentHashMap、HashTable的对比总结 HashCode 定义 hashcode是…...

windows服务器部署jenkins工具(二)

jenkins的大致流程&#xff1a;新增任务->配置任务->构建&#xff08;打包&#xff09;项目->部署&#xff08;发布&#xff09; 具体如何使用&#xff0c;我这里就不多讲了。这次就给大家讲讲&#xff0c;jenkins安装之后使用过程中存在的一些问题。 1.maven项目如…...

机器学习第二十讲:网格搜索 → 像尝试所有密码组合找最佳解锁方式

机器学习第二十讲&#xff1a;网格搜索 → 像尝试所有密码组合找最佳解锁方式 资料取自《零基础学机器学习》。 查看总目录&#xff1a;学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章&#xff1a;DeepSeek R1本地与线上满血版部署&#xff1a;超详细手把手指南 网…...

【人工智能发展史】从黎明到曙光01

人工智能的史诗&#xff1a;从黎明到曙光 序曲&#xff1a;晨曦微露 故事的序幕拉开于一个思想激荡的年代&#xff0c;1956年&#xff0c;达特茅斯会议的钟声&#xff0c;如同第一缕晨曦&#xff0c;宣告了"人工智能"纪元的到来。那个夏天&#xff0c;在新罕布什尔…...

ollama使用gpu运行大模型

罗列ollma镜像 ollama list拉取ollama镜像源里面的模型&#xff1a; ollama pull qwen2:1.5b下载CudaToolkit https://developer.nvidia.com/cuda-toolkit-archive 我这里选择11.7的万金油版本&#xff0c;从来没出过bug Ollama安装好后&#xff0c;为了让推理跑在GPU上&am…...

Linux电源管理——PSCI初始化流程和多核启动流程

目录 一、PSCI 初始化流程 1、PSCI设备树节点 2、PSCI kernel初始化流程 get_set_conduit_method set_conduit psci_probe 二、CPU PSCI 操作初始化流程 1、CPU 设备树节点 2、 struct cpu_operations 3、kernel 流程 cpu_read_bootcpu_ops smp_init_cpus 三、CPU…...

Linux问题排查-引起服务器带宽使用率高的内鬼

Linux网络流量监控与瓶颈分析全攻略&#xff1a;从基础命令到进程级方案 一、网络带宽查询与实时流量监控 1. 查询主机网络带宽 网卡理论带宽 通过ethtool命令查看网卡最大支持速率&#xff0c;例如&#xff1a; ethtool eth0 # 替换为实际网卡名&#xff08;如ens33&#x…...

《微服务架构设计模式》笔记

思维导图 1-3章 4-6 章 5-13 章 资料 配套代码仓库&#xff1a;https://github.com/microservices-patterns/ftgo-application 作者网站&#xff1a;https://microservices.io/...