I am currently working on a solar potential estimation tool for existing buildings. The idea is to use buildings (=Polygon) shape, their height, and create the resulting shade at a given hour. I am only going to do the test for a few position of the sun. I know about the grass function r.sun.mask but it is overpowered for what I am trying to do.
For now I only want to get the shade when the sun is south, at 18° in the sky. The building should therefore cast a shadow about three times its height.
What I am trying to get:
I have been looking for a while but I did not find any tool in postgis to do this. I was thinking about buffering and then cutting the polygon but could not make it work. Do you know any tool or have any idea how to do it?
Answer
Simplest way to do this is with an
ST_Extrude(geom,x-direction,y-direction,0)
You will have to calculate the extrude factor yourself of course and it assumes your whole polygon is the same height.(in your example, extrude would be like: ST_Extrude(geom, 0, 3.0*height, 0)
)
Here is the manual on ST_Extrude. Keep in mind that you need postgis with SFCGAL for this, check the installation docs on how to get this if you don't already have it.
No comments:
Post a Comment