Skip to content

Repository files navigation

SattelishMaps

License: MIT Python 3.11+ FastAPI Docker

Satellite imagery analysis platform for Slovakia: Sentinel-2 environmental indices on an interactive map, with per-pixel analytics for any selected area.

Key Features

  • Interactive Mapping: NDVI / NDWI / NDBI / Moisture layers on a MapLibre GL map, locked to Slovakia.
  • Per-Pixel Analytics: select any area (drag or city search) → statistics, timeseries, histogram, and change detection computed from raw pixel values stored in PostGIS.
  • Tile Cache & DB Rendering: tiles are cached in the database and can be re-rendered from stored pixels without touching Sentinel Hub quota.
  • Scheduler: background jobs keep region statistics fresh and evict stale tiles.
  • Exports: chart PNG and self-contained HTML reports.
  • Dockerized: dev (hot-reload) and production compose setups.

Architecture at a glance

flowchart LR
    UI["React + MapLibre"] -->|REST| API["FastAPI"]
    UI -->|basemap · geocoding| MT["MapTiler"]
    API --> DB[("Supabase<br/>PostgreSQL + PostGIS")]
    API --> SH["Sentinel Hub"]
    SCHED["APScheduler"] --> SH
    SCHED --> DB
Loading

Full picture: docs/architecture/overview.md

Technology Stack

  • Backend: FastAPI, APScheduler, NumPy/Pillow, Sentinel Hub API
  • Frontend: React, TypeScript, Vite, MapLibre GL JS, Chart.js, TailwindCSS
  • Database: PostgreSQL with PostGIS (via Supabase), partitioned pixel storage
  • Infrastructure: Docker & Docker Compose

Quick Start

Prerequisites

  • Docker & Docker Compose
  • Sentinel Hub Account (Client ID & Secret)
  • Supabase Project (DB Connection String)

Installation

  1. Clone the repository

    git clone https://github.com/Skriplss/SattelishMaps.git
    cd SattelishMaps
  2. Configure Environment

    cp .env.example .env
    # Edit .env with your credentials
  3. Create the database schema — run database/schemas/init.sql in your Supabase SQL Editor (details: database/README.md).

  4. Start Services

    docker compose up -d                          # production
    docker compose -f docker-compose.dev.yml up   # development (hot-reload)
  5. Access the Application

Documentation

Start at the documentation index. Highlights:

License

This project is licensed under the MIT License - see the LICENSE file for details.

Authors

About

SattelishMaps is an automated system for acquiring and analyzing Sentinel-2 satellite imagery. It calculates environmental indices (NDVI, NDWI, NDBI, Moisture) to monitor environmental changes over time.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages