Question

Sun Analysis Tools in FME?

  • 27 April 2023
  • 3 replies
  • 33 views

Badge +1

I was just wondering if anyone has done sunlight / shading analysis in FME?

 

In Rhino 3d + Grasshopper, Ladybug and Honeybee are plugins that can do this. Below a few images.

MicrosoftTeams-image (1) UnbenanntI know that one can do some interesting stuff with the surface footprint replacer, and change the angles, and thereby create shadows. But thought I would ask before diving deeper. Maybe another option would be to go the ESRI route.

 

Ladybug:

Ladybug Tools | Food4Rhino

 

 

Cheers

Fred


3 replies

Userlevel 4
Badge +25

Hi Fred,

That's an interesting question. I'm sure that you could do something in FME. But there's not much built-in functionality for this, so, as you note, it might be easier to use different software.

 

If you did try something in FME, then I think the SurfaceFootprintReplacer is the transformer to use. I did it before, using some Python to calculate the sun's position and the transformer to generate shadows on a sundial object. You can find a blog on the subject - with my workspace and code - online here.

 

As for analyzing the results, I think FME would do a good job of calculations in 2D. So you could probably tell how many hours a day a particular piece of ground is in shadow. But for 3D buildings... I don't know. You'd probably need a "line of sight" transformer, and I don't think we have one of those, not even on the Hub.

 

I hope this helps. I'll pass the question on to a couple of creative colleagues at Safe who might have some more solutions.

 

Regards

 

Mark

Badge +1

Hi Fred,

That's an interesting question. I'm sure that you could do something in FME. But there's not much built-in functionality for this, so, as you note, it might be easier to use different software.

 

If you did try something in FME, then I think the SurfaceFootprintReplacer is the transformer to use. I did it before, using some Python to calculate the sun's position and the transformer to generate shadows on a sundial object. You can find a blog on the subject - with my workspace and code - online here.

 

As for analyzing the results, I think FME would do a good job of calculations in 2D. So you could probably tell how many hours a day a particular piece of ground is in shadow. But for 3D buildings... I don't know. You'd probably need a "line of sight" transformer, and I don't think we have one of those, not even on the Hub.

 

I hope this helps. I'll pass the question on to a couple of creative colleagues at Safe who might have some more solutions.

 

Regards

 

Mark

Hi Mark

 

Thank you for your detailed answer. I saw your post on the Sundial example and hence had the question if it was possible in FME!

 

I had a deeper look at the tools available from the Rhino3d - Ladybug plugin, and there is a meriad of different analysis that Ladybug has for geometry, but it works within the framework of Rhino 3d, so it does make sense to keep the analysis for the moment running there.

 

One interesting option, would be to use their dev python libraries and develop this further inside of FME, but I dont have the time to look at it now, but could be super interesting:

https://github.com/ladybug-tools/ladybug.

 

And yes, please pass on the question, I think this analysis would be of benefit to a lot of users.

Cheers

Fred

Userlevel 2
Badge +11

Hi Fred,

 

I checked a little bit what we can do, and yes, you are right, SurfaceFootprintReplacer is one of the way of doing sun analysis. The question is how to use a correct sun position. For that, I added Python PyEphem package to FME, and created a custom transformer that can create shadows based on lat/lon/date/time. The transformer is called SunShadowReplacer and should be available in FME 2022.1 (also here - https://hub.safe.com/publishers/safe-lab/transformers/sunshadowreplacer). Here are a few examples of its usage.

 

For AR:

https://twitter.com/DmitriAtSafe/status/1654197921506643976?s=20

 

How a shadow changes during the day:

https://twitter.com/DmitriAtSafe/status/1655649901995520000?s=20

 

And a similar one on a 2D map:

https://www.dropbox.com/s/nf14u14bqu3nf8c/shadow.mp4?dl=0

 

Unfortunately, this transformer only works correctly for flat areas, and won't show correct results when, for example, a tall building's shadow overlaps other buildings - I don't analyze the sun path data. For that, I am thinking, we could use a point cloud approach, which I successfully used for viewshed analysis. We probably can create something similar for sun rays.

Reply