dheerajpatel3448w/Ecowatch-geo-intelligence

GitHub: dheerajpatel3448w/Ecowatch-geo-intelligence

EcoWatch 是一个结合卫星图像 AI 分析与实时事件流处理的生态环境威胁检测平台,用于打击森林砍伐和非法采矿并自动生成法律证据。

Stars: 0 | Forks: 0

# 🌍 EcoWatch:地理空间智能与威胁检测系统 **EcoWatch** 是一个先进的卫星威胁检测平台,旨在打击森林砍伐、非法采矿和生态破坏。它结合了基于 Next.js 的指挥中心 UI、用于高吞吐量事件流处理的 Apache Kafka,以及基于 Python 的机器学习技术 (Qwen2-VL),可实时分析卫星图像。 ## 🚀 核心功能 - **🌐 全球威胁雷达:** 具备实时警报、指标和威胁映射的 3D 地理空间仪表板。 - **🛰️ 卫星 AI 分析:** 集成 Qwen2-VL-2B-Instruct 视觉语言模型,可自动检测卫星图像中的森林砍伐和环境异常(NDVI 分析)。 - **📡 任务控制(区域):** 使用 React-Leaflet 直接在地图上绘制和管理监控区域。为特定坐标触发手动或自动化的 ML 扫描。 - **⚖️ 法律与碳排放引擎:** 计算精确的碳损失,并自动生成官方的 **PDF 法律证据报告**,以便提交 FIR。 - **📱 现场作业门户:** 采用移动优先 UI,方便护林员上传证据照片,并与 GPS 位置匹配,这些数据也会在本地由 AI 进行验证。 - **⚡ 实时流处理:** 端到端的 Kafka 集成,在 Node.js 和 Python 之间异步处理繁重的 ML 工作负载。 ## 🏗️ 架构与技术栈 该平台分为三个主要的微服务,并大量采用容器化技术来构建基础设施。 ### 1. 前端 (`/ecowatch`) - **框架:** Next.js (App Router), React 19 - **样式:** Tailwind CSS v4, Framer Motion (军事/指挥中心暗黑主题,玻璃拟态) - **地图与 3D:** React-Leaflet, Mapbox-GL, Three.js, React-Three-Fiber - **数据可视化:** Recharts - **实时通信:** Socket.IO Client ### 2. API 后端 (`/node-service`) - **运行时:** Node.js, Express.js - **数据库:** MongoDB (Mongoose) - **消息代理:** KafkaJS (生产者/消费者) - **功能:** JWT 身份验证,基于角色的访问控制(管理员、分析师、护林员),PDFKit(法律报告),Multer(图像上传) ### 3. ML 服务 (`/ml-service`) - **运行时:** Python 3.11+, FastAPI - **AI 模型:** Qwen2-VL-2B-Instruct, HuggingFace Transformers, PyTorch - **消息代理:** Confluent-Kafka - **功能:** 卫星图像处理,NDVI 物理逻辑,本地照片验证 ### 4. 基础设施 (`docker-compose.yml`) - **Zookeeper & Kafka:** 用于事件流的 Confluent 镜像。 - **MongoDB:** 数据库存储。 ## 📂 项目结构 ``` ecowatch/ ├── ecowatch/ # Next.js Frontend UI ├── node-service/ # Express API Backend ├── ml-service/ # FastAPI Python Machine Learning Service ├── docker-compose.yml # Infrastructure configuration (Kafka, Mongo) ├── ECOWATCH_HANDOFF.md # Developer architectural notes └── README.md # Project documentation ``` ## ⚙️ 设置与安装说明 ### 1. 启动基础设施 (Docker) 确保 Docker Desktop 正在运行,然后启动 MongoDB、Zookeeper 和 Kafka。 ``` docker-compose up -d ``` ### 2. 设置 Node.js API 服务 ``` cd node-service npm install npm run dev ``` *(运行在 `http://localhost:5000`)* ### 3. 设置 Python ML 服务 *注意:在本地运行以利用系统 GPU 或 CPU 进行繁重的 ML 处理。* ``` cd ml-service python -m venv .venv # 激活 venv: .venv\Scripts\activate (Windows) 或 source .venv/bin/activate (Mac/Linux) pip install -r requirements.txt uvicorn api.app:app --host 0.0.0.0 --port 8001 ``` *(运行在 `http://localhost:8001`)* ### 4. 设置 Next.js 前端 ``` cd ecowatch npm install npm run dev ``` *(运行在 `http://localhost:3000`)* ## 🔐 环境变量 你需要在各个相应的目录中创建 `.env` 文件。以下是基于该架构的基本模板: **`/node-service/.env`** ``` PORT=5000 MONGO_URI=mongodb://localhost:27017/ecowatch JWT_SECRET=ecowatch_production_secret_change_me KAFKA_BROKER=localhost:9092 ``` **`/ml-service/.env`** ``` KAFKA_BROKER=localhost:9092 KAFKA_GROUP=ml-workers SH_CLIENT_ID=your_sentinel_hub_client_id SH_CLIENT_SECRET=your_sentinel_hub_client_secret HF_TOKEN=your_huggingface_token MODEL_NAME=Qwen/Qwen2-VL-2B-Instruct LOG_LEVEL=INFO ``` ## 👨‍💻 开发者与维护者 由 **Dheeraj Patel** (MERN Stack & AI 开发者) 构建。
标签:Apache Kafka, Apex, MITM代理, 凭据扫描, 机器学习, 环境监测, 计算机视觉, 请求拦截, 软件成分分析, 逆向工具, 遥感图像分析