基于Java实现震中附近风景区预警可视化分析实践

目录

前言

一、空间数据说明

1、表结构信息展示

2、空间范围查询

二、Java后台开发实现

1、模型层设计与实现

2、控制层设计与实现

三、Leaflet地图开发

1、地震震中位置展示

2、百公里风景区列表展示

3、风景区列表展示

4、附近风景区展示

四、总结


前言

        地震这类地址灾害的发生常常是不能提前预知的,而往往在人群聚集的地方会给人们带来巨大的财产损失。在人类活动过程中,旅游景点往往是人们热门的出行地方,尤其是5A、4A级这样的旅游景区。在出行的过程当中,往往是没有进行任何准备的。这里以2017年8月8日,发生在我国四川省阿坝州九寨沟县的M7.0级地震为例,详细展示了在震区100公里范围内的所有A级旅游景点。通过100公里范围内的旅游景点展示,同时展示直线距离。为地震发生后,结合地震的震级和影像范围,为地震范围内的旅游景点,尤其是热门旅游景点的影响评估做一个评估参考。突如其来的地震,已导致部分列车停运,不少游客被困景区。九寨沟风景名胜区位于九寨沟县漳扎镇境内,地震发生当日接待游客量为3.4万余人次。目前,九寨沟风景名胜区管理局正全力开展景区排险工作,为保证游客游览安全,九寨沟景区停止接待游客。具体接待游客时间另行通告。九寨沟风景名胜区管理局表示,已经预订了8月9日及以后门车票的游客可到阿坝文旅办理退票,已出8月9日票的游客,在九寨沟景区沟口售票大厅办理退票。

        这次地震对旅游风景区的影响很大。地震及后续的余震对这些游客和当地的老板姓都是很大的安全威胁。本文基于地震信息和全国风景旅游区位置信息,在发震位置点构建一个直径100公里的影响范围景区列表。将地震震级、风景区里震中位置距离、风景区级别、旅游人数信息(可以从景点接待处获取),在实际工作当中,我们可以结合这些数据进行地震风险评估,为后续的救援和应急力量的输送与分配推送一个比较优化的方案。

        本文使用Java开发语言,使用PostGIS空间数据库,构建这样一个空间范围分析模型,输出震中百公里影响景点。将作为下一步的数据分析基础提供数据支撑。通过构建源点位与目标点位的实际距离,构建模型分析的基本要素之一,感兴趣的朋友可以看看本文,了解相关的知识。

一、空间数据说明

        本节将对空间数据结构和数据,100公里范围的空间分析查询进行简单介绍。让大家了解如何进行地震位置指定范围风景区查询。查询涉及的表有两张,第一张是地震信息表,第二张是风景区信息表。

1、表结构信息展示

        这里直接展示地震信息表和风景区信息表两张表的物理结构,表结构信息如下:

         上述这两张表的DDL语句如下所示:

CREATE TABLE "public"."biz_ceic_earthquake" ("pk_id" int8 NOT NULL,"auto_flag" varchar(30) COLLATE "pg_catalog"."default","cata_id" varchar(30) COLLATE "pg_catalog"."default","cata_type" varchar(30) COLLATE "pg_catalog"."default","epi_depth" numeric(11,8),"epi_lat" varchar(15) COLLATE "pg_catalog"."default","epi_lon" varchar(15) COLLATE "pg_catalog"."default","eq_cata_type" varchar(30) COLLATE "pg_catalog"."default","eq_type" varchar(30) COLLATE "pg_catalog"."default","is_del" varchar(6) COLLATE "pg_catalog"."default","location_c" varchar(255) COLLATE "pg_catalog"."default","location_s" varchar(100) COLLATE "pg_catalog"."default","loc_stn" varchar(20) COLLATE "pg_catalog"."default","m" varchar(10) COLLATE "pg_catalog"."default","mmb" varchar(10) COLLATE "pg_catalog"."default","mmb2" varchar(10) COLLATE "pg_catalog"."default","mml" varchar(10) COLLATE "pg_catalog"."default","mms" varchar(10) COLLATE "pg_catalog"."default","mms7" varchar(10) COLLATE "pg_catalog"."default","new_did" varchar(16) COLLATE "pg_catalog"."default","o_time" timestamp(6),"o_time_fra" varchar(10) COLLATE "pg_catalog"."default","save_time" timestamp(6),"sum_stn" varchar(10) COLLATE "pg_catalog"."default","sync_time" timestamp(6),"epi_id" varchar(10) COLLATE "pg_catalog"."default","geom" "public"."geometry",CONSTRAINT "pk_biz_ceic_earthquake" PRIMARY KEY ("pk_id")
);CREATE INDEX "idx_biz_ceic_earthquake_eqidept" ON "public"."biz_ceic_earthquake" USING btree ("epi_depth" "pg_catalog"."numeric_ops" ASC NULLS LAST
);
CREATE INDEX "idx_biz_ceic_earthquake_geom" ON "public"."biz_ceic_earthquake" USING gist ("geom" "public"."gist_geometry_ops_2d"
);
CREATE INDEX "idx_biz_ceic_earthquake_m" ON "public"."biz_ceic_earthquake" USING btree ("m" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
);
COMMENT ON COLUMN "public"."biz_ceic_earthquake"."pk_id" IS '主键id';
COMMENT ON COLUMN "public"."biz_ceic_earthquake"."epi_depth" IS '地震深度';
COMMENT ON COLUMN "public"."biz_ceic_earthquake"."epi_lat" IS '纬度';
COMMENT ON COLUMN "public"."biz_ceic_earthquake"."epi_lon" IS '经度';
COMMENT ON COLUMN "public"."biz_ceic_earthquake"."geom" IS '位置';
COMMENT ON TABLE "public"."biz_ceic_earthquake" IS '中国地震台网信息表';
CREATE TABLE "public"."biz_scenic_spot" ("id" int8 NOT NULL,"name" varchar(255) COLLATE "pg_catalog"."default","level" varchar(4) COLLATE "pg_catalog"."default","province" varchar(255) COLLATE "pg_catalog"."default","city" varchar(255) COLLATE "pg_catalog"."default","area" varchar(255) COLLATE "pg_catalog"."default","address" varchar(255) COLLATE "pg_catalog"."default","evaluation_time" varchar(255) COLLATE "pg_catalog"."default","publish_time" varchar(255) COLLATE "pg_catalog"."default","lng_gcj02" varchar(30) COLLATE "pg_catalog"."default","lat_gcj02" varchar(30) COLLATE "pg_catalog"."default","lng_bd09" varchar(30) COLLATE "pg_catalog"."default","lat_bd09" varchar(30) COLLATE "pg_catalog"."default","lng_wgs84" varchar(30) COLLATE "pg_catalog"."default","lat_wgs84" varchar(30) COLLATE "pg_catalog"."default","geom" "public"."geometry","publish_link" varchar(255) COLLATE "pg_catalog"."default",CONSTRAINT "pk_biz_scenic_spot" PRIMARY KEY ("id")
);
CREATE INDEX "idx_biz_scenic_spot_geom" ON "public"."biz_scenic_spot" USING gist ("geom" "public"."gist_geometry_ops_2d"
);
COMMENT ON COLUMN "public"."biz_scenic_spot"."id" IS '主键';
COMMENT ON COLUMN "public"."biz_scenic_spot"."name" IS '景区名称';
COMMENT ON COLUMN "public"."biz_scenic_spot"."level" IS '景区级别';
COMMENT ON COLUMN "public"."biz_scenic_spot"."province" IS '所属省份';
COMMENT ON COLUMN "public"."biz_scenic_spot"."city" IS '所属城市';
COMMENT ON COLUMN "public"."biz_scenic_spot"."area" IS '所属区县';
COMMENT ON COLUMN "public"."biz_scenic_spot"."address" IS '地址';
COMMENT ON COLUMN "public"."biz_scenic_spot"."evaluation_time" IS '评定时间';
COMMENT ON COLUMN "public"."biz_scenic_spot"."publish_time" IS '发布时间';
COMMENT ON COLUMN "public"."biz_scenic_spot"."lng_gcj02" IS 'lng_GCJ02';
COMMENT ON COLUMN "public"."biz_scenic_spot"."lat_gcj02" IS 'lat_GCJ02';
COMMENT ON COLUMN "public"."biz_scenic_spot"."lng_bd09" IS 'lng_BD09';
COMMENT ON COLUMN "public"."biz_scenic_spot"."lat_bd09" IS 'lat_BD09';
COMMENT ON COLUMN "public"."biz_scenic_spot"."lng_wgs84" IS 'lng_WGS84';
COMMENT ON COLUMN "public"."biz_scenic_spot"."lat_wgs84" IS 'lat_WGS84';
COMMENT ON COLUMN "public"."biz_scenic_spot"."publish_link" IS '发布链接';
COMMENT ON TABLE "public"."biz_scenic_spot" IS '全国风景区信息表';

2、空间范围查询

        与之前介绍过的附近城市分析涉及的空间分析查询一样,主要的空间分析函数是:st_dwithin,这里依然以九寨沟地震震发中心点为查询样例:

SELECT T.*,st_x ( T.geom ) lon,st_y ( T.geom ) lat,st_distance ( T.geom :: geography, t1.geom :: geography ) dist 
FROMbiz_scenic_spot T,biz_ceic_earthquake t1 
WHEREt1.pk_id = 1780964053414354949 AND st_dwithin ( T.geom :: geography, t1.geom :: geography, 5000 * 20 ) 
ORDER BYdist;

        在PostGIS当中执行上述空间查询语句之后,可以看到以下结果:

        下面的章节将实现把上面的查询结果进行Web应用开发,完全实现通过一个地震点来实时查询地震点附近的风景区列表分析。 

二、Java后台开发实现

        在了解了空间数据查询的SQL具体的写法之后,我们来开发针对性的后台。开发语言采用我们熟悉的Java开发语言。java开发采用熟悉的MVC三层开发模式。

1、模型层设计与实现

        在模型层,我们主要介绍实体类的代码实现和Mapper即数据库访问层的设计与实现。实体类主要用来将数据库查询的结果集绑定到对象中。而Mapper则实现对PostGIS空间数据库的绑定和设置。实例代码如下:

package com.yelang.project.extend.scenicspot.domain;
import java.io.Serializable;
import java.math.BigDecimal;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@NoArgsConstructor
@AllArgsConstructor
@Setter
@Getter
@ToString
public class ScenicSpotDistVo implements Serializable{private static final long serialVersionUID = -1403627497900208179L;private BigDecimal dist;//距离private String address;//位置private String name;//名称private String level;//风景区级别private String lon;//经度private String lat;
}

           在Mapper接口中定义以下方法,用于实现从数据库中查询相应的风景区数据列表。

static final String FIND_LIST_BY_EARTHID = "<script>"+ " select t.name,t.level,t.address,st_x(t.geom) lon,st_y(t.geom) lat, "+ " st_distance(t.geom :: geography, t1.geom :: geography) dist from biz_scenic_spot t,biz_ceic_earthquake t1 "+ " where t1.pk_id= #{eqId} and st_dwithin(t.geom :: geography,t1.geom :: geography,100000  )  order by dist "+ "</script>";
/***  查询地震100公里范围内的风景区列表
* @param eqId
* @return 地震发生地点100公里范围内的景区
*/
@Select(FIND_LIST_BY_EARTHID)
List<ScenicSpotDistVo> findListByEarthId(@Param("eqId") Long eqId);

2、控制层设计与实现

         业务层比较简单,不进行详细说明。在这个实例当中,业务层的实现比较简单。这里将控制层的代码实现进行说明。这里仅实现页面的跳转和一个ajax接口,关键代码如下:

//跳转附近风景区页面,用get请求
@RequiresPermissions("ceiceq:info:nearbyss")
@GetMapping("/nearbyscenicspot/{pkId}")
public String nearbyScenicSpot(@PathVariable("pkId")Long pkId,ModelMap mmap){mmap.put("pkId", pkId);CeicEarthquake earthQuake = ceicEarthQuakeService.getById(pkId);mmap.put("earthQuake", earthQuake);List<ScenicSpotDistVo> dataList = scenicSpotService.findListByEarthId(pkId);mmap.put("dataList", dataList);return prefix + "/nearbyscenicspot";
}/**
* 获取附近风景区列表数据,用post
* @param pkId
* @return
*/
@PostMapping("/nearbyscenicspot/{pkId}")
@ResponseBody
public AjaxResult nearbyScenicSpot(@PathVariable("pkId")Long pkId){AjaxResult ar = AjaxResult.success();List<ScenicSpotDistVo> dataList = scenicSpotService.findListByEarthId(pkId);ar.put("data", dataList);return ar;
}

        以上代码即给出了后台Java实现的关键代码。通过以上代码即完成了空间数据分析查询接口开发。下面通过Leaflet组件来进行地图可视化开发。

三、Leaflet地图开发

        本小节主要讲解如何使用Leaflet进行空间可视化展示开发。关于Leaflet的相关知识不再赘述,这里提供关键代码:

1、地震震中位置展示

          在进行地震百公里风景区可视化展示时,首先需要对震中位置进行展示。关键的代码如下所示。

var lon = [[${earthQuake.epiLon}]];  
var lat = [[${earthQuake.epiLat}]];
var cityInfo = [[${earthQuake.locationC}]];
//矢量文本标签渲染器
var canvasLabel = new L.CanvasLabel({defaultLabelStyle: {collisionFlg: true,scale: 1.2,strokeStyle: "white",fillStyle: "#fff",lineWidth:15}
});
$(function() {var marker = L.circleMarker(new L.LatLng(lat, lon), {radius: 8,labelStyle: {text: cityInfo,rotation: 0,zIndex: 2,strokeStyle :"red"},color : "red"}).addTo(mymap);//展示距离showDistance();});

2、百公里风景区列表展示

        关键代码如下:

function showDistance(){$.ajax({  type:"post",  url:prefix + "/nearbyscenicspot/" + [[${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;if(parseFloat(dist) <= 30000){strokeStyleSet = "red";}if(parseFloat(dist) > 30000 && parseFloat(dist) <= 60000 ){strokeStyleSet = "orange";}if(parseFloat(dist) >= 60000){strokeStyleSet = "green";}var _dist = parseFloat(dataInfo.dist / 1000).toFixed(2);var content = "<strong>风景区名称:</strong>"+dataInfo.name + "<br/><strong>震中位置:</strong>"+ cityInfo;content += "<br/><strong>风景区级别:</strong>"+dataInfo.level + "<br/><strong>距离(千米):</strong>"+_dist;var marker = L.circleMarker(new L.LatLng(dataInfo.lat, dataInfo.lon), {radius: 8,labelStyle: {text: dataInfo.name,rotation: 0,zIndex: i,strokeStyle :strokeStyleSet},color : strokeStyleSet}).addTo(mymap);marker.bindPopup(content);    L.polyline([[[lat, lon],[dataInfo.lat, dataInfo.lon]]], {labelStyle: {text: _dist + "千米",zIndex: 0,collisionFlg: false,textAlign:'center',strokeStyle :strokeStyleSet},color : strokeStyleSet}).addTo(mymap);}}},error:function(){$.modal.alertWarning("获取信息失败");}});}

3、风景区列表展示

<table class="table table-bordered white-bg" ><thead><tr><th width="50%">风景区名称</th><th>风景区级别</th><th>距离(公里)</th></tr></thead><tbody><tr th:each="data,itemStat:${dataList}"><td >[[${itemStat.count}]]、[[${data.name}]]</td><td>[[${data.level}]]</td><td th:text="${#numbers.formatDecimal((data.dist / 1000 ), 1, 2)}"></td></tr></tbody></table>

4、附近风景区展示

        地震点列表及震中位置定位功能示意图

        可以看到,震中位置附近有很多的风景名胜区,其中就有5A级风景区,九寨沟。距离震中最近的还有8公里左右的爱情海景区。30公里范围内还有一个4A级的阿坝州九寨沟县嫩恩桑措旅游景区。完整的列表表单如下所示:

风景区名称风景区级别距离(公里)
1、爱情海景区4A8.21
2、九寨沟风景名胜区5A10.46
3、阿坝州九寨沟县嫩恩桑措旅游景区4A22.90
4、九寨沟县九寨庄园景区3A39.79
5、九寨沟柴门关景区3A39.92
6、九寨县甲勿海景区3A40.48
7、松潘县奇峡沟冰雪欢乐景区3A42.98
8、上磨水乡2A45.16
9、天堂香谷2A46.01
10、岷江源景区3A50.13
11、松潘县川主寺旅游景区4A50.29
12、黄龙国家级风景名胜区5A52.12
13、松潘县松州古城3A64.51
14、文县白马河民俗风情旅游景区4A65.44
15、舟曲县亚哈藏民俗旅游文化生态园景区2A66.19
16、涪阳古镇3A72.53
17、若尔盖县巴西会议红色旅游景区3A77.09
18、舟曲县拉尕山景区4A78.08
19、舟曲县土桥子国家景区3A81.56
20、舟曲特大山洪泥石流灾害纪念园3A82.49
21、舟曲县各皂坝国家景区3A82.96
22、舟曲县翠峰山景区2A84.63
23、迭部县茨日那毛主席旧居景区3A85.71
24、文县天池旅游景区4A85.98
25、武都区朝阳洞旅游景区3A86.05
26、若尔盖县花湖生态旅游区4A86.56
27、舟曲县巴寨沟国家景区3A87.94
28、迭部县俄界景区4A88.51
29、宕昌县山湾梦谷古羌民俗旅游景区3A90.58
30、黄河九曲第一湾4A91.27
31、西部牧场3A93.17
32、阿坝州红原县日干乔景区4A97.69
33、迭部县白云景区3A98.42

四、总结

        以上就是本文的主要内容,本文使用Java开发语言,使用PostGIS空间数据库,构建这样一个空间范围分析模型,输出震中百公里影响景点。将作为下一步的数据分析基础提供数据支撑。通过构建源点位与目标点位的实际距离,构建模型分析的基本要素之一,感兴趣的朋友可以看看本文,了解相关的知识。

        文章通过对空间数据库表的设计以及空间分析查询语句的编写,让大家掌握如何在PostGIS数据库中进行空间分析,最后使用Leaflet组件调用Java服务完成了震中附近风景区列表的分析实战。行文仓促,定有不足之处,不当之处,还请各位专家博主在评论区批评指正,万分感谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/843454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

链表mark

什么是链表&#xff0c;链表是一种通过指针串联在一起的线性结构&#xff0c;每一个节点由两部分组成&#xff0c;一个是数据域一个是指针域&#xff08;存放指向下一个节点的指针&#xff09;&#xff0c;最后一个节点的指针域指向null&#xff08;空指针的意思&#xff09;。…

[数智人文实战] 02.舆情分析之词云可视化、文本聚类和LDA主题模型文本挖掘

【数智人文与文本挖掘】知识星球建立且正式运营,欢迎新老博友和朋友加入,一起分享更多数智人文知识和交流进步。该星球计划每周至少分享7个资源或文章,包括数智人文、文本挖掘、人工智能、大数据分析和图书情报的技术文章、代码及资源。同时,欢迎进入星球的朋友咨询我图情和…

操作系统课程实验1-进程调度模拟实验

操作系统课程实验1-进程调度模拟实验 一、实验介绍 1.1 实验目的 本实验模拟在单处理机环境下的处理机调度&#xff0c;帮助理解进程调度的概念&#xff0c;深入了解进程控制块的功能&#xff0c;以及进程的创建、撤销和进程各个状态间的转换过程。 1.2 实验内容 进程调度算…

NDIS小端口驱动开发(一)

在四种NDIS相关的驱动中&#xff0c;微型端口驱动(也经常翻译为为小端口驱动)位于驱动栈的底部&#xff0c;一般将它理解为NIC设备的驱动程序&#xff1a; 有几种类型的微型端口驱动程序类型&#xff1a; 无连接微型端口驱动程序用于控制无连接网络媒体 &#xff0c;如以太网的…

redis基本数据结构与应用

文章目录 概要String结构Hash结构List结构Set结构Zset结构bitmap位图类型geo地理位置类型其他常用命令 概要 redis常用的5种不同数据结构类型之间的映射如下&#xff1a; 结构类型结构存储的值结构的读写能力STRING可以是字符串、整数或者浮点数key-value形式&#xff1b;对整…

JMH304-剑侠情缘2网络版+2017纹饰端+翅膀+单机+外网整理+各种副本

资源介绍&#xff1a; 藏剑-太虚-梁山-杀手堂种树地宫师门纹饰装备长流云阳套等等———– 做登录器联系站长 资源截图&#xff1a; 下载地址

.NET周刊【5月第4期 2024-05-26】

国内文章 开源低代码框架 ReZero API 正式版本发布 &#xff0c;界面操作直接生成API https://www.cnblogs.com/sunkaixuan/p/18201175 ReZero是一款.NET6的中间件&#xff0c;采用MIT许可证开源&#xff0c;目的是降低.NET Core开发的门槛。它提供界面操作生成API的功能&am…

《Ai学习笔记》自然语言处理 (Natural Language Processing):常见机器阅读理解模型(上)02

Glove 词向量&#xff1a; 在机器理解中的词的表示&#xff1a; 词袋&#xff08;bow,bag of words&#xff09; one-hot 词向量 word2vec glove 目的&#xff1a;将一个词转换成一个向量 Word2vec 是一种用于生成词向量的工具包&#xff0c;由Google在2013年开源推出…

大规模语言模型的书籍分享

在当今人工智能领域&#xff0c;大规模语言模型成为了研究和应用的热点之一。它们以其大规模的参数和强大的性能表现&#xff0c;推动着机器学习和深度学习技术的发展。对于GPT 系列大规模语言模型的发展历程&#xff0c;有两点令人印象深刻。 第一点是可拓展的训练架构与学习范…

《TCP/IP网络编程》(第十二章)I/O复用(1)

本章将讨论实现并发服务器的第二种办法&#xff0c;基于I/O复用的服务器端构建。 I/O复用它允许单个进程或线程同时处理多个输入/输出&#xff08;I/O&#xff09;操作&#xff0c;而无需为每个I/O操作创建一个独立的线程或进程。这种技术可以显著提高应用程序的效率和性能&…

前端学习--React部分

文章目录 前端学习--React部分前言1.React简介1.1React的特点1.2引入文件1.3JSX&#x1f349;JSX简介与使用&#x1f349;JSX语法规则 1.4模块与组件&#x1f349;模块&#x1f349;组件 1.5安装开发者工具 2.React面向组件编程2.1创建组件&#x1f349;函数式组件&#x1f349…

Elasticsearch 认证模拟题 - 1

1、题目 定义一个数据流&#xff0c;满足 data-stream_*_*&#xff0c;数据首先分布在 data_hot&#xff0c;5分钟后移动到 data_warm&#xff0c;3分钟后到 data_cold&#xff0c;再过 8 分钟删除。 1.1 考点 生命周期索引模板数据流 1.2 答案 # 修改生命周期策略修改时间…

【算法】位运算算法——只出现一次的数字Ⅱ

题解&#xff1a;只出现一次的数字Ⅱ(位运算算法) 目录 1.题目2.题解&#xff1a;3.代码示例4.总结 1.题目 题目链接&#xff1a;LINK 要求&#xff1a;时间复杂度&#xff1a;O(N)&#xff0c;空间复杂度&#xff1a;O(1) 2.题解&#xff1a; 3.代码示例 class Solution {…

Java设计模式 _行为型模式_中介者模式

一、中介者模式 1、中介者模式 中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为型模式。主要通过一个中介类&#xff0c;该类通常处理不同类之间的通信&#xff0c;并支持松耦合&#xff0c;使代码易于维护。 2、实现思路 &#xff08;1&#xff09;、定义实体…

【Linux】-Kafka集群安装部署[18]

简介 Apache Kafka是一款分布式的、去中心化的、高吞吐低延迟、订阅模式的消息队列系统。 同RabbitMQ一样&#xff0c;Kafka也是消息队列。不过RabbitMQ多用于后端系统&#xff0c;因其更加专注于消息的延迟和容错。 Kafka多用于大数据体系&#xff0c;因其更加专注于数据的…

K210 数字识别 笔记

一、烧写固件 连接k210开发板&#xff0c;点开烧录固件工具&#xff0c;选中固件&#xff0c;并下载 二、模型训练 网站&#xff1a;MaixHub 1、上传文件 2、开始标记数据 添加9个标签&#xff0c;命名为1~9&#xff0c;按键盘w开始标记&#xff0c;键盘D可以下一张图片&…

解密Prompt系列15. LLM Agent之数据库应用设计:DIN C3 SQL-Palm BIRD

上一章我们主要讲搜索引擎和LLM的应用设计&#xff0c;这一章我们来唠唠大模型和DB数据库之间的交互方案。有很多数据平台已经接入&#xff0c;可以先去玩玩再来看下面的实现方案&#xff0c;推荐 [sql translate]&#xff1a;简单&#xff0c;文本到SQL&#xff0c;SQL到文本…

后端企业级开发之yaml数据序列化格式文件详解2024

yaml格式 数据格式 yaml 是一种数据序列化的格式 容易阅读 容易与脚本语言交互 以数据为核心 重数据轻格式 我们要知道他怎么书写 大小写敏感 属性层级关系使用多行描述 每行结尾使用冒号结束 使用缩进表示层级关系 同层级左侧对其 只运行使用空格 属性前面添加空格 #表…

面试二十六、c++语言级别的多线程编程

一、 多线程编程 ​​​​​ 这里的c语言级别的多线程和linux的有一定的区别&#xff0c;c语言级别提供的多线程比较严格&#xff0c;如果主线程结束了&#xff0c;但是子线程没有结束&#xff0c;进程就会异常终止&#xff0c;而linux不会&#xff0c;会继续执行。 二、模拟卖…

Window VScode配置Conda教程(成功版)

VScode配置Conda 参考博文&#xff1a;https://blog.csdn.net/qq_51831335/article/details/126757014Anaconda安装&#xff08;注意勾选自动配置环境变量&#xff01;&#xff09; 官网&#xff1a;https://www.anaconda.com/download/success VScode配置 python插件安装安装 …