GeoWatch allows users to monitor and visualize geospatial data in real-time. It integrates several technologies to facilitate environmental monitoring, urban planning, and other applications requiring geospatial analysis.
The platform architecture includes these key components:
- Data Collection & Messaging: The remote sensors send real-time telemetry data via the MQTT protocol, which is lightweight and ideal for IoT communication.
- Backend Data Handling: Using Node.js, the data is ingested and processed. The system stores sensor data primarily in a time-series database built on PostgreSQL with the PostGIS extension for geospatial data and TimescaleDB for efficient time-series handling.
- Monitoring & Metrics: Prometheus is employed to monitor platform metrics and health.
- Data Visualization: Grafana is used to create interactive dashboards displaying historical and real-time sensor metrics such as pollutant concentrations, temperature, humidity, and air quality indexes.
- Frontend Interface: A modern web frontend is built with React and Next.js, providing users with responsive and dynamic access to dashboard views and sensor data.
- Containerization and Deployment: Docker containers package all services, ensuring consistent development and deployment environments.
- Reverse Proxy: A reverse proxy is configured to securely route and manage incoming requests.
- GIS Integration: QGIS is used for spatial analysis and mapping of sensor locations and air quality distributions, enhancing the geographic component of the data.
This platform enables comprehensive analysis of remote environmental sensor data, helping stakeholders visualize air quality trends and make data-driven decisions for environmental monitoring.