-
-
Landing page
-
Earth engine supported automatic setup site choosing
-
Intermediate result visualization
-
Auto segmentation user control
-
Full manual control for dimension estimation
-
Full segmentation result display
-
Automatic depth estimation using DepthPro
-
3D reconstruction and shadow mapping
-
Output of re-estimated solar energy and irradiation
-
System Workflow
-
ROI estimates for planners
Inspiration
With the increasing urgency to combat climate change and the push towards renewable energy, solar energy has emerged as a pivotal solution. However, accurately predicting solar power potential, especially in environments with partial shading, remains a significant challenge. Traditional tools often provide generalized estimates that do not account for the nuances of local environments, such as shading from nearby buildings, trees, and other obstacles.
The inspiration behind SolarGIS stemmed from this very challenge. We envisioned a tool that not only predicts solar energy potential with high accuracy but also adapts to real-world complexities. Our goal was to create a system that leverages cutting-edge technologies—such as ray tracing, 3D modeling, and real-time data integration—to offer precise, user-specific solar energy assessments.
SolarGIS is not just another solar energy predicting application. It is a leap forward in how we harness data and technology to empower individuals, businesses, and communities to make informed decisions about solar energy adoption. By providing detailed, accurate, and actionable insights, SolarGIS aims to accelerate the transition to clean energy and contribute meaningfully to global sustainability goals.
Thus, the project is inspired by the need to bridge the gap between current solar energy estimation tools and the complexities of real-world scenarios, empowering users with a system that combines precision, innovation, and accessibility.
What it does
Our system is designed to predict the solar energy potential of a given location, taking into account real-world complexities such as partial shading, dynamic environmental conditions, and user-specific inputs. It goes beyond traditional solar calculators by leveraging cutting-edge technologies to provide a more accurate and personalized assessment of solar power potential.
Key Features
Advanced Ray Tracing
Simulates shadow dynamics based on solar azimuth and zenith angles, providing accurate energy predictions.
3D Environment Modeling
Generates detailed 3D reconstructions of urban and rural environments for precise shadow and obstacle mapping.
Obstacle Detection
Utilizes automated image segmentation to identify and calculate the impact of obstacles like trees and buildings on solar irradiance.
Interactive Input and Visualization
Allows users to input solar parameters, upload images for obstacle detection, and visualize shadow projections and solar potential on interactive 3D maps.
Real-Time Data Integration
Employs APIs for real-time solar radiation data and provides dynamic updates to ensure accuracy.
Comprehensive Solar Analysis Reports
Outputs detailed metrics and insights about solar energy potential that cater to both technical and non-technical users.
Forecasting Energy Output
Provides short-term and long-term solar energy production forecasts by combining weather predictions, solar position models, and panel-specific performance data.
How we built it
We built our solution by integrating a variety of advanced technologies and tools, each contributing to different aspects of the system. Our approach was modular, allowing for scalability and flexibility in development.
Ray Tracing Engine: Simulates the transport of light and calculates shadow projections based on solar azimuth and zenith angles. Used solar geometry formulas to determine the sun’s position throughout the day and year.
3D Reconstruction: Utilized a combination of depth estimation models and point cloud generation to create 3D representations of the environment. Converted building polygon data from the Google Earth Engine into 3D bounding boxes.
Image Segmentation: Employed fine-tuned segmentation models like Grounding-DINO to detect obstacles in user-uploaded images. Integrated elevation data to estimate the height of segmented objects.
Depth Estimation:
Used Depth-pro and 3D point cloud generation to approximate the height and dimensions of obstacles from 2D images.Solar Data Integration:
Fetched real-time solar irradiance data (GHI, DNI, DHI) using Solcast/NASA APIs.
Integrated weather forecasts to account for cloud cover and other meteorological factors.PV System Modeling:
Implemented Pvlib to simulate the performance of photovoltaic systems.
Allowed customization of panel parameters such as tilt, azimuth, and efficiency.Interactive User Interface:
Developed using Streamlit for rapid prototyping and deployment.
Enabled drag-and-drop features for image upload, bounding box selection, and real-time map interaction.Data Caching and Optimization:
Utilized Redis for caching API responses and pre-processed data to improve performance.Cloud Deployment:
Dockerized the application for easy deployment on AWS EC2 instances.
Ensured scalability and persistent storage of user data and analysis results.
Challenges we ran into
Partial Shading Modeling:
Accurately modeling partial shading required developing complex algorithms that consider the dynamic interaction between sunlight and obstacles at different times of the day.Data Integration:
Merging data from various sources, including satellite imagery, user-uploaded photos, and real-time APIs, posed challenges in data alignment and normalization.Segmentation Accuracy:
Fine-tuning segmentation models to accurately detect obstacles in diverse environments (urban, rural, forested) was time-consuming and computationally intensive.Depth Estimation:
Estimating object heights from 2D images required combining multiple techniques and validating results against known measurements.Real-Time Processing:
Ensuring that the system could process data and provide results in real-time demanded extensive optimization and efficient use of resources.Scalability:
Designing the architecture to support multiple users simultaneously while maintaining performance and reliability was a complex task.User Interface Design:
Creating an intuitive and responsive UI that accommodates complex functionalities without overwhelming the user required iterative testing and feedback.
Accomplishments that we’re proud of
Real-World Modeling:
Successfully developed a system that accounts for real-world complexities like partial shading and dynamic environmental conditions.Technological Integration:
Seamlessly combined multiple advanced technologies including ray tracing, 3D modeling, image segmentation, and solar data integration.Accuracy and Reliability:
Achieved results that are competitive with industry-leading platforms while maintaining an open and transparent approach to calculations.User-Centric Design:
Created an interactive platform that empowers users to easily visualize and customize solar parameters, making complex analyses accessible to all.Scalable Deployment:
Deployed the application on AWS EC2 with Docker, enabling persistent data management, real-time responsiveness, and efficient computation.Innovation in Shadow Modeling:
Built a highly detailed shadow mapping model that dynamically adjusts to changing solar positions and obstacle configurations.Open-Source Migration:
Accessibility for Diverse Stakeholders. Designed the system to serve a wide range of users, from researchers and policymakers to individual solar energy adopters. Users can now migrate from a paid Solar API from Google to our fully open source project.Sustainability and Global Impact:
Contributed to the renewable energy transition by enabling more accurate solar installation planning and reducing reliance on non-renewable resources, thus contributing to the UN SDGs.
What we learned
Throughout the development of SolarGIS, we gained valuable insights and expertise in a broad range of domains, blending theory, simulation, and real-world implementation:
Solar Physics & Radiometry
We developed a deep understanding of solar geometry, including the impact of solar azimuth, zenith angles, and seasonal variation on energy generation. We studied solar irradiance models (GHI, DNI, DHI) to fine-tune our estimation logic.
Photovoltaic System Behavior
We analyzed how different configurations (series, parallel, bypass diodes) behave under partial shading. We also explored the nonlinear response of PV panels and inverter efficiency curves.
MATLAB Simulations
Conducted extensive simulations of solar panel layouts, shading scenarios, and energy generation curves in MATLAB. These simulations helped validate our theoretical models and calibrate real-world outputs from Pvlib and ray tracing engines.
Advanced Light Transport Modeling
We explored photometric light modeling and used physically based rendering principles to simulate solar ray interactions with 3D objects and terrain. Ray tracing was adapted to real-time systems using custom optimizations.
3D Reconstruction and Image Segmentation
Learned the challenges of building clean 3D environments from 2D sources, especially noisy urban image data. Implemented post-processing pipelines to improve mesh and point cloud quality.
Obstacle Detection
Trained and fine-tuned segmentation models to identify and dimension obstacles using a combination of image segmentation and monocular depth estimation. Combined these with elevation models to build full context around irradiance drop-off.
Solar Panel Orientation and Tilt Study
Researched the effect of panel tilt, azimuth alignment, and seasonal adjustment on energy yield, using academic papers and NREL guidelines.
API Integration & Environmental Data Handling
Gained practical experience in combining multiple data streams (satellite, weather, irradiance) into a coherent prediction pipeline. Implemented fallback and averaging strategies for incomplete data.
User-Centered Design
Learned how to translate complex solar energy physics into an interactive, beginner-friendly platform that balances customization with clarity.
Optimization and Real-Time Scaling
Understood the challenges of deploying heavy compute tasks on cloud infrastructure. Used caching, task queues, and smart re-computation to maintain performance.
What’s next for SolarGIS
Expanded Dataset Integration:
Incorporate additional satellite and IoT sensor data to enhance prediction accuracy and coverage.Augmented Reality (AR) Visualization:
Integrate AR to provide real-time visualization of solar potential and shading on-site using mobile devices.Global Scalability:
Adapt the system for global use, accounting for different climatic zones, building structures, and solar policies even for areas which are presently not covered.Open-Source Release:
Making the platform entirely open-source to democratize access to advanced solar energy estimation tools.Policy and Research Integration:
Collaborate with policymakers and researchers to support sustainable urban planning and energy initiatives.Educational Modules:
Develop educational tools and modules to teach students and the public about solar energy and sustainability.Continuous Improvement:
Regularly update the system with new features, performance enhancements, and user feedback integration.
Built With
- amazon-web-services
- folium
- gemini
- geopy
- google-earth-engine
- langchain
- open-buildings-dataset
- pvlib
- python
- redis
- solcast-api
- streamlit
- tensorflow
Log in or sign up for Devpost to join the conversation.