Overkill: using photogrammetry for solar estimates

Unsurprisingly, I have a lot of photogrammetric reconstructions of my house. And I just bought a very affordable electric car. So: using the fuel cost savings from my new purchase, I plan to deploy a solar array on my house. It should be enough to offset the car and part of the household electrical costs, so let’s find out for sure.

First a disclaimer: there are much simpler ways to do the estimates I am doing, but it is fun to do them on data I have already collected and processed.

First of all, visualization settings: I like to do these measurements in the 3D view and punish my embedded graphics card by turning the “Point budget” up all the way, and enable “High Quality” splats. That said, I find that “High Quality” is incompatible with orthographic views (possible bug? could someone test on their browser?), so we can toggle that off when we do orthographic views:

First, let’s measure the rooftop angle, and the size of the roof. Be careful when doing this: it’s easy to pick a point that is not on the roof, but on the ground, so after you place your points for measurement, be sure to give the model a spin to double check point placement for your measurements.

It looks like a roof angle of 39° with sides of 4.86m and 7.68m. Super! We are more than halfway there.

Now we switch to orthographic view (and switch off High Quality splats) so that we can measure the angle of my curb.

Why my curb? Well, the roofline parallels the curb, so I can make sure all the points are largely in a single plane if I measure the curb, which is difficult or impossible on the roof itself. Wow: also about 39°. Now we have what we need for our calculations.

Let’s head over to Global Solar Atlas, find where we are in the world, and plug the data we need in.

Given the dimensions of my roof, I might be able to squeeze a 6kWp system on there, so assuming that, and plugging in the PV panel tilt (my roof angle) and my house’s azimuth (180 + 39°), we should get a pretty robust estimate of how much power we can generate on top of my house

Click apply and check the average MWh I can create, and we can get around 7MWh per year:

Cool! Now the original question: can I drive my car on that? Assuming I’m driving 10,000 miles/year on my (not the most efficient used) BEV, I can expect to consume about 4MWh per year. In short, I’ll be running a surplus that will help offset other electrical usage in the house.

Now to figure out how to build a garage with panels for the rest of my electrical consumption… .


It works ok in Windows native version

Ah, good to know. Piero knows I use weird browsers, so he’s naturally (and appropriately) suspicious when I report things like this. :smiley: Thanks for checking.


Taking this a cut deeper and maybe justifying photogrammetry… . We have a nice oak tree in our front yard. It is a swamp white oak, grows quite nicely in our heavy clay soils, and it’s mother is a tree just down the street that is monstrously large, beautiful, and a few hundred years old (it gets its own city lot and then some).

So, given most solar panels are warranted for 20ish years and designed for 50 or so, will this tree get large enough to shade the top of the house and decrease the available solar in that 50 year time-frame? Probably. But how much?

While this is hard to really predict, I cloned a nearby and much larger tree in my digital surface model and placed the cloned in my front yard and ran an analysis of available annual solar potential for my roof and calculated the differential. Cloning was done just by cropping the tree, georeferencing it to a new position using Raster:Georeferencer in QGIS.org, and then merging it back in with Raster:Misc.:Merge (also in QGIS), resulting in something like this:

Then I used GRASS GIS r.sun.daily tool to calculate total annual solar potential for both the pre-big tree and post-big tree scenario (just beam potential, I could include diffuse radiation as well):

Looking at a quick profile across the roof, we might, under this worst case scenario expect a 20% loss of solar potential across the entire year. For a 50 year scenario, that is a loss I am comfortable with, and hopefully we (and our children) can keep the tree nicely trimmed on the solar panel side to minimize losses.

Alright, that’s enough shenanigans for this project. Now to figure out how to add panels.


A couple of comments, having worked for a solar company a few years back (help-forum advice/mod/admin and backend online store, not an installer) it may be worth utilising some of the north-facing roof too. Depending on the regulations there, tilt mounts installed just behind the ridgeline to angle the panels at say 10° or 20°, facing ~south, would give you more future unshaded PV output, and benefit output in overcast weather all the time, when the brightest part of the sky is often near overhead.

A little known clause in many panel manufacturers fine print is that panels that suffer shading are not covered by warranty!

1 Like

Woah! I’d be happy to wait on the garage project. I was wondering if I could add some capacity on the back side. Awesome.

I mean: we’re at least 20 years away from that worry, so likely outside warranty period, but good to know nevertheless!

1 Like

Make sure you face them East or SE, to remove the mostly unusable noon peak and increase morning output. That is of course unless the electricity company is paying a huge feed-in tariff and it is a benefit to have the absolute max output, in which case, face due south.
Not facing all panels North (or south in your case) is something I wrote about, nearly 10 years ago(!) here:

Hmm, I see they still have me listed as moderator, even though I haven’t worked for them for 5 years.


Ah, this is interesting. I was thinking about this from the standpoint of maximizing total electrons, but time of day optimization makes a lot of sense (especially given the power companies aren’t forced to provide a lot of financial incentives for selling to the grid). Also, my north facing roof is a bit east facing, so that may provide an interesting opportunity.

1 Like

@smathermather I’m a little disappointed you have not once mentioned the potential to use that extra output to power a giant laser…

Ha! Well we don’t advertise such things. Also: better to use cats and static electricity for such projects. Solar is too much work. :slight_smile:


Forgot to post the GRASS commands. Nothing complicated:

r.sun.daily elevation=elevation start_day=1 end_day=360 beam_rad_basename=beam beam_rad=beam_sum nprocs=4 -t
r.sun.daily elevation=elevation_orig start_day=1 end_day=360 beam_rad_basename=beam_orig beam_rad=beam_sum_orig nprocs=4 -t

This is all very interesting, thanks for posting it!

1 Like

Thanks! This was fun to do and to post.

I like this color scheme with the sum of beam for everything (sans animation, but a zoom out):

It feels like it’s from some dreamy, classic cartoon of some sort.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.