Runbook

راهنمای اجرا، داشبورد و API

این صفحه برای راه‌اندازی محلی، استفاده از داشبورد، و فراخوانی endpointهای اصلی نوشته شده است.

اجرای سریع محلی

Backend

cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python ..\scripts\generate_test_rasters.py
uvicorn app.main:app --host 127.0.0.1 --port 8000

Frontend

cd frontend
npm install
npm run dev -- --host 127.0.0.1 --port 5173

سپس باز کنید: http://127.0.0.1:5173

کار با داشبورد

۱. Study Area و سال‌ها را انتخاب کنید

مثلاً Muscat، از ۲۰۲۰ به ۲۰۲۵.

۲. در صورت نیاز AOI بکشید

Draw AOI محدوده‌ای از نقشه را برای برش تحلیل قفل می‌کند.

۳. Run Analysis

KPIها، نمودارها و overlayهای نقشه تولید می‌شوند.

۴. لایه‌ها را toggle کنید

ماهواره T1/T2، NDVI، Change Detection و Regions.

API اصلی

مستندات تعاملی FastAPI: http://127.0.0.1:8000/docs

Method Endpoint توضیح
GET /api/health سلامت سرویس و دیتابیس
GET /api/study-areas لیست محدوده‌های مطالعه و سال‌ها
POST /api/analyze اجرای کامل پایپ‌لاین
GET /api/changes?run_id= GeoJSON مناطق تغییر
GET /api/statistics?run_id= آمار اجرا
GET /api/rasters/{run_id}/{file} دانلود GeoTIFF/PNG خروجی

نمونه درخواست تحلیل

curl -X POST "http://127.0.0.1:8000/api/analyze" ^
  -F "use_samples=true" ^
  -F "method=baseline" ^
  -F "study_area_id=muscat" ^
  -F "year_t1=2020" ^
  -F "year_t2=2025"

خروجی نمونه

{
  "run_id": "uuid",
  "study_area_km2": 524.3,
  "changed_area_km2": 18.7,
  "change_percentage": 3.57,
  "vegetation_change_percentage": -12.4,
  "built_up_change_percentage": 8.2,
  "num_change_regions": 7,
  "outputs": {
    "rgb_t2": "/api/rasters/.../rgb_t2.png",
    "change_mask": "/api/rasters/.../change_mask.png"
  }
}

Docker

docker compose up --build

سرویس‌های db + backend (+ در صورت پیکربندی، frontend) را بالا می‌آورد.