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

超图iClient3DforCesium地形、影像、模型、在线影像交互示例

超图iClient3DforCesium地形、影像、模型、在线影像交互示例

  • 描述
  • 示例代码


描述

数据源:基于iserver发布的三维场景(地形、影像、BIM模型) + 在线arcgis影像
应用:目录树展示源数据列表、目录树控制源数据可视化结果显隐、BIM模型点选查询关联属性


示例代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"><title>模型交互示例</title><link href="../../Build/Cesium/Widgets/widgets.css" rel="stylesheet"><link href="./css/pretty.css" rel="stylesheet"><script src="./js/jquery.min.js"></script><script src="./js/config.js"></script><script src="./js/bootstrap.min.js"></script><script src="./js/bootstrap-select.min.js"></script><script src="./js/bootstrap-treeview.js"></script><script src="./js/spectrum.js"></script><script type="text/javascript" src="../../Build/Cesium/Cesium.js"></script></head><body><div id="cesiumContainer"></div><div id='tool-menu' class='tool-menu'><a data-toggle='dropdown' id='layerMangerBtn' title='图层管理' class='tool-menu-btn tool-menu-btn-inverse'><span class='smicon-layerlist tool-menu-btn-icon'></span><div class="dropDown-container treeview-dropDown-container" id="treeContainer"><div id='layerTree'></div></div></a></div><div id="bubble" class="bubble" style="bottom:0;left:82%;display:none;" ><div id="tools" style="text-align : right"><span  style="color: rgb(95, 74, 121);padding: 5px;position: absolute;left: 10px;top: 4px;">对象属性</span><span class="fui-export" id="bubblePosition" style="color: darkgrey; padding:5px" title="停靠"></span><span  class="fui-cross" title="关闭" id="close" style="color: darkgrey;padding:5px"></span></div><div style="overflow-y:scroll;height:150px" id="tableContainer"><table id="tab"></table></div></div> <script type="text/javascript">function onload(Cesium) {// 初始化viewer部件var viewer = new Cesium.Viewer('cesiumContainer');var scene = viewer.scene;var widget = viewer.cesiumWidget;// 场景光照scene.lightSource.ambientLightColor = new Cesium.Color(0.65, 0.65, 0.65, 1);                // 添加在线影像服务                let onlineImageries = []; // 在线影像资源对象管理var arcgisonline = viewer.imageryLayers.addImageryProvider(new Cesium.ArcGisMapServerImageryProvider({url: 'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer'}), 2);onlineImageries.push({name: 'arcgis-L17', provider: arcgisonline});// 对象属性展示载体                var infoboxContainer = document.getElementById("bubble");viewer.customInfobox = infoboxContainer;// 添加场景服务// 场景服务-界面管理图层数组let loadedLayers = [];try {var promise = scene.open('@isever服务地址/iserver/services/3D-publish-workspace/rest/realspace');Cesium.when(promise, function(layers) {// 设置相机位置、方向,定位至模型// 可以先不设置 待第一次渲染的时候 使用console.log()打印出相关参数 来填充此设置//scene.camera.setView({//    destination : new Cesium.Cartesian3(-2180753.065987198,4379023.266141494,4092583.575045952),//    orientation : {//        heading : 4.0392222751147955,//        pitch :0.010279641987852584,//        roll : 1.240962888005015e-11//    }//});                        // 界面图层管理树形菜单控件// 初始化树形目录var $tree = $('#layerTree').treeview({data: [{text:"图层目录", selectable:false}],showIcon: true,showCheckbox: true,backColor: 'transparent',color: '#fff',// 通过NodeChecked状态设置子图层的显示与隐藏的切换onNodeChecked: function(evt, node) {// 判断是否选中图层管理节点if (node.text == "模型图层包") {// 模型图层的父节点 所有模型图层显隐for (var i = 0; i < loadedLayers.length; i++) {if (loadedLayers[i].type == 'model') {loadedLayers[i].source.visible = true;}}return;} else if (node.text == "地形图层包") {// 地形图层的父节点 所有地形图层显隐for (var i = 0; i < loadedLayers.length; i++) {if (loadedLayers[i].type == 'terrain') {viewer.terrainProvider = loadedLayers[i].source;}}return;} else if (node.text == "影像图层包") {// 影像图层的父节点 所有影像图层显隐for (var i = 0; i < loadedLayers.length; i++) {if (loadedLayers[i].type == 'imagery' || loadedLayers[i].type == 'imagery-online') {loadedLayers[i].source.show = true;}}return;} else if (node.text == "图层目录") {for (var i = 0; i < loadedLayers.length; i++) { if (loadedLayers[i].type == 'model') {loadedLayers[i].source.visible = true;} else if (loadedLayers[i].type == 'terrain') {viewer.terrainProvider = loadedLayers[i].source;} else {loadedLayers[i].source.show = true;}}return;}// 判断是否是模型图层// 先判断是否选中图层的子图层内容var opLayerIndex = -1;var ids = [];for (var i = 0; i < loadedLayers.length; i++) {// 先判断是否选中了子图层内容if (loadedLayers[i].type == 'model') {// 只有模型节点存在子图层内容for (var j = 0; j < loadedLayers[i].nodes.length; j++) {if (loadedLayers[i].nodes[j].name == node.text) {opLayerIndex = i;ids = range(loadedLayers[i].nodes[j].source.startID, loadedLayers[i].nodes[j].source.endID);break;}}}if (opLayerIndex != -1) {break;}// 再判断是否选中的是图层节点本省if (loadedLayers[i].name == node.text) {opLayerIndex = i;break;}}if (ids.length > 0) {// 设置子图层id对应的内容显隐loadedLayers[opLayerIndex].source.setOnlyObjsVisible(ids,true);} else if (opLayerIndex != -1) {// 图层节点本身if (loadedLayers[opLayerIndex].type == 'model') {// 模型图层loadedLayers[opLayerIndex].source.visible = true;} else if (loadedLayers[opLayerIndex].type == 'terrain') {// 地形图层viewer.terrainProvider = loadedLayers[opLayerIndex].source;} else {// 影像图层loadedLayers[opLayerIndex].source.show = true;}}},onNodeUnchecked: function(evt, node) {// 判断是否选中图层管理节点if (node.text == "模型图层包") {// 模型图层的父节点 所有模型图层显隐for (var i = 0; i < loadedLayers.length; i++) {if (loadedLayers[i].type == 'model') {loadedLayers[i].source.visible = false;}}return;} else if (node.text == "地形图层包") {// 地形图层的父节点 所有地形图层显隐for (var i = 0; i < loadedLayers.length; i++) {if (loadedLayers[i].type == 'terrain') {viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider({}); // 空地形}}return;} else if (node.text == "影像图层包") {// 影像图层的父节点 所有影像图层显隐for (var i = 0; i < loadedLayers.length; i++) {if (loadedLayers[i].type == 'imagery' || loadedLayers[i].type == 'imagery-online') {loadedLayers[i].source.show = false;}}return;} else if (node.text == "图层目录") {for (var i = 0; i < loadedLayers.length; i++) { if (loadedLayers[i].type == 'model') {loadedLayers[i].source.visible = false;} else if (loadedLayers[i].type == 'terrain') {viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider({}); // 空地形} else {loadedLayers[i].source.show = false;}}return;}// 判断是否是模型图层// 先判断是否选中图层的子图层内容var opLayerIndex = -1;var ids = [];for (var i = 0; i < loadedLayers.length; i++) {// 先判断是否选中了子图层内容if (loadedLayers[i].type == 'model') {// 只有模型节点存在子图层内容for (var j = 0; j < loadedLayers[i].nodes.length; j++) {if (loadedLayers[i].nodes[j].name == node.text) {opLayerIndex = i;ids = range(loadedLayers[i].nodes[j].source.startID, loadedLayers[i].nodes[j].source.endID);break;}}}if (opLayerIndex != -1) {break;}// 再判断是否选中的是图层节点本省if (loadedLayers[i].name == node.text) {opLayerIndex = i;break;}}if (ids.length > 0) {// 设置子图层id对应的内容显隐loadedLayers[opLayerIndex].source.setOnlyObjsVisible(ids,false);} else if (opLayerIndex != -1) {// 图层节点本身if (loadedLayers[opLayerIndex].type == 'model') {// 模型图层loadedLayers[opLayerIndex].source.visible = false;} else if (loadedLayers[opLayerIndex].type == 'terrain') {// 地形图层viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider({}); // 空地形} else {// 影像图层loadedLayers[opLayerIndex].source.show = false;}}},onNodeSelected: function(evt, node) {// 模型节点子图层选中时 模型渲染状态var opLayerIndex = -1;var ids = [];for (var i = 0; i < loadedLayers.length; i++) {// 先判断是否选中了子图层内容if (loadedLayers[i].type == 'model') {// 只有模型节点存在子图层内容for (var j = 0; j < loadedLayers[i].nodes.length; j++) {if (loadedLayers[i].nodes[j].name == node.text) {opLayerIndex = i;ids = range(loadedLayers[i].nodes[j].source.startID, loadedLayers[i].nodes[j].source.endID);break;}}}if (ids.length > 0) {break;}}if (ids.length > 0) {loadedLayers[opLayerIndex].source.releaseSelection();loadedLayers[opLayerIndex].source.setSelection(ids);} else {loadedLayers[opLayerIndex].source.removeAllObjsColor();}}});// 树形目录根节点var rootNode = $tree.treeview('getNode', 0);// 属性目录分成三类子节点:// 第一类: 模型节点var modelNode = $tree.treeview('addNode', [rootNode, {text:"模型图层包", showDel: true, fontSize: '10pt',state: {checked: true}}]);// 第二类: 地形节点var terrainNode = $tree.treeview('addNode', [rootNode, {text:"地形图层包", showDel: true, fontSize: '10pt',state: {checked: true}}]);// 第三类: 影像节点var imageryNode = $tree.treeview('addNode', [rootNode, {text:"影像图层包", showDel: true, fontSize: '10pt',state: {checked: true}}]);// 解析图层 设置图层挂载数据 layers.forEach((layer, index) => {// 将图层添加到loadedLayers便于管理if (layer._isS3MB || layer._isS3MBlock) {// 模型图层// 模型图层需要查询属性,需要挂载数据// 设置图层挂载的数据layer.setQueryParameter({url: '@isever服务地址/services/data-publish-workspace/rest/data',dataSourceName: "datasource-publish",isMerge: true});// decodeURI(layer.name)loadedLayers.push({name: layer.name, checked: true, type: 'model', source: layer, nodes: []});// 树形目录添加模型图层节点var childNode = $tree.treeview('addNode', [modelNode, {text: layer.name, showDel: true, fontSize: '10pt', state: {checked: true}}]);// 添加当前图层的内容信息layer.datasetInfo().then(function(result) {for (var i = 0; i < result.length; i++) {loadedLayers[loadedLayers.length - 1].nodes.push({name: result[i].datasetName, checked: true, type: 'model-node', source: result[i], nodes: []});// 添加到树形目录$tree.treeview('addNode', [childNode, {text: result[i].datasetName, showDel: true,fontSize: '10pt', state: {checked: true}}]);}});} else if (layer.imageryProvider) {// 影像图层loadedLayers.push({name: decodeURIComponent(layer.imageryProvider.tablename), checked: true, type: 'imagery', source: layer, nodes: []});// 添加到树形目录$tree.treeview('addNode', [imageryNode, {text: decodeURIComponent(layer.imageryProvider.tablename), showDel: true, fontSize: '10pt', state: {checked: true}}]);} else if (layer._isTerrainZ) {// decodeURIComponent:可以转换@等特殊字符和中文// decodeURI:只能转换中文// 地形图层loadedLayers.push({name: decodeURIComponent(layer.tablename), checked: true, type: 'terrain', source: layer, nodes: []});// 添加到树形目录$tree.treeview('addNode', [terrainNode, {text: decodeURIComponent(layer.tablename), showDel: true, fontSize: '10pt', state: {checked: true}}]);}});// 更新在线影像图层onlineImageries.forEach((online, index) => {// 添加到界面管理图层数组loadedLayers.push({name: online.name, checked: true, type: 'imagery-online', source: online, nodes: []});// 添加到树形目录$tree.treeview('addNode', [imageryNode, {text: online.name, showDel: true, fontSize: '10pt', state: {checked: true}}]);});});} catch (e) {if (widget._showRenderLoopErrors) {var title = '渲染时发生错误,已停止渲染。';widget.showErrorPanel(title, undefined, e);}}//点击对象查询对象属性let labelPickedWorker = [{name: '名字', value: "", key: 'MODELNAME'},{name: '编码', value: "", key: 'MODELCODE'},]var table = document.getElementById("tab");viewer.pickEvent.addEventListener(function(feature){$("#bubble").show();for (i = table.rows.length-1;i > -1;i--){table.deleteRow(i);}for(var key in feature ){for (var i = 0; i < labelPickedWorker.length; i++) {if (key == labelPickedWorker[i].key) {var newRow = table.insertRow();var cell1 = newRow.insertCell();var cell2 = newRow.insertCell();cell1.innerHTML = labelPickedWorker[i].name;cell2.innerHTML = feature[key];}}} });$("#bubblePosition").click(function(){if($("#bubblePosition").hasClass("fui-export")){viewer.customInfobox = undefined;$("#bubble").removeClass("bubble").addClass("float");$("#bubblePosition").removeClass("fui-export").addClass("fui-bubble");$("#bubblePosition")[0].title = "悬浮";$("#bubble").css({'left' : '82%','bottom' : '45%'});$("#tableContainer").css({'height':'350px'});}else if($("#bubblePosition").hasClass("fui-bubble")){$("#bubble").removeClass("float").addClass("bubble");$("#bubblePosition").removeClass("fui-bubble").addClass("fui-export");$("#bubblePosition")[0].title = "停靠";$("#tableContainer").css({'height':'150px'});viewer.customInfobox = infoboxContainer;}});$("#close").click(function(){$("#bubble").hide();});function range(startID,endID){var array=[];for(var i = startID; i < endID + 1; i++){array.push(i);}return array;}//图层目录的隐藏显示$(document).on('click.dropDown-container touchstart.dropDown-container','[data-toggle=dropdown]',function(evt){evt.stopPropagation();var target = evt.target;if(!target.contains(evt.currentTarget) && target.tagName != 'SPAN'){return ;}var $this = $(this), $parent, isActive;var $target = $this.children('div.dropDown-container');if($target.length == 0){$('.dropDown-container').removeClass('dropDown-visible');return ;}isActive = $target.hasClass('dropDown-visible');$('.dropDown-container').removeClass('dropDown-visible');if(!isActive){$target.addClass('dropDown-visible');}return false;});var height = $('body').height()*0.85 + 'px';$('#treeContainer').css({'height' : height,'min-width' : '260px','text-align' : 'left'});}if (typeof Cesium !== 'undefined') {window.startupCalled = true;onload(Cesium);}</script></body>
</html>

相关文章:

超图iClient3DforCesium地形、影像、模型、在线影像交互示例

超图iClient3DforCesium地形、影像、模型、在线影像交互示例 描述示例代码 描述 数据源&#xff1a;基于iserver发布的三维场景(地形、影像、BIM模型) 在线arcgis影像 应用&#xff1a;目录树展示源数据列表、目录树控制源数据可视化结果显隐、BIM模型点选查询关联属性 示例代…...

【解决】电脑上的WIFI图标不见了咋整?

相信不少同学都遇到过这种情况&#xff1a;电脑上的wifi图标莫名不见了&#xff0c;甚至有时候还是在使用的中途突然断网消失的。 遇到这种情况一般有两种解决方案&#xff1a; 1. 在开机状态下长按电源键30秒以上 这种办法应该是给主板放电&#xff0c;一般应用在wifi6上面。…...

2 - 表结构 | MySQL键值

表结构 | MySQL键值 表管理1. 库的操作2. 表的操作表的创建与删除表的修改复制表 3. 管理表记录 数据类型数值类型字符类型&#xff08;汉字或者英文字母&#xff09;日期时间类型 表头存储与日期时间格式的数据枚举类型 数据批量处理 表管理 客户端把数据存储到数据库服务器上…...

Redis(Linux版本7.2.3)

1、停止Redis服务器 [roottssvr1-c1 sysconfig]# ps -ef | grep redis root 322 1 0 10月30 ? 02:58:53 ./bin/redis-server 0.0.0.0:6379 root 32664 12498 0 14:45 pts/0 00:00:00 grep --colorauto redis [roottssvr1-c1 sysconfig]# [roottssvr…...

八股文打卡day18——操作系统(1)

面试题&#xff1a;进程和线程的区别&#xff1f; 我的回答&#xff1a; 1.概念上。进程是系统进行资源分配和调度的基本单位。线程是系统进行运算调度的最小单位。线程是进程的子任务&#xff0c;一个进程至少包含一个线程&#xff0c;一个进程可以运行多个线程&#xff0c;…...

设计模式—行为型模式之模板方法模式

设计模式—行为型模式之模板方法模式 在模板模式&#xff08;Template Pattern&#xff09;中&#xff0c;一个抽象类公开定义了执行它的方法的方式模板。它的子类可以按需要重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。 模板方法&#xff08;Template Metho…...

机器学习的分类与经典算法

机器学习算法按照学习方式分类&#xff0c;可以分为有监督学习&#xff08;Supervised Learning&#xff09;、无监督学习&#xff08;Unsupervised Learning&#xff09;、半监督学习&#xff08;Semi-supervised Learning&#xff09;、强化学习&#xff08;Reinforcement Le…...

2.3物理层下面的传输媒体

目录 2.3物理层下面的传输媒体2.3.1导引型传输媒体1.双绞线2.同轴电缆3.光纤 2.3.2非导引型传输媒体无线电微波通信 2.3物理层下面的传输媒体 传输媒体是数据传输系统中在发送器和接收器之间的物理通路 两大类&#xff1a; 导引型传输媒体&#xff1a;电磁波被导引沿着固体媒体…...

笙默考试管理系统-MyExamTest----codemirror(57)

笙默考试管理系统-MyExamTest----codemirror&#xff08;57&#xff09; 目录 一、 笙默考试管理系统-MyExamTest----codemirror 二、 笙默考试管理系统-MyExamTest----codemirror 三、 笙默考试管理系统-MyExamTest----codemirror 四、 笙默考试管理系统-MyExamTest---…...

Qt高质量的开源项目合集

文章目录 1.Qt官网下载/文档2.第三方开源 1.Qt官网下载/文档 Qt Downloads Qt 清华大学开源软件镜像站 Qt 官方博客 2.第三方开源 记录了平常项目开发中用到的第三方库&#xff0c;以及一些值得参考的项目&#xff01; Qt AV 基于Qt和FFmpeg的跨平台高性能音视频播放框…...

HarmonyOS ARKUI深度解析:图像组件及权限配置实战指南

文章目录 深入学习RKUI中的图片组件及权限配置图片组件简介图片源的三种格式Image : 图片显示组件图片组件属性及样式控制图片权限配置文章总结问题总结深入学习RKUI中的图片组件及权限配置 在本文中,我们将深入学习ArkUI(HarmonyOS UI框架)中的图片组件及其相关属性,同时…...

萨姆·奥尔特曼的预言

Sam Altman&#xff08;萨姆奥尔特曼&#xff09;是 OpenAI 的首席执行官&#xff0c;这家初创公司开发了众所周知的 ChatGPT。2023年11月&#xff0c;他突然被董事会解雇&#xff0c;并短暂调往微软。在 OpenAI 的每个人都威胁要辞职后&#xff0c;他又回来了。 新的商业模式…...

iPhone 13 Pro 更换『移植电芯』和『超容电池』体验

文章目录 考虑换电池Ⅰ 方案一Ⅱ 方案二 总结危险 Note系列地址 简 述: 首发买的iPhone 13P &#xff08;2021.09&#xff09;&#xff0c;随性使用一年出头&#xff0c;容量就暴跌 85%&#xff0c;对比朋友一起买的同款&#xff0c;还是95%。这已经基本得一天两充 >_<&a…...

JavaScript 常用事件演示

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍在在JavaScript 常用事件演示以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主收将持续更新学习记录获&#xff0c;友友们有任何问题可以在评论区…...

gzip引入后node_modules中.cache compression-webpack-plugin占用内存过多

1.Gzip Gzip&#xff08;GNU zip&#xff09;是一种常见的文件压缩格式和压缩算法&#xff0c;通常用于在 Web 服务器上对静态资源文件进行压缩&#xff0c;以减小文件大小并加快文件传输速度。在前端开发中&#xff0c;经常会使用 Gzip 压缩来优化网站的性能。 Gzip 压缩通过…...

Vue:使用IDEA开发Vue的相关配置

一、IDEA无法识别.vue文件 1、IDEA 添加Vue插件 2、添加Vue配置 File | Settings | Editor | File Types 找到 HTML 文件 在下面点号 输入*.vue 二、IDEA无法创建.vue文件 1、问题 在开发过程中&#xff0c;发现创建文件的界面&#xff0c;没有vue模板 2、相关配置 Fi…...

黑马程序员SSM框架-SpringBoot

视频连接&#xff1a;SpringBoot-01-SpringBoot工程入门案例开发步骤_哔哩哔哩_bilibili SpringBoot简介 入门程序 也可以基于官网创建项目。 SpringBoot项目快速启动 下面的插件将项目运行所需的依赖jar包全部加入到了最终运行的jar包中&#xff0c;并将入口程序指定。 Spri…...

Javascript细节、经验锦集

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/135311084 出自【进步*于辰的博客】 纯文字阐述&#xff0c;内容比较干。并且&#xff0c;由于考…...

git的使用基础教程

最近项目在搞自动化测试&#xff0c;需要将各种测试脚本集成到自动化框架里边&#xff0c;这个就需要用到版本管理系统了,下面简单价绍一下git的使用。 首先从官网下载并安装git工具&#xff0c;下面以wins系统为例子说明 https://git-scm.com/downloads wins安装好后&#xff…...

Springboot整合Elasticsearch 7.X 复杂查询

这里使用Springboot 2.7.12版本&#xff0c;Elasticsearch为7.15.0。 导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency> yaml文件配置…...

第5课 使用openCV捕获摄像头并实现预览功能

这节课我们开始利用ffmpeg和opencv来实现一个rtmp推流端。推流端的最基本功能其实就两个:预览画面并将画面和声音合并后推送到rtmp服务器。 一、FFmpeg API 推流的一般过程 1.引入ffmpeg库&#xff1a;在代码中引入ffmpeg库&#xff0c;以便使用其提供的功能。 2.捕获摄像头…...

Python3操作Json文件碰到的几个问题

文章目录 小结问题及解决byte数组与str字符串之间不兼容没有Index属性JSON.DUMP(S) & JSON.LOAD(S) 参考 小结 使用Python3操作Json文件碰到的几个问题&#xff0c;进行了解决。 问题及解决 byte数组与str字符串之间不兼容 以下的几个问题都是由于字节数组和字符串之间…...

Java中的自定义异常处理:业务异常类的创建与使用

文章内容 引言 在Java编程中&#xff0c;异常处理是一项重要的技术&#xff0c;它允许程序在遇到错误或特殊情况时能够优雅地处理&#xff0c;而不是直接崩溃。Java提供了丰富的内置异常类&#xff0c;但在实际业务开发中&#xff0c;我们往往需要根据具体的业务需求定义自己的…...

微信小程序有几个文件

微信小程序通常由多个文件组成&#xff0c;主要包括以下几种类型的文件&#xff1a; JSON 配置文件&#xff1a; app.json: 整个小程序的全局配置&#xff0c;包括页面路径、窗口样式、网络超时时间等。 page.json: 单个页面的配置&#xff0c;用于指定该页面的窗口样式、导航…...

计算机网络:知识回顾

0 本节主要内容 问题描述 解决思路 1 问题描述 通过一个应用场景来回顾计算机网络涉及到的协议&#xff08;所有层&#xff09;。如下图所示场景&#xff1a; 学生Bob将笔记本电脑用一根以太网电缆连接到学校的以太网交换机&#xff1b;交换机又与学校的路由器相连&#xf…...

【Python百宝箱】音韵探奇:探索Python中的音频与信号魔法

数字音符&#xff1a;畅游Python音频与信号处理的科技奇境 前言 在数字时代&#xff0c;音频与信号处理不仅仅是专业领域的关键&#xff0c;也成为了科技创新和艺术创作的核心。本文将带领您深入探索Python中多个强大的音频处理库和信号处理工具&#xff0c;从Librosa到Tenso…...

springboot(ssm农产品直卖平台 农产品商城系统Java系统

springboot(ssm农产品直卖平台 农产品商城系统Java系统 开发语言&#xff1a;Java 框架&#xff1a;ssm/springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.7&#xff08;或8.0&#xff09; 数…...

C#编程-使用条件构造

使用条件构造 作判定是人的基本能力。判定也是可收编进程序。这有助于确定程序执行指令的顺序。 您可用条件构造来控制程序的流程。条件构造允许您基于被求职的表达式的结果来执行选定语句。 可以包含在C#程序中的各种条件构造是: if…else 构造switch…case 构造if…else构…...

【BERT】深入理解BERT模型1——模型整体架构介绍

前言 BERT出自论文&#xff1a;《BERT&#xff1a;Pre-training of Deep Bidirectional Transformers for Language Understanding》 2019年 近年来&#xff0c;在自然语言处理领域&#xff0c;BERT模型受到了极为广泛的关注&#xff0c;很多模型中都用到了BERT-base或者是BE…...

【Java开发岗面试】八股文—设计模式

声明&#xff1a; 背景&#xff1a;本人为24届双非硕校招生&#xff0c;已经完整经历了一次秋招&#xff0c;拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验&#xff08;主要是校招&#xff09;&#xff0c;包括我自己总结的八股文、算法、项目介绍、HR面和面试…...