How ghanashyam06/vyom_agentic_gis_nepal_updated works
VYOM is an agentic GIS application for disaster analysis of Indian satellite imagery. Users ask questions in the QGIS plugin; its client sends them to the API, which invokes the safety-conscious agent to check coverage and select catalog or raster tools. Results return as text, charts, and map layers, with optional PDF reporting. Separate ingestion paths prepare optical and SAR scenes for searchable PostGIS metadata and on-disk raster assets. The graph follows the README and shown imports/calls; links for unsampled API/plugin details are limited to documented behavior.
Main entry points: pipeline.py Optical ARD pipeline · sar_pipeline.py SAR ARD pipeline · vyom_dockwidget.py Chat and map panel · app.py REST API
Components 24
QGIS experience
- Chat and map panel
src/vyom/plugin/vyom_dockwidget.py - HTTP client
src/vyom/plugin/api_client.py
API service
- REST API
src/vyom/api/app.py - Request and response models
src/vyom/api/models.py - Chart generation
src/vyom/api/charts.py
Agent reasoning
- Agent orchestrator
src/vyom/agent/orchestrator.py - Agent prompts
src/vyom/agent/prompts.py - LLM backends
src/vyom/agent/llm.py - Tool registry
src/vyom/agent/tools.py
GIS analysis
- Scene and metric catalog
src/vyom/db/postgis_server.py - Raster analysis
src/vyom/db/gis_server.py - SAR analysis tools
src/vyom/db/sar_gis_tools.py
Data preparation
- Shared configuration
src/vyom/config.py - Optical ARD pipeline
src/vyom/ard/pipeline.py - Optical calibration
src/vyom/ard/calibrate.py - Spectral indices
src/vyom/ard/indices.py - COG writer
src/vyom/ard/cog.py - Optical metadata
src/vyom/ingest/band_meta.py - SAR ARD pipeline
src/vyom/ard/sar_pipeline.py - SAR metadata
src/vyom/ingest/sar_meta.py - Scene and metric writer
src/vyom/db/writer.py
Other components
- Analyst
- QGIS
- PostgreSQL and PostGIS
Connections 26
- Analyst → Chat and map panel: asks question
- Chat and map panel → HTTP client: sends requests
src/vyom/plugin/vyom_dockwidget.py - HTTP client → REST API: calls REST API
- REST API → Agent orchestrator: runs query
src/vyom/api/app.py - REST API → Request and response models: validates payloads
src/vyom/api/app.py - REST API → Chart generation: builds charts
src/vyom/api/app.py - Agent orchestrator → Agent prompts: uses prompts
src/vyom/agent/orchestrator.py - Agent orchestrator → LLM backends: invokes model
src/vyom/agent/orchestrator.py - Agent orchestrator → Tool registry: dispatches tools
src/vyom/agent/orchestrator.py - Tool registry → Scene and metric catalog: calls catalog tools
src/vyom/agent/tools.py - Tool registry → Raster analysis: calls raster tools
src/vyom/agent/tools.py - Tool registry → SAR analysis tools: calls SAR tools
src/vyom/agent/tools.py - Scene and metric catalog → PostgreSQL and PostGIS: queries metadata
- Scene and metric writer → PostgreSQL and PostGIS: registers scenes
- Chat and map panel → QGIS: renders layers
- Chat and map panel → QGIS: exports PDF report
- Optical ARD pipeline → Optical metadata: reads metadata
src/vyom/ard/pipeline.py - Optical ARD pipeline → Optical calibration: calibrates bands
src/vyom/ard/pipeline.py - Optical ARD pipeline → Spectral indices: computes indices
src/vyom/ard/pipeline.py - Optical ARD pipeline → COG writer: writes rasters
src/vyom/ard/pipeline.py - Optical ARD pipeline → Scene and metric writer: registers results
src/vyom/ard/pipeline.py - SAR ARD pipeline → SAR metadata: reads metadata
src/vyom/ard/sar_pipeline.py - SAR ARD pipeline → COG writer: writes rasters
src/vyom/ard/sar_pipeline.py - SAR ARD pipeline → Scene and metric writer: caches metrics
src/vyom/ard/sar_pipeline.py - Optical ARD pipeline → Shared configuration: loads settings
src/vyom/ard/pipeline.py - SAR ARD pipeline → Shared configuration: loads settings
src/vyom/ard/sar_pipeline.py