加载互联网免费地图资源并通过CesiumEarth快速浏览
免费地图资源
地理信息系统(GIS)的搭建主要可分为两部分:1、三维地球引擎;2、基础数据图层。
CesiumEarth提供了可直接使用的三维地球引擎,因此只需准备基础数据图层,即可搭建属于自己的地理信息系统。
基础数据图包含地图数据、地形数据、专题数据等,其中以地图数据最为基础。
一:地图资源介绍
地图为地理信息系统的基础图层,主要为卫星影像、矢量图(街道图),描述地图要素中的基础空间框架,包括坐标系的参考对象等。
地图的选择途径很多,互联网上有多种公开可免费使用的地图资源,如天地图、高德地图、Bing地图、谷歌地图、ArcGIS地图等,
这里列举天地图、高德地图、ArcGIS地图三种:
1、天地图
提示:
|
天地图官网地址: 国家地理信息公共服务平台 天地图
天地图提供WMTS及XYZ两种格式的地图服务,本文中主要以XYZ格式为主,XYZ格式在CesiumEarth中称之为自定义格式
卫星影像(XYZ格式)
http://{s}.tianditu.com/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2
卫星影像(WMTS格式)
https://{s}.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={TileCol}&TILEROW={TileRow}&TILEMATRIX={TileMatrix}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2
卫星影像注记(XYZ格式)
http://{s}.tianditu.com/DataServer?T=cia_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2
卫星影像注记(WMTS格式)
http://{s}.tianditu.com/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg&tk=0f84da9fd48038ea3bd8de15ff9fb4c2
卫星影像+注记效果
矢量图(街道图)(XYZ格式)
http://{s}.tianditu.com/DataServer?T=vec_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2
矢量图(街道图)注记(XYZ格式)
http://{s}.tianditu.com/DataServer?T=cva_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2
矢量图(街道图)+注记效果
地形图(XYZ格式)
http://{s}.tianditu.com/DataServer?T=ter_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2
地形图注记(XYZ格式)
http://{s}.tianditu.com/DataServer?T=cta_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2
地形图+注记效果
从XYZ格式的服务地址中可以发现,不同服务的地址除了T参数,其余都一样,这里总结了T参数的含义:
T参数 | 说明 |
---|---|
img_w | 卫星影像 |
cia_w | 卫星影像注记 |
vec_w | 矢量图 |
cva_w | 矢量图注记 |
ter_w | 地形图 |
cta_w | 地形图注记 |
2、高德地图
高德地图的坐标与天地图有些偏差,为自定义坐标系(天地图为标准的国家2000坐标系),具体使用过程中需要注意。
高德地图地图主要为:卫星影像,卫星影像注记,深色风格的矢量图带注记,浅色风格的矢量图带注记
提示:
|
卫星影像(XYZ格式)
https://{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}
卫星影像注记(XYZ格式)
https://{s}.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}
卫星影像+注记效果
深色风格的矢量图带注记(XYZ格式)
https://{s}.is.autonavi.com/appmaptile?style=7&x={x}&y={y}&z={z}
矢量图深色风格效果
浅色风格的矢量图带注记(XYZ格式)
https://{s}.is.autonavi.com/appmaptile?style=9&x={x}&y={y}&z={z}
矢量图浅色风格效果
3、ArcGIS地图
ArcGIS Online提供了多种风格的地图样式,支持XYZ/WMTS/MapServer格式的服务,其中MapServer格式最为简单,无需申请token,直接调用即可免费使用。
ArcGIS是一款全球著名的地理信息专业工具,因此其提供了非常多的免费在线资源,本文只列举几种常用的地图,更多地图资源可查看目录地址:Folder: /
由于ArcGIS提供的是全球资源,因此其注记大多以英文为主。采用了CGCS2000坐标系,墨卡托投影,与天地图可完美匹配,因此具体场景可综合选择不同的地图进行叠加。
卫星影像(MapServer)
World_Imagery (MapServer)
卫星影像注记(MapServer)
Reference/World_Boundaries_and_Places_Alternate (MapServer)
ArcGIS卫星影像+天地图注记效果
地形图(MapServer)
USA_Topo_Maps (MapServer)
ArcGIS地形图效果
ArcGIS地形图+天地图注记效果
深色底板(MapServer)
Canvas/World_Dark_Gray_Base (MapServer)
ArcGIS深色底板
浅色底板(MapServer)
Canvas/World_Light_Gray_Base (MapServer)
ArcGIS浅色底板
导航图(MapServer)
Specialty/World_Navigation_Charts (MapServer)
ArcGIS导航图
二:如何添加及展示地图
在CesiumEarth中支持多种类型的地图加载,使用也非常方便,无需开发知识,本文以天地图的添加为例,具体详情可查阅CesiumEarth帮助文档:添加图层
1、通过添加图层查看
此处以添加天地图卫星影像为例
- 访问CesiumEarth首页:http://www.cesiumearth.com ,进入三维地球;如果首次使用,可先新建目录,或直接点击添加图层
- 在图层管理模块中可点击添加图层按钮进行添加,选中二维切片数据选项
- 在窗口中输入相关参数,点击确认即可
名称:图层名称(可随意输入)
格式:选择自定义格式(XYZ格式)
Url:复制天地图卫星影像的地址
注记图:选中后会显示在顶层,一般用于显示注记图层
前缀:输入t0,t1,t2,t3,t4,t5,t6,t7
2:通过复制图层配置查看
本文中提到的各种地图资源通过在CesiumEarth复制配置数据,可直接查看,具体操作如下:
- 访问CesiumEarth首页:http://www.cesiumearth.com ,进入三维地球;如果首次使用,可先新建目录,或直接点击添加图层
- 在图层管理模块中可点击添加图层按钮进行添加,选中配置数据选项
- 在窗口中复制下述图层配置数据,点击确认即可
[{"title":"天地图","children":[{"title":"卫星影像注记(WMTS)","url":"http://{s}.tianditu.com/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg&tk=0f84da9fd48038ea3bd8de15ff9fb4c2","subdomains":"t0,t1,t2,t3,t4,t5,t6,t7","anno":"1","checked":true,"type":"ImageryWMTS","format":"image/png","tileMatrixSetID":"GoogleMapsCompatible","key":"3qkzpjgflk4x1mi8","isTarget":true},{"title":"img_w","url":"http://{s}.tianditu.com/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2","anno":"0","subdomains":"t0,t1,t2,t3,t4,t5,t6,t7","checked":true,"type":"ImageryURL","format":"image/png","key":"ohvdm12r89fj32z0","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"cia_w","url":"http://{s}.tianditu.com/DataServer?T=cta_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2","anno":"1","subdomains":"t0,t1","checked":false,"type":"ImageryURL","format":"image/png","key":"aww0z66funhsk63n","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"vec_w","url":"http://{s}.tianditu.com/DataServer?T=vec_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2","anno":"0","subdomains":"t0,t1,t2,t3,t4,t5,t6,t7","checked":false,"type":"ImageryURL","format":"image/png","key":"de2c9j7es64prbn2","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"cva_w","url":"http://{s}.tianditu.com/DataServer?T=cva_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2","anno":"1","subdomains":"t0,t1,t2,t3,t4,t5,t6,t7","checked":false,"type":"ImageryURL","format":"image/png","key":"ul1vf9t3gyh7m0uq","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"ter_w","url":"http://{s}.tianditu.com/DataServer?T=ter_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2","anno":"0","subdomains":"t0,t1,t2,t3,t4,t5,t6,t7","checked":false,"type":"ImageryURL","format":"image/png","key":"2lh2k4smx2d5rerh","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"cta_w","url":"http://{s}.tianditu.com/DataServer?T=cta_w&X={x}&Y={y}&L={z}&tk=0f84da9fd48038ea3bd8de15ff9fb4c2","anno":"1","subdomains":"t0,t1,t2,t3,t4,t5,t6,t7","checked":false,"type":"ImageryURL","format":"image/png","key":"oszwsu85rupd1osu","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false}],"checkable":false,"key":"wi5viz8d4q9nsjcy"},{"title":"ArcGIS地图资源","checkable":false,"key":"vkgx46gu8xlhnmga","children":[{"title":"World_Imagery","url":"https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"7mbrqdpmlq3mre5l","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"NatGeo_World_Map","url":"https://services.arcgisonline.com/arcgis/rest/services/NatGeo_World_Map/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"ye3sac8k9rjykmqr","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"USA_Topo_Maps","url":"https://services.arcgisonline.com/arcgis/rest/services/USA_Topo_Maps/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"dde5la5yw6aqzhc9","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"World_Shaded_Relief","url":"https://services.arcgisonline.com/arcgis/rest/services/World_Shaded_Relief/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"tcj38ipzjwsii9ve","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"World_Street_Map","url":"https://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"nmzp8dan9w7gjjvu","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"World_Terrain_Base","url":"https://services.arcgisonline.com/arcgis/rest/services/World_Terrain_Base/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"2wo1asatlicvx01a","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"World_Topo_Map","url":"https://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"z3jejkjx3lefknks","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"World_Ocean_Base","url":"https://services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"n4sbnttmf2k6mj60","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"World_Hillshade_Dark","url":"https://services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade_Dark/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"4j8eq0ufm69f5jsm","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"World_Hillshade","url":"https://services.arcgisonline.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"gcjhyup544ko10k1","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"World_Dark_Gray_Base","url":"https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Base/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"kj3u7ngfnwas7amp","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"World_Light_Gray_Base","url":"https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Light_Gray_Base/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"03wvvdeqykuogw0v","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"World_Boundaries_and_Places_Alternate","url":"https://services.arcgisonline.com/arcgis/rest/services/Reference/World_Boundaries_and_Places_Alternate/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"yf9ude2y1m45ey4g","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"World_Navigation_Charts","url":"https://services.arcgisonline.com/arcgis/rest/services/Specialty/World_Navigation_Charts/MapServer","anno":"0","subdomains":"","checked":false,"type":"ImageryMapServer","format":"image/png","key":"8q1fhxgszwtjtzxj","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false}]},{"title":"高德地图","checkable":false,"key":"vxjs6z0aqe4w0zi6","children":[{"title":"卫星影像","url":"https://{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}","anno":"0","subdomains":"webst01,webst02,webst03,webst04","checked":false,"type":"ImageryURL","format":"image/png","key":"bao2s732iktj009y","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"深色矢量图","url":"https://{s}.is.autonavi.com/appmaptile?style=7&x={x}&y={y}&z={z}","anno":"0","subdomains":"webst01,webst02,webst03,webst04","checked":false,"type":"ImageryURL","format":"image/png","key":"n0aox0hgc5ijpcx4","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"卫星影像注记","url":"https://{s}.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}","anno":"1","subdomains":"webst01,webst02,webst03,webst04","checked":false,"type":"ImageryURL","format":"image/png","key":"wadjli6qw3bfswvo","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false},{"title":"浅色矢量图","url":"https://{s}.is.autonavi.com/appmaptile?style=9&x={x}&y={y}&z={z}","anno":"0","subdomains":"webst01,webst02,webst03,webst04","checked":false,"type":"ImageryURL","format":"image/png","key":"3r6xyc6l4d9i1efw","tileMatrixSetID":"GoogleMapsCompatible","isTarget":false}]}]
图层添加成功后,效果如下:
免费地图资源导入CesiumEarth后的效果
相关文章:

加载互联网免费地图资源并通过CesiumEarth快速浏览
免费地图资源 地理信息系统(GIS)的搭建主要可分为两部分:1、三维地球引擎;2、基础数据图层。 CesiumEarth提供了可直接使用的三维地球引擎,因此只需准备基础数据图层,即可搭建属于自己的地理信息系统。 …...
Android 键盘输入按确认或换行 直接触发提交
在 Android 开发中,若要实现键盘输入时按下确认键(如 “完成”“发送” 等)或者换行键直接触发提交操作,可以通过以下几种方式实现,下面为你详细介绍。 方式一:使用 EditText 的 setOnEditorActionListene…...
halcon三维点云数据处理(二十七)remove_bin_for_3d_object_localization
目录 一、remove_bin_for_3d_object_localization代码第一部分二、remove_bin_for_3d_object_localization代码第二部分三、效果图一、remove_bin_for_3d_object_localization代码第一部分 1、读图构建3D模型。 2、一次二值化选取区域。 3、一次和背景差值选取区域。 4、在二维…...

XFeat:轻量级的深度学习图像特征匹配
一、引言:图像特征匹配的挑战与XFeat的突破 在计算机视觉领域,图像特征匹配是视觉定位(Visual Localization)、三维重建(3D Reconstruction)、增强现实(AR)等任务的核心基础。传统方…...
[MD] AG stable
当然,以下是A-stable和G-stable的详细定义: A-stable (A-稳定) A-stable是数值方法稳定性的一种分类,主要用于分析求解常微分方程初值问题的数值方法。一个数值方法被称为A-stable,如果它满足以下条件: 对于所有的步…...
微信小程序自定义导航栏实现指南
文章目录 微信小程序自定义导航栏实现指南一、自定义导航栏的需求分析二、代码实现1. WXML 结构2. WXSS 样式样式解析:3. JavaScript 逻辑三、完整代码示例四、注意事项与优化建议五、总结微信小程序自定义导航栏实现指南 在微信小程序开发中,默认的导航栏样式可能无法满足所…...

wav格式的音频压缩,WAV 转 MP3 VBR 体积缩减比为 13.5%、多个 MP3 格式音频合并为一个、文件夹存在则删除重建,不存在则直接建立
🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 问题一:wav格式的音频压缩为哪些格式,网络传输给用户播放…...

面试问题——如何解决移动端1px 边框问题?
面试问题——如何解决移动端1px 边框问题? 最近,不少小伙伴向我反映,他们在面试中频繁被问到关于1px边框的问题。这个看似老生常谈的话题,没想到在面试中的出现率依然这么高,着实让我有些意外。对于那些对这个问题感到…...

鸿蒙开发第4篇__关于在鸿蒙应用中使用Java语言进行设计
本博文很重要 HarmonyOS从 API8 开始不再支持使用Java作为开发语言,未来的新功能将在ArkTS中实现. API 8对应的是HarmonyOS 3.0.0版本。请看下图: 因此, 读者如果看到类似《鸿蒙应用程序开发》(2021年版本 清华大学出版计)书 还使用Java语言…...
什么是Ollama?什么是GGUF?二者之间有什么关系?
一、Ollama:本地化大模型运行框架 Ollama 是一款开源工具,专注于在本地环境中快速部署和运行大型语言模型(LLM)。它通过极简的命令行操作简化了模型管理流程,支持离线运行、多模型并行、私有化部署等场景。 核心特性 本地化运行:无需依赖云端API,用户可在个人电脑或服务…...

kubernetes 初学命令
基础命令 kubectl 运维命令常用: #查看pod创建过程以及相关日志 kubectl describe pod pod-command -n dev #查看某个pod,以yaml格式展示结果 kubectl get pod nginx -o yaml #查看pod 详情 以及对应的集群IP地址 kubectl get pods -o wide 1. kubetc…...
useLayoutEffect和useEffect有什么区别?
在 React 中,useEffect 和 useLayoutEffect 是两个用于处理副作用的 Hook。虽然它们在用法上相似,但在执行时间和适用场景上有显著的区别。以下是对这两个 Hook 的详细比较和解释。 1. 基本概念 useEffect 定义:useEffect 是一个 Hook&…...
Docker迁移/var/lib/docker之后镜像容器丢失问题
迁移/var/lib/docker时,如果目标目录少写一个/,/etc/docker/daemon.json中的data-root后面需要多加一级目录docker。 若迁移命令如下 rsync -avz /var/lib/docker /home/docker/ 在/etc/docker/daemon.json中添加如下内容 "data-root": &q…...

ProfiNet转EtherCAT 网关:助力工业设备 “对话”的神奇纽带
在工业自动化的世界里,通信协议就像不同的语言,而稳联技术ProfiNet转EtherCAT网关(WL-PN-ECATM)则是那个精通多国语言的“翻译官”。它不仅能打破协议壁垒,还能让设备之间的沟通更加高效、精准。今天,我们就…...

TCP基本入门-简单认识一下什么是TCP
部分内容来源:小林Coding TCP的特点 1.面向连接 一定是“一对一”才能连接,不能像 UDP 协议可以一个主机同时向多个主机发送消息,也就是一对多是无法做到的 2.可靠的 无论的网络链路中出现了怎样的链路变化,TCP 都可以保证一个…...

本地快速搭建一套AI人脸识别技术研究学习的实验环境
如果你想在本地搭建一套学习和研究AI人脸识别技术的框架,建议使用开源工具和框架进行实验,因为它们通常提供了较为丰富的文档和社区支持,能够帮助你深入理解人脸识别的核心原理。以下是一套可行性强且综合性的方案,涵盖了人脸检测…...
DeepSeek:面向效率与垂直领域的下一代大语言模型技术解析
本文将深入剖析DeepSeek模型的核心算法架构,揭示其在神经网络技术上的突破性创新,并与主流大模型进行全方位技术对比。文章涵盖模型设计理念、训练范式优化、应用场景差异等关键维度,为读者呈现大语言模型领域的最新发展图景。 一、DeepSeek…...

【easy视频 | day01】项目了解 + 登录注册 + 使用 token 作为客户端请求令牌
文章目录 前言完成任务1. 项目了解2. 登录注册2.1 创建数据表2.2 验证码如果使用 Session 存储验证码:不用 Session 存储验证码,用 Redis 会有什么问题? 2.3 注册功能2.4 登录功能2.5 自动登录2.6 退出登录 总结 前言 本项目非原创,我只是个…...
使用elasticdump导出/导入 -- ES数据
导出指定索引数据到指定文件夹: ./elasticdump --inputhttp://用户:密码IP:9201/索引名字 --output导出路径/out.json --typedata 将导出的文件导入 ./elasticdump --input路径/out.json --outputhttp://账号:密码IP:9201/索引名称 --typedata --fileTypejson 【el…...
React + TypeScript 复杂布局开发实战
React TypeScript 复杂布局开发实战 一、项目架构设计(基于最新技术栈) 1.1 技术选型与工程创建 # 使用Vite 5.x React 19 TypeScript 5.4 npx create-vitelatest power-designer-ui --template react-ts cd power-designer-ui && npm inst…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...