news 2026/10/15 15:12:47

全球路况与街景摄像头实时呈现在地球之上:GeoSentinel TomTom流量与CCTV直播功能解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
全球路况与街景摄像头实时呈现在地球之上:GeoSentinel TomTom流量与CCTV直播功能解析
  • 后端
  • 数据可视化
  • 网络安全
  • AI 应用

【免费下载链接】GeoSentinel

**GeoSentinel** is a geospatial monitoring platform that tracks global movement in real time. It aggregates ship and flight routes, live coordinates, and geodata into a unified system, providing clear geographic and geopolitical awareness for analysis, visualization, and decision-making.

项目地址:https://gitcode.com/gh_mirrors/ge/GeoSentinel
点击查看免费下载

GeoSentinel是一款开源全球地理空间监控平台,能把 TomTom 实时路况和各国交通摄像头(CCTV)直播画面直接渲染在地球视图之上——不用打开多个网页,全球道路拥堵与街景实况一目了然。本文面向新手,完整拆解这两大核心功能的用法与实现逻辑。

快速上手:环境准备与 API Key 配置

![GeoSentinel 全球监控仪表盘与实时路况视图](https://raw.gitcode.com/gh_mirrors/ge/GeoSentinel/raw/ca9bbf1ab31acd854473889b20abec76b0c4764d/images/Screenshot From 2026-01-08 01-01-15.png?utm_source=gitcode_repo_files)

整个流程只有四步:

  1. 获取项目代码:
    git clone https://gitcode.com/gh_mirrors/ge/GeoSentinel cd GeoSentinel
  2. 安装依赖:pip install -r requirements.txt
  3. 填入 API Key:流量功能依赖 TomTom Maps API,需要在 templates/earth.html 中找到const tomtomApiKey = '';,把你的 Key 填入引号内(该变量在文件中出现多处,全局流量瓦片层、区域路况查询各引用一处)
  4. 启动应用:python app.py,然后浏览器访问http://127.0.0.1:8000/earth进入地球视图

💡 提示:3D 地球模式可选配 Mapbox Token(templates/earth.html),天气弹窗则使用 OpenWeatherMap Key(templates/earth.html)。不填也能正常看 2D 路况图层。

开启 TomTom 流量层:路况粒子流如何铺满地球

进入 Earth 视图后,在右侧传感器面板勾选TOMTOM TRAFFIC UPLINK开关(定义在 templates/earth.html)。此时系统会同时挂载四层数据,共同组成"全球路况":

图层作用实现位置
流量瓦片层用红黄绿色带覆盖全球高速,直观呈现拥堵earth.html
事故瓦片层标注交通事故、封路事件图标earth.html
区域路况 API查询当前视野中心的实时速度earth.html
粒子流引擎沿道路"跑光点"的粒子动画earth.html

前两层是 TomTom 官方地图瓦片(api.tomtom.com 的 traffic/map 端点),打开开关即自动叠加到地图上,透明度 0.7,不会遮住底图。第三层则调用 TomTomflowSegmentData接口,**每 60 秒自动轮询一次**当前地图中心,把结果写入侧边栏的ZONE_TRAFFIC_STATUS` 面板:

  • 当前速度 > 70% 自由流速度 →FLUID(畅通,绿色)
  • 40%~70% →MODERATE(缓行,橙色)
  • < 40% →HEAVY(拥堵,红色)
  • 若接口返回roadClosure标志,面板还会追加一条ROAD_CLOSURE_DETECTED封路告警

最炫酷的是第四层——粒子流引擎(TrafficParticleEngine类)。它会通过 Overpass API 拉取视野内的真实道路几何(高速、干线、县道、居民区道路),再在 Canvas 上按 45% 青色(畅通)、25% 橙色(缓行)、15% 红色(拥堵)的权重投放光点粒子,沿道路持续流动。缩放级别 < 12 时粒子自动隐藏,避免全球视野下过度渲染。

![GeoSentinel 地球3D视图上的TomTom路况与CCTV摄像头图层同时开启效果](https://raw.gitcode.com/gh_mirrors/ge/GeoSentinel/raw/ca9bbf1ab31acd854473889b20abec76b0c4764d/images/Screenshot From 2026-02-28 23-57-42.png?utm_source=gitcode_repo_files)

👆 上图中右侧面板可以看到TOMTOM_TRAFFIC_UPLINK与TRAFFIC_CAMERA_FEEDS两个开关均已激活,摄像头标记已同步投射到 3D 地球表面。

实时 CCTV 摄像头直播:点击地图即看街景

勾选TRAFFIC CAMERA FEEDS开关(templates/earth.html)后,地图会按当前视野范围聚合三类摄像头数据源(加载逻辑见 templates/earth.html):

  1. 本地摄像头清单:从/static/data/cameras.json加载并缓存在内存中
  2. Iowa DOT 服务:通过 ArcGIS FeatureServer 接口获取爱荷华州公路摄像头,支持.m3u8直播流
  3. Austin 开放数据:从 Austin 市开放数据平台拉取最多 200 路摄像头实时截图

每个摄像头在地图上显示为一个视频图标,点击即弹出播放窗口,按源类型自动适配四种播放形态:

  • HLS 直播流:内置hls.js播放器,开启低延迟模式(lowLatencyMode)直接在线播放,Safari 则走原生 HLS 支持
  • 图片快照:显示实时截图并标注LIVE_SNAPSHOT,图片失效时自动切换为 CAMERA_OFFLINE 占位
  • YouTube / iframe 嵌入:直接内嵌播放
  • 普通链接:显示"OPEN DOT STREAM"按钮跳转官方直播页

弹窗关闭时系统会自动销毁所有 HLS 播放器实例释放资源(templates/earth.html),流媒体掉线也会给出STREAM_OFFLINE提示与跳转链接。侧边栏还会同步列出视野内所有摄像头,方便逐个切换。

![GeoSentinel 2D地图上的TomTom路况事件标记与监控侧边栏](https://raw.gitcode.com/gh_mirrors/ge/GeoSentinel/raw/ca9bbf1ab31acd854473889b20abec76b0c4764d/images/Screenshot From 2026-01-08 02-44-21.png?utm_source=gitcode_repo_files)

2D 地图与 3D 地球无缝同步

GeoSentinel 的地球视图支持一键在 2D Leaflet 平面地图与 Mapbox 3D 地球之间切换。流量与摄像头层在两种模式下都可用:

  • 切换至 3D 地球时,粒子引擎自动切换到 Mapbox 地图重新拉取道路数据,摄像头标记同步投射到球体表面(3D 同步逻辑见 templates/earth.html)
  • 粒子数量在 3D 模式下提升至 1200 个,2D 模式 800 个,保证球面渲染流畅
  • 地球旋转、缩放后(moveend 事件),路况面板与摄像头列表会重新按新视野刷新

这意味着你既能俯瞰整个地球的追踪态势,又能随时俯冲进某个城市细看路口摄像头实况,体验非常连贯。

![GeoSentinel 全球监控仪表盘与实时路况视图](https://raw.gitcode.com/gh_mirrors/ge/GeoSentinel/raw/ca9bbf1ab31acd854473889b20abec76b0c4764d/images/Screenshot From 2026-01-08 01-01-15.png?utm_source=gitcode_repo_files)

常见问题 FAQ

Q1:流量层为什么是空白的?TomTom 瓦片层必须填入有效 API Key 才能返回图像,请在 templates/earth.html 处配置后刷新页面。

Q2:FLUID / MODERATE / HEAVY 是如何判定的?以自由流速度(freeFlowSpeed)为基准,取当前速度与其比值:< 40% 为 HEAVY,40%~70% 为 MODERATE,其余为 FLUID,同时面板会显示当前速度、自由流速度、道路等级(FRC)与数据置信度。

Q3:摄像头直播打不开?官方流可能临时下线,此时弹窗会显示STREAM_OFFLINE,可点击其中的链接在新标签页播放;快照类摄像头若图片 404 会自动降级为占位图。

延伸阅读

  • 功能总览与安装指南:README.md
  • 后端 API 实现(地理数据、新闻、AI 等端点):app.py
  • 地球视图全部前端逻辑:templates/earth.html
  • AI 助手使用指南:docs/geosential_ai.md
  • 搜索与 OSINT 指南:docs/search_options.md
  • 项目依赖清单:requirements.txt
  • 后端
  • 数据可视化
  • 网络安全
  • AI 应用

【免费下载链接】GeoSentinel

**GeoSentinel** is a geospatial monitoring platform that tracks global movement in real time. It aggregates ship and flight routes, live coordinates, and geodata into a unified system, providing clear geographic and geopolitical awareness for analysis, visualization, and decision-making.

项目地址:https://gitcode.com/gh_mirrors/ge/GeoSentinel
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 15:12:30

大语言模型中文推理调试指南:从token切分到logits差分

简介&#xff1a;本资源是一份面向AI初学者与自然语言处理入门者的系统性学习材料&#xff0c;聚焦大语言模型&#xff08;LLM&#xff09;核心概念与演进脉络&#xff0c;帮助读者建立扎实的理论基础。内容涵盖语言模型本质定义、概率建模原理&#xff08;如链式法则与N-gram假…

作者头像 李华
网站建设 2026/10/15 15:12:15

AI编程Skills实战:用Vue构建自动化组件生成流程

你最近如果在AI编程工具上折腾过前端&#xff0c;大概率会注意到一个高频出现的概念&#xff1a;Skills。简单说&#xff0c;它就像是给AI配了一张“工作流程卡”&#xff0c;你把平时写代码的套路、步骤、规范写进去&#xff0c;下次一句话就能触发整套操作。这篇就用Vue这个前…

作者头像 李华
网站建设 2026/10/15 15:12:15

工业一体机上用Python做Modbus多设备轮询采集

工位终端上线之后&#xff0c;第一件要做的活通常是把下面几台设备的数采上来。现场最常见的是 Modbus&#xff1a;电表、温控器、PLC、变频器、称重仪表&#xff0c;很多都支持 Modbus RTU 或者 Modbus TCP。这篇给一套能直接用的 Python 实现&#xff0c;跑在工业一体机的 Li…

作者头像 李华
网站建设 2026/10/15 15:11:29

计算机系统核心组件与工作原理详解

1. 计算机系统基础概念解析计算机系统是现代信息技术的核心载体&#xff0c;理解其基本组成是每一位技术从业者的必修课。作为一名在计算机体系结构领域工作多年的工程师&#xff0c;我经常遇到刚入行的同事对计算机基础概念存在各种误解。今天我们就从最基础的层面&#xff0c…

作者头像 李华
网站建设 2026/10/15 15:10:52

Rust 1.93增强musl网络功能,提升云原生与系统编程性能

1. Rust 1.93版本更新概述Rust 1.93版本带来了一项重要改进——对musl标准库的网络功能进行了显著增强。作为系统级编程语言&#xff0c;Rust与musl的深度整合一直是其跨平台能力的重要支撑。这次更新主要针对网络相关系统调用的封装进行了优化&#xff0c;使得基于musl构建的R…

作者头像 李华