CoolFace
Apppublic

yantrikaran-innovations/dronacharya-recce-backend

sourceHugging Faceotherupdated 5mo agoView on Hugging Face
0likes
App README

Dronacharya Recce System — Backend

FastAPI GIS backend for the Dronacharya Recce System (AI-Powered Artillery Terrain Intelligence Platform). Serves district-level suitability points, vector layers, raster tiles, and mission analysis endpoints over six Indian districts: Ganganagar, Jaisalmer, Nashik, Pithoragarh, Sonitpur, Vishakhapatnam.

This Space ships backend code only. The ~4.7 GB of GIS rasters, OSM vectors, feature parquets, and model artefacts live in Cloudflare R2; the backend lazy-downloads them on first use and caches them under PS10_BASE_DIR.

Required Space variables

VariableValue
PS10_BASE_DIR/tmp/dronacharya-recce-assets
R2_BUCKETdronacharya-recce-assets
R2_ENDPOINThttps://<account-id>.r2.cloudflarestorage.com

Required Space secrets

SecretNotes
R2_ACCESS_KEY_IDR2 token, read access on the bucket
R2_SECRET_ACCESS_KEYR2 token secret

Endpoints

  • —GET /api/health — health check (no R2 download)
  • —GET /api/capabilities — feature flags
  • —GET /api/metadata — model metadata (downloads tiny model_metadata.json once)
  • —GET /api/districts — list districts
  • —GET /api/districts/{district} — district summary
  • —GET /api/districts/{district}/candidates — top candidate gun areas
  • —GET /api/districts/{district}/suitability-points — XGBoost-scored points
  • —GET /api/districts/{district}/vector/{layer} — OSM vectors
  • —GET /api/districts/{district}/layer/{layer}/tile/{z}/{x}/{y}.png — raster tiles

Lazy-loading behaviour

  • —/api/health does not touch any district data.
  • —The first request that needs a district-specific file triggers an R2 download into the local cache (/tmp/dronacharya-recce-assets/...). Subsequent requests are served from cache.
  • —Per-key locks prevent concurrent duplicate downloads.
  • —Container restarts wipe /tmp — first request after a restart re-downloads what it needs.

Asset layout in R2 (and local cache)

<R2 bucket>/
├── 5-PS-10_district.zip
├── district_final_rasters/{district}_final/{district}_*.tif
├── district_osm_output/{district}/{district}_osm.gpkg
├── district_osm_output/{district}/{district}_buildings.gpkg
├── xgb_features/{district}_features.parquet
├── xgb_features/{district}_dem_features.tif
├── xgb_model_output/{district}_suitability_points.parquet
├── xgb_model_output/{district}_top50_candidates.geojson
├── xgb_model_output/xgb_classifier.json
├── xgb_model_output/xgb_regressor.json
└── xgb_model_output/model_metadata.json

License / data

Geospatial datasets retain their upstream licenses (OSM, ESA WorldCover, Copernicus DEM, ISRIC SoilGrids, JRC Global Surface Water). Model artefacts are property of Yantrikaran Innovations Pvt. Ltd.