- 博客(74)
- 资源 (1)
- 收藏
- 关注
原创 紧急补救:TCP心跳检测失效问题复盘与彻底解决
从“单向发送”升级为“双向交互”:通过“发送心跳帧+等待响应”验证连接可用性;增加“双重超时兜底”:心跳响应超时(2秒)+ 收包超时(10秒),覆盖所有异常场景;移除兼容性问题代码:删除H5+/Android不支持的反射API,提升多设备适配性;完善资源清理:确保所有定时器被关闭,避免内存泄漏。
2026-01-06 17:11:39
1078
原创 基于 TCP 的工业级干扰设备通信协议实现:从帧解析到命令交互全解析(uni-app/TCP通信)
设备通信帧采用固定格式,核心结构如下:plaintext帧起始(10 02) + 长度字段(2字节) + 序列号(1字节) + 目的地址(1字节) + 源地址(1字节) + 数据内容 + CRC(2字节) + 帧结束(10 03)长度字段:表示「序列号 + 目的地址 + 源地址 + 数据内容 + CRC」的总字节数序列号:0-127 循环使用,确认帧需将最高位置 1地址映射:信号源 1-5 对应 0x01/0x02/0x04/0x08/0x10,"all" 对应 0x1F(全开 / 全停)
2026-01-05 19:05:50
1096
原创 基于Leaflet与自定义WMTS服务构建专业地图应用
/ 自定义leaflet天地图经纬度坐标code: 'EPSG:4490', // 坐标系标识projection: L.Projection.LonLat, // 使用经纬度投影});坐标系统解析:EPSG:4490:中国国家大地坐标系(CGCS2000),是我国最新的国家大地坐标系transformation参数:定义了像素坐标与地理坐标之间的转换关系1/180:经度到x坐标的缩放因子1:x坐标的偏移量-1/180:纬度到y坐标的缩放因子(负号表示y轴方向)0.5:y坐标的偏移量。
2025-12-10 18:08:40
313
原创 使用 Node.js 处理中文目录下的 GeoJSON 数据:智能按行政区划代码组织文件
我们经常面临这样一个场景:多个项目团队以中文目录结构存储了大量的 GeoJSON 文件,需要按照统一的行政区划代码(adcode)进行重新组织。这些文件可能分散在不同的中文文件夹中,命名不规范,编码各异,手动处理不仅耗时耗力,还容易出错。那么今天,我将分享一个基于 Node.js 的解决方案,能够自动读取中文目录结构,智能提取 adcode,并按行政区划重新组织文件,实现数据管理的自动化与规范化。
2025-12-02 17:04:00
267
原创 浏览器端缓存地图请求:使用 IndexedDB + ajax-hook 提升地图加载速度
在 Web 地图应用中(例如基于 CesiumJS、mars‑3d 或其它 3D 地球/地图库),一个常见性能瓶颈是“底图/地形/瓦片/影像请求过多、网络延迟高、重复请求资源多”。为了解决这个问题,可以将重要的地图请求结果缓存到浏览器端(使用 IndexedDB),下一次再请求相同 URL 时,优先从缓存返回,从而减少网络请求、加快加载速度、改善用户体验。本文将演示如何使用(用于 IndexedDB 存储) +ajax‑hook(用于拦截 XHR/Fetch 请求)实现这一功能。rules。
2025-11-03 14:33:44
732
原创 Leaflet地图特效进阶:SVG径向渐变打造动态圆形光晕效果(趣味版)
"我的地图需要发光!"——某位深夜加班的程序员对着电脑怒吼"这很简单,"隔壁工位的前端大神推了推眼镜,"让我们用SVG魔法阵来施法。在现代Web地图开发中,单纯的颜色填充已无法满足用户对数据可视化的审美需求。本文通过Leaflet框架与SVG技术的深度结合,演示如何实现具有科技感的圆形边缘内发光特效。该效果可广泛应用于交通热点监控、地理事件预警等场景,为地图交互增添动态视觉层次。
2025-10-24 17:00:59
844
原创 《地球很大,我帮你量一量》——一个测距工具的自述
👦小白开发者“Cesium 太酷了!我能飞到珠穆朗玛峰顶上空,也能潜入海平面以下……但我就是不知道,两点之间到底有多远。要是能像地图 App 那样随手一量该多好。🤖测距工具 DistanceMeasureTool“别急!小伙子,我就是干这个的。我先亮个身份牌——这是我的代码框架:”viewer:Cesium 的舞台(就是那颗地球 🌍)。handler:事件监听器,用来捕捉鼠标点击、移动等交互。points:用户点下的坐标点集合。:存储每一段长度的文字标注。:存储累计总长的文字标注。
2025-09-09 16:29:15
801
原创 【Cesium实战】多图元绘制 + 编辑 + 颜色选择,一篇文章教你搞定!
在三维地球应用开发中,是最常见的交互需求之一。无论是地理标注、区域规划,还是空间分析,用户都希望能在地图上,并且能够自由修改颜色、拖动顶点编辑,甚至一键清空。✅ 支持绘制多边形、矩形、圆形;✅ 绘制过程中实时预览;✅ 可修改图形颜色(绘制时即生效);✅ 支持顶点拖动编辑;✅ 支持清空所有图形;✅ 提供绘制结果的经纬度回调(圆形额外返回圆心与半径)。最终效果如下 👇。
2025-09-02 09:39:37
441
原创 Cesium地图弹窗组件:打造专业级地理信息展示系统
在现代WebGIS应用中,地图弹窗是用户与地理信息交互的核心界面。一个优秀的弹窗组件不仅能清晰展示数据,更能提升用户体验和应用专业性。Cesium作为强大的3D地球可视化库,虽然功能丰富,但并未提供开箱即用的高级弹窗功能。本文将介绍如何实现一个功能完备、样式优雅的Cesium弹窗组件。本文介绍的Cesium弹窗组件提供了完整的地图信息展示解决方案,既保留了Cesium强大的地理可视化能力,又弥补了其在用户交互方面的不足。通过灵活的配置选项和丰富的扩展接口,开发者可以快速构建出专业级的地图应用界面。
2025-08-20 14:48:53
438
2
原创 全球卫星导航系统的演进与比较:从GPS到北斗的全球竞争
全球卫星导航系统(GNSS)已成为现代科技文明的重要支柱,其应用渗透到交通、军事、农业、通信、应急救援等各个领域。作为人类历史上最复杂的空间工程之一,全球四大卫星导航系统——美国GPS、俄罗斯GLONASS、中国北斗(BDS)和欧盟伽利略(Galileo)——不仅代表了各国科技实力的较量,更体现了全球导航技术从单一走向多元的演进轨迹。本文将从技术特点、历史发展、应用场景及未来趋势四个方面,深入剖析这四大系统的异同与优势。
2025-07-28 09:52:39
1907
原创 服务器崩溃?老板骂人?一文看透短轮询、长轮询、SSE、WebSocket的真实战争?
《实时通信技术对比:从短轮询到WebSocket的实战指南》 本文用通俗易懂的比喻解析四种实时通信技术。短轮询像员工频繁汇报却总收到"没任务"的无效交互;长轮询改进为"有活再通知",但仍面临资源浪费问题;SSE实现服务器单向推送,类似微信群通知;WebSocket则像视频会议实现双向实时通信。文章通过程序员吐槽和电商秒杀等真实案例,揭示了各技术的适用场景与痛点:短轮询易压垮服务器、长轮询内存消耗大、SSE兼容性差、WebSocket连接数管理难。最终建议根据实际需求选
2025-07-10 13:46:32
611
原创 Cesium圆锥渐变色实现:融合顶点着色器、Canvas动态贴图与静态纹理的多方案整合
在Cesium中渲染圆锥体时,无论采用。:通过GLSL代码直接计算圆心到边缘的距离,实现。:预加载圆形渐变图片,适合固定渐变逻辑。:通过Canvas绘制。
2025-06-11 10:26:34
972
原创 3D建模的全景图谱:从55个工具到元宇宙的数字革命
从代码驱动的精确建模到AI辅助的自动化创作,从开源工具的平民化到程序化生成的规模化,3D建模技术正在经历一场深刻的范式革命。:集成GLTF/GLB在线编辑器、AI自动纹理化(如“赛博朋克金属”)、3D模型格式转换(OBJ/FBX/GLTF)。:隐式建模算法(Implicit Modeling),用于地质层模拟,支持CSV/GeoJSON数据输入。:轻量级Web工具,支持材质调整、动画录制,基于Three.js开发。:JavaScript实现的2D/3D参数化建模,支持几何约束求解。
2025-05-28 19:19:56
702
原创 navigator.mediaDevices 视频流加载模式:从代码优化到最佳实践
优先使用异步递归重试:替代,提升性能与可读性。完善错误类型处理:区分权限、设备冲突等错误,提供明确用户提示。动态设备选择策略:尝试所有可用设备,避免单一设备失败导致全流程中断。移动端手势触发:确保在用户交互后调用,避免移动端限制。约束条件灵活化:使用ideal替代exact,适应不同设备的能力差异。通过以上优化,你的摄像头视频流加载逻辑将更加健壮、高效,适配更多复杂场景。
2025-05-06 10:53:13
651
原创 504 nginx解决方案
当遇到错误时,通常是因为。:后端程序(如 PHP、Java 应用)处理时间超过 Nginx 的超时时间。数据库查询缓慢、外部接口调用超时、死循环或资源竞争等问题导致程序卡顿。:Nginx 与后端服务之间的网络不稳定或带宽不足。:Nginx 或后端服务(如 PHP-FPM)的超时参数设置过小。在 Nginx 配置文件中(通常位于或站点配置文件proxy_pass:将300替换为实际需要的超时时间(单位:秒)。如果后端服务响应时间更长,可进一步增大数值(如600秒)。php-fpm根据服务器内存调整或:在。
2025-04-24 17:01:00
4066
原创 如何优雅地为 Axios 配置失败重试与最大尝试次数
在 Vue 3 中,除了使用自定义的useRequest钩子函数外,还可以通过或实现接口请求失败后的重试逻辑。
2025-04-19 12:07:40
1299
原创 在 Linux 终端中轻松设置 Chromium 的 User-Agent:模拟手机模式与自定义浏览体验
通过本文的方法,你可以在 Linux 系统中灵活控制 Chromium 的 User-Agent 和浏览模式,无论是模拟手机访问、开发调试,还是突破网站限制,都能轻松实现。:在设备列表中选择目标手机型号(如 iPhone 15、Pixel 7 等),Chromium 会自动调整 User-Agent 和窗口尺寸。User-Agent 是浏览器向服务器发送的标识字符串,用于表明浏览器类型、操作系统等信息。确保 User-Agent 字符串符合目标设备的格式,避免因格式错误导致网站无法识别。
2025-04-08 17:18:02
1440
原创 CesiumHeatmap.js:用3D热力图炸裂地球!从0到高能可视化全攻略
它将热力图从平面地图解放到3D空间,让数据分布像“地球脉搏”般立体跃动,无论是城市人流、气象灾害,还是卫星轨迹,都能用炫酷的3D热力图震撼呈现。一直是展示数据密度的黄金标准,但传统2D热力图总显得“扁平无力”。而当它遇上Cesium——这个能让你在浏览器中“捏碎地球”的3D引擎——会迸发出怎样的火花?它让数据不再是冰冷的坐标,而是跃动的“地球之脉”。无论是城市规划、灾害预警,还是科幻级数据艺术,它都能用3D热力图点燃你的想象力。CesiumHeatmap.js不仅是工具,更是一场地理可视化的。
2025-03-19 11:07:44
1144
2
原创 浏览器F11全屏后,为何无法通过JavaScript关闭?
若用户已通过F11进入全屏,则需通过友好的交互设计引导其操作,而非试图绕过浏览器限制。这段代码主要是通过按键检测F11按下,然后通过拦截进入原本写好的全屏函数中,从而使代码走入自己提前写好的逻辑中,这样就彻底解决了F11全屏后,通过javaScript脚本关不了的尴尬了。这是为了防止恶意脚本强制用户进入或退出全屏,保护用户对浏览器的控制权。:在全屏模式下,通过浮动提示层告知用户“按 Esc/F11 键退出全屏”。用户通过键盘快捷键直接控制浏览器全屏,此时浏览器将全屏视为。),避免依赖浏览器全屏模式。
2025-02-17 15:53:11
1356
原创 安装 Anaconda3 详细教程 And 环境变量配置
可以下载完整版的conda(Anaconda),也可以下载精简版的conda(Miniconda)。点击对应链接后可通过时间排序,找到想要安装的linux版本,随后点击鼠标右键复制链接。接下来最后一步,数据完成后回车,然后就可以查看conda版本了。上面就是所有的安装步骤了,如果有不明白的地方或者错误的地方,欢迎指导!这些是 Anaconda 的 License 信息(不用管,不用看),询问你是否接受License,输入yes继续安装。找到 anaconda 的安装目录。按ENTER(回车)进行安装。
2025-01-13 12:58:12
1053
原创 如何在Ubuntu上安装和配置Git
2. 更换源:有时候下载源服务器可能出现问题,你可以尝试将Ubuntu的软件源更换为其他镜像源。5. 使用其他方式安装:如果通过apt安装仍然失败,你可以尝试使用其他方式下载和安装Git,比如使用压缩包手动安装。如果以上方法仍然无法解决问题,则需要查看具体的报错信息,并通过搜索引擎或者问答社区找到解决办法。1. 检查网络连接:确保你的网络连接正常,可以尝试使用其他网络环境下载Git。在Ubuntu系统中,按下Ctrl+Alt+T键来打开终端窗口。如果成功安装,终端会显示Git的版本号。
2025-01-11 18:53:23
1660
原创 VMware中Ubuntu如何连接网络?安排!
以上步骤应该可以帮助您在大多数情况下让Ubuntu 18.04在VMware中成功联网。如果仍然遇到问题,考虑查阅VMware的帮助文档或社区论坛寻求进一步帮助。
2025-01-11 18:52:08
2025
原创 Chrome默认不能自动播放音频?有办法!!!
谷歌浏览器(GoogleChrome)以及其他现代浏览器对音频和视频的自动播放实施了严格的限制,这是为了提升用户体验、节省带宽并减少不必要的打扰。根据这些政策,浏览器通常不允许网页在没有用户交互的情况下播放带有声音的媒体内容。
2025-01-07 16:27:08
4163
2
原创 win键、win+快捷键失效,解决方案?
打开“设置” ==> 选择“轻松使用” ==> 选择“键盘” ==> 确保“使用粘滞键”、“使用切换键”和“使用筛选键”选项都被关闭。在本地组策略编辑器中,导航到“用户配置” ==> “管理模板” ==> “Windows 组件” ==> “文件资源管理器”。按 Win + X 打开高级用户菜单,选择“命令提示符(管理员)”或“Windows PowerShell(管理员)”。打开“设置” ==> 选择“更新和安全” ==> 选择“Windows 更新”, 检查并安装所有可用的系统更新。
2025-01-06 10:31:33
13518
3
原创 探索 DC-SDK:强大的 3D 地图开发框架
dc-sdk(Data Visualization SDK)是一个用于 3D 地图可视化的 JavaScript 库。它基于Cesium构建,提供了更高层次的抽象和更简洁的 API,使开发者能够更快速地创建和管理 3D 地图应用。
2024-12-27 14:46:44
1598
原创 VS Code在使用在粘贴时,一直转圈,解决方案?
当在 VS Code 中粘贴内容时遇到“一直转圈”的问题,这通常意味着编辑器正在处理一个长时间运行的任务或遇到了某些内部问题。
2024-12-20 11:31:06
9059
原创 AI工具集:一站式1000+人工智能工具导航站
AI工具集是一个专注于收录和推荐国内外热门、创意、有趣、前沿的AI工具和网站的一站式平台。它不仅提供了一个快速访问任意人工智能资源的门户,还致力于让用户在个人学习、生活和工作中充分挖掘并利用AI技术的潜力。。
2024-12-03 15:30:55
7334
原创 二维码图片扫描如何自动规划导航?(高德)
首先,确保你的项目中已经引入了必要的库,比如用于二维码扫描的库和用于与高德地图API交互的库。你可以选择使用 qrcode 这样的库来处理二维码扫描。自此,微信扫描二维码导航功能添加完成。创建一个简单的使用方式。
2024-11-25 14:55:23
1313
原创 如何在node.js中做快速傅立叶变换-(频谱)
处理FFT结果:FFT的结果是一个复数数组,其中每个元素都包含实部和虚部。在Node.js中进行快速傅立叶变换(FFT),您可以使用现有的库来实现。库或其他类似的库,您可以在Node.js中进行快速傅立叶变换,并进一步处理和分析FFT结果。在上面的代码中,我们使用fftMag函数从FFT结果中计算幅度谱,并将结果存储在。库还提供了其他函数,如ifft用于执行逆FFT(Inverse FFT)等。安装依赖库:在您的Node.js项目中,使用npm安装fft-js库。,并将FFT的结果存储在。
2024-10-14 16:21:33
713
原创 Ubuntu多语言安装
通过 IBus 的帮助,我们可以轻松在 Ubuntu 及其衍生物上配置多语言输入法。Ibus,代表 I ntelligent Input Bus(智能输入总线),是一种针对类 Unix 操作系统下多语言输入的输入法框架。同样的,你可以添加尽可能多的输入语言。用中文或者你喜欢的语言输入一旦你添加完所有语言后,你就会从你的 Ubuntu 桌面上的顶端语言菜单中找到。你会在输入来源标签下的区域及语言选项中看到它。如果列表中没有,双击other后搜寻并选择你想从列表中添加的输入语言。在选择语言后,点击添加按钮。
2024-08-12 15:00:42
813
原创 nvm 安装后出现的各种问题解决方法
其实通过nvm下载的低版本的目录里面只有node.exe一个文件,因为没有其他文件,所以不能使用npm等命令,那有什么解决方法么?首先我们要把nvm和node尽量放在同一个安装盘,并且要修改对应的环境变量。首先需要确定删除了电脑上所有的node版本,如果不会卸载那么请移步到。,我们是要通过nvm来下载node环境,所以之前下载的node有冲突,所以都要清除。后面这两行代码意思是:低版本的node需要通过淘宝镜像去下载。通过修改nvm安装目中settings.txt文件的内容。
2023-11-20 14:08:25
2404
原创 在vite项目中添加Cesium,我们如何让它完美运行?
记录下没有通过CDN方式加载的步骤,这样能很好的解决初始化加载速度慢的问题。vite社区插件安装cesium。
2023-10-13 16:04:19
1500
原创 Ai 赋能|这 6 款免安装的工具,功能超神~
偶尔使用一下,真的超级方便,例如,你要做一个纯色背景的证件照时,你可以直接将你拍摄的照片,上传到这个网站上,然后去掉背景,同时还能在上面直接给证件照加上背景颜色,真的非常方便。处理效果一点不比一些付费的差,最主要是在线的,随时都可以在线将图片中不要的物体删除。当你想从图片中删除不需要的物体时,如果你不熟悉 PS 或其他图像处理工具时,就会很头疼,那个这个在线去除的工具,作用就非常大了!相信很多小伙伴看到图片上水印就会摇头,因为,就算是熟练PS工具的小伙伴,如果要去除图片里复杂的水印,也是要费点时间的。
2023-06-15 17:53:30
788
原创 本地是如何开启Nginx服务的?
这个默认把 nginx 安装在 mac 全局环境中(如果需要在 docker 安装 nginx,可以参考其他方法)配置文件位置:nginx-1.22.0/conf/nginx.conf 默认80,以防端口被重用,改为8056。使用 ruby 安装 homebrew(已经安装的可以跳过)nginx 其他命令(关闭重启),把 start 替换即可。安装好了,就可以启动nginx了, 终端输入。具体的配置文件如下,我们可以复制一份。双击nginx.exe启动。拷贝cesium示例至。nginx默认安装到。
2023-05-26 10:53:41
4473
精通Dojo(中文版)
2017-09-15
精通Dojo(中文版)
2017-09-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅