Skip to content

An interactive web application where users can upload geospatial data, visualize it on a web map, and run a variety of ML-based spatial analysis.

Notifications You must be signed in to change notification settings

Issimonmutunga/geospatial-visualization-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 

Repository files navigation

Geospatial Data Visualization & Prediction Web App

📌 Project Overview

This interactive web application allows users to upload geospatial data, visualize it on a web map, and run machine learning-based spatial analysis (e.g., land suitability, flood risk, or energy consumption prediction).

💡 Features

  • Upload and visualize geospatial data (GeoJSON, CSV, shapefiles)
  • Perform basic spatial analysis (buffer, clip, intersection)
  • Apply ML models for spatial pattern predictions (e.g., land suitability, flood risk)
  • Display ML results as interactive maps
  • Fully deployed web app with cloud hosting

🛠️ Tech Stack

  • Frontend: React (for UI)
  • Backend: Django (API & ML processing)
  • Database: PostgreSQL/PostGIS (store spatial data)
  • ML Libraries: Scikit-learn, TensorFlow/PyTorch, GeoPandas, Rasterio
  • GIS Tools: Leaflet, GDAL, Shapely
  • Containerization: Docker
  • Deployment: GeoNode for spatial data hosting + Vercel for deployment

🚀 Installation & Setup

Prerequisites

  • Node.js & npm
  • Python & pip
  • PostgreSQL with PostGIS extension
  • Docker (optional, for containerization)

Backend Setup

  1. Clone the repository:
    git clone https://github.com/Issimonmutunga/geospatial-web-app.git
    cd geospatial-web-app
  2. Set up a virtual environment:
    python -m venv env
    source env/bin/activate  # On Windows: env\Scripts\activate
  3. Install dependencies:
    pip install -r backend/requirements.txt
  4. Set up the database:
    createdb geospatial_db
    psql -d geospatial_db -c "CREATE EXTENSION postgis;"
  5. Run migrations:
    python manage.py migrate
  6. Start the backend server:
    python manage.py runserver

Frontend Setup

  1. Navigate to the frontend folder:
    cd frontend
  2. Install dependencies:
    npm install
  3. Start the development server:
    npm start

📅 Development Plan

1.Setup & GIS Backend

  • Research & project planning
  • Set up PostgreSQL/PostGIS and sample datasets
  • Build Django API for spatial data operations
  • Implement CRUD endpoints and refine schema

2.Frontend & Map Integration

  • Set up React and integrate Leaflet for map visualization
  • Implement file upload feature
  • Display uploaded data interactively
  • Add spatial querying and filtering

3: Machine Learning Integration

  • Identify ML use case (e.g., suitability analysis, energy prediction)
  • Train a basic ML model with Scikit-learn
  • Integrate ML model with backend API
  • Visualize ML predictions on interactive maps

4: Optimization & Deployment

  • Optimize backend & ML performance
  • Containerize with Docker
  • Deploy on Heroku/DigitalOcean with GeoNode
  • Add SEO & analytics for better visibility
  • Publish project blog on portfolio

📜 License

📞 Contact

For any inquiries, reach out via email at besimonmutunga@gmail.com.

About

An interactive web application where users can upload geospatial data, visualize it on a web map, and run a variety of ML-based spatial analysis.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published