LandSnap is a Django-based web application designed to analyze land changes over time using comparative image analysis. It leverages advanced computer vision algorithms to detect and visualize differences between two aerial images of the same location taken at different times.
- Image Upload: Upload two images of the same location for analysis.
- Change Detection: Identify changes in terrain, vegetation, and structures.
- Heatmap Visualization: View detailed analysis results with heatmap overlays.
- Responsive Design: User-friendly interface optimized for various devices.
landsnap/
├── core/ # Core Django project settings and configurations
├── landsnap/ # Main application containing models, views, templates, and utilities
│ ├── templates/ # HTML templates for the application
│ ├── static/ # Static files (CSS, JS, images)
│ ├── migrations/ # Database migrations
│ ├── utils/ # Utility functions and helpers
├── media/ # Uploaded media files
├── static/ # Compiled static files
├── db.sqlite3 # SQLite database file
├── manage.py # Django management script
├── .env # Environment variables
├── requirements.txt # Python dependencies
└── README.md # Project documentation
-
Clone the Repository:
git clone https://github.com/MeFerdi/landsnap.git cd landsnap
-
Set Up a Virtual Environment:
python -m venv myenv source myenv/bin/activate # On Windows: myenv\Scripts\activate
-
Install Dependencies:
pip install -r requirements.txt
-
Configure Environment Variables: Create a
.env
file in the project root and configure the following variables:DEBUG=True SECRET_KEY=your-random-secret-key DB_ENGINE=django.db.backends.sqlite3 DB_NAME=db.sqlite3 STATIC_URL='/static/' MEDIA_URL='/media/'
-
Apply Migrations:
python manage.py migrate
-
Run the Development Server:
python manage.py runserver
-
Access the Application: Open your browser and navigate to
http://127.0.0.1:8000
.
You can containerize and run the application using Docker for consistent deployment across environments.
- Install Docker and Docker Compose.
- Build the Docker Image:
docker build -t landsnap .
- *Run the Docker Container
docker run -p 8000:8000 landsnap
Backend
- Django - Python Framework
- SQLite - Lightweight Database
Frontend
- HTML & CSS
- JavaScript
**
- Navigate to the Upload page to upload two images of the same location.
- Wait for the system to process the images and generate results.
- View the analysis results, including heatmap visualizations, on the Results page.
- Templates: Located in
landsnap/templates/landsnap/
, these define the HTML structure of the application. - Static Files: CSS, JavaScript, and images are stored in
landsnap/static/landsnap/
. - Environment Variables: Configured in the
.env
file for flexibility between development and production environments.