HarimitraS/Geospatial-Threat-Intelligence-System

GitHub: HarimitraS/Geospatial-Threat-Intelligence-System

基于 FastAPI 构建的地理空间威胁情报后端,结合 H3 网格与 GNN 模型对高加索及中亚地区冲突事件进行威胁评分、异常检测与风险预测。

Stars: 0 | Forks: 0

# GeoSentinel 后端 用于高加索及中亚地区空间威胁情报演示的 FastAPI + SQLite 后端。 ## 包含内容 - 兼容 ACLED 的数据导入路径 (`scripts/seed_db.py --acled data/acled.csv`) - 用于离线演示的备用合成事件生成 - 每个事件的 H3 六边形分配 - 加权威胁分数计算 - 每个六边形的人口、环境和经济原型信号 - Isolation Forest 异常标记 - 风险驱动因素可解释性(主要贡献因子) - REST API endpoint: - `GET /hexgrid` - `GET /hex/{id}` - `POST /alert` - `POST /forecast` - `GET /health` ## 快速开始 ``` python -m venv .venv source .venv/bin/activate pip install -r requirements.txt python scripts/seed_db.py uvicorn app.main:app --reload ``` API 文档:http://127.0.0.1:8000/docs ## GNN 预测 本仓库现在包含一个可训练的时空 GNN 预测 pipeline: - 训练脚本:`scripts/train_gnn.py` - 模型/数据服务:`app/services/forecast_gnn.py` - API endpoint:`POST /forecast` 训练所有时间范围(7/14/30 天): ``` python scripts/train_gnn.py --epochs 120 ``` 请求预测: ``` curl -X POST "http://127.0.0.1:8000/forecast" \ -H "Content-Type: application/json" \ -d '{"hex_id":"85283083fffffff"}' ``` PyTorch 兼容性说明: - 预测训练/推理需要 PyTorch。 - 使用 Python 3.11 或 3.12 以获得最可靠的 torch wheel 支持。 ## 数据说明 - 覆盖范围:高加索和中亚地区(亚美尼亚、阿塞拜疆、格鲁吉亚、哈萨克斯坦、吉尔吉斯斯坦、塔吉克斯坦、土库曼斯坦、乌兹别克斯坦) - 数据源:ACLED (Armed Conflict Location & Event Data Project) - SQLite 数据库存储在 `data/geosentinel.db` - 如果存在包含以下列的 `data/acled.csv` 文件,seed 脚本将导入它: - `event_date`, `latitude`, `longitude`, `fatalities`, `event_type` - 如果不存在 ACLED 文件,将生成合成的冲突事件(纬度 37.27–53.83°N,经度 4.58–81.97°E) ## API 调用示例 ``` curl "http://127.0.0.1:8000/hexgrid?min_score=40" curl "http://127.0.0.1:8000/hex/84754a9ffffffff" curl -X POST "http://127.0.0.1:8000/alert" \ -H "Content-Type: application/json" \ -d '{"hex_id":"84754a9ffffffff", "threshold": 60}' ```
标签:AV绕过, FastAPI, PyTorch, SQLite, 凭据扫描, 图神经网络, 地理空间分析, 威胁情报, 开发者工具, 异常检测, 网络测绘, 自定义脚本, 逆向工具