
An interactive, multi-view web application for analyzing Sentinel-2 satellite imagery using the Google Earth Engine (GEE) API and a Node.js backend. This dashboard allows users to perform comparative analysis, visualize different spectral indices, and manage multiple data layers for various Kenyan counties.
- Multi-View Layout: Compare up to four different Sentinel-2 layers side-by-side.
- Dynamic Layer Management: Add, remove, and toggle visibility for multiple layers within each map view.
- Interactive Table of Contents: A dedicated control panel for each map view to manage layers and adjust parameters.
- Customizable Analysis: Select specific counties, years, and cloud cover percentages for tailored imagery.
- Advanced Visualizations:
- True Color (B4, B3, B2) for natural-looking imagery.
- False Color (B8, B4, B3) to highlight vegetation.
- Agriculture (B11, B8, B2) for crop health monitoring.
- Urban (B12, B11, B4) to distinguish urban areas.
- NDVI (Normalized Difference Vegetation Index) for vegetation health analysis, with a custom, accurate color palette.
- NDMI (Normalized Difference Moisture Index) for measuring water content.
- Synchronized Views: All map views are synchronized for a seamless comparative experience, with coordinated panning and zooming.
- Dynamic Legends: Legends are automatically generated and updated based on the selected analysis (e.g., NDVI, NDMI).
Follow these instructions to set up and run the project locally.
- Node.js: Make sure you have Node.js and npm installed.
- Google Earth Engine Account: You need an active GEE account. If you don't have one, sign up here: GEE Sign Up.
- GEE Service Account: Create a service account to authenticate with the GEE API.
- Go to the Google Cloud Console.
- Create a new project.
- Navigate to IAM & Admin > Service Accounts.
- Create a new service account.
- Generate a new JSON key for the account and download it.
- Rename the downloaded JSON key file to
key.json
and place it in the root directory of this project. - Authorize the service account: In the GEE Code Editor, share the
projects/ee-celestakim019/assets/counties
asset with your new service account email address, giving it Reader permissions.
- Clone the repository:
git clone [https://github.com/your-username/your-repo-name.git](https://github.com/your-username/your-repo-name.git) cd your-repo-name
- Install the required Node.js packages:
npm install express @google/earthengine
- Start the Node.js server from the root directory:
npm start
- Open your web browser and navigate to
http://localhost:3000
.
The application will load, and you can begin exploring Sentinel-2 imagery by selecting your desired counties, years, and analysis types from the control panel.