A web-based geospatial visualization tool for analyzing cluster segmentation data and creating land cover classifications.
- Cluster Animation: Navigate through different segmentation levels (k-values)
- Land Cover Classification: Label clusters with hierarchical land use categories
- Object Detection: LLM-powered detection of buildings, roads, vegetation, and other features from satellite imagery
- Visualization: Dynamic overlay rendering with adjustable opacity
- Export: Generate GeoTIFF and mapping files for analysis
- Workflow Modes: Manual (upload image) or Automatic (capture from map)
- Models: Gemini 2.5 Flash/Pro (requires API key)
- Output: GeoJSON features with confidence scores and geometry
- Region Selection: Draw rectangular bounds on map for analysis
- Multiple base layers (Satellite, Street Map)
- Cluster-specific color mapping
- Labeled regions composite layer
- Map controls
- Manifest-based data loading from folders
- Support for multi-temporal GeoTIFF datasets
- Color legend generation
- Local storage for label persistence
- Frontend: Vanilla JavaScript + Svelte components
- Mapping: Leaflet with GeoRaster extensions
- Data Processing: TensorFlow.js for composite generation
- Geospatial: GeoTIFF library for raster handling
- Build: Vite with ES modules
geo-darshan/
├── app/
│ ├── components/ # Svelte UI components
│ ├── js/ # Core JavaScript modules
│ ├── index.html # Cluster animation viewer
│ ├── land-cover-viewer.html # Land cover display
│ └── stores.js # Svelte reactive stores
├── scripts/ # Data processing utilities
└── README.md
- Node.js 18+
- Modern web browser with WebGL support
# Clone repository
git clone <repository-url>
cd geo-darshan
# Install dependencies
bun install
# Start development server
bun run devThe application expects a folder containing:
dataset/
├── manifest.json # Dataset metadata
├── color_legend.json # Cluster color mappings
├── k5_segmentation.tif # Segmentation rasters
├── k10_segmentation.tif
└── ...
{
"segmentation_keys": ["k5", "k10", "k15"],
"files": ["k5_segmentation.tif", "k10_segmentation.tif", "k15_segmentation.tif"],
"metadata": {
"bounds": [minx, miny, maxx, maxy],
"shape": [height, width]
}
}- Load Data: Use "Select Data Folder" to load your segmentation dataset
- Navigate: Use animation controls to explore k-values
- Label Clusters: Click clusters to assign land use classifications
- Visualize: Toggle labeled regions layer to see composite results
- Export: Generate GeoTIFF and mapping files
The tool supports 4-level hierarchical classification:
- Broad Categories (e.g., Natural, Agricultural)
- General Types (e.g., Forest, Cropland)
- Specific Uses (e.g., Deciduous Forest, Rice Paddies)
- Detailed Classification (e.g., Mature Oak Forest)
Apache License 2.0