Utilisation de postgis pour générer des nuances de bâtiment

9

Je travaille actuellement sur un outil d'estimation du potentiel solaire pour les bâtiments existants. L'idée est d'utiliser la forme des bâtiments (= Polygone), leur hauteur, et de créer l'ombre résultante à une heure donnée. Je vais seulement faire le test pour quelques positions du soleil. Je connais la fonction herbe r.sun.mask mais elle est maîtrisée pour ce que j'essaie de faire.

Pour l'instant, je ne veux obtenir l'ombre que lorsque le soleil est au sud, à 18 ° dans le ciel. Le bâtiment devrait donc projeter une ombre d'environ trois fois sa hauteur.

Ce que j'essaye d'obtenir:

Ce que j'essaye d'obtenir

Je cherche depuis un moment mais je n'ai trouvé aucun outil dans postgis pour le faire. Je pensais à la mise en mémoire tampon puis à la découpe du polygone, mais je ne pouvais pas le faire fonctionner. Connaissez-vous un outil ou avez-vous une idée de comment le faire?

aeboq
la source

Réponses:

8

La façon la plus simple de le faire est de

ST_Extrude (geom, direction x, direction y, 0)

. Vous devrez calculer le facteur expulsent vous bien sûr et il suppose que votre polygone entier est la même hauteur (dans votre exemple, expulsent serait comme: ST_Extrude(geom, 0, 3.0*height, 0))

Voici le manuel sur ST_Extrude. Gardez à l'esprit que vous avez besoin de postgis avec SFCGAL pour cela, consultez les documents d'installation sur la façon de l'obtenir si vous ne l'avez pas déjà.

inclinaison
la source
La forme en sortie est celle que je veux, mais la surface polyédrique ne peut pas être intersectée avec un polygone. J'ai essayé le ST_Force2D sur le polyèdre puis je l'ai intersecté avec mon polygone mais cela ne fonctionne pas. Existe-t-il une autre fonction avec un format de sortie plus pratique, ou un moyen de convertir cette surface polyédrique en polygone?
aeboq
2
Oui, vous pouvez le vider dans des polygones normaux. Exemple:SELECT ST_AsText((ST_Dump(ST_Extrude(ST_MakeEnvelope(10,10,100,100,28992),0,8,0))).geom)
basculer le
0

Il pourrait être utile d'envisager d'exporter de QGIS vers Blender car cela vous permettrait de placer le soleil comme une lumière et de l'animer tout au long de la journée et de l'année. J'ai trouvé ici un flux de travail qui semble pertinent.

Steve Barnes
la source