View analysis for multiple buildings




I’m wondering what the best way is to run a view analysis over multiple buildings. By default the input to ‘geometry’ is flattened. I want to have a single legends, but separate average view values per building.

If I keep the geometry input flattened I somehow need to reverse engineer the meshes back into its constituent parts plus recalculate the average view etc. This is proving very difficult because as soon as I disjoint mesh, I’ve lost the corresponding view results.

If I don’t flatten the geometry input, the mesh and the average view is correct (I think) but then I get multiple legends and when I go to recolor the mesh the lists don’t match.

I’m sure there must be an easy way to do this. Any thoughts?


It will help to upload the file, but i will try to flatten the results and join the meshes before connecting to the recolorMesh.


@AbrahamYezioro @mostapha

I’ve attached the file for convenience.190313 View analysis (87.3 KB)

This is the output with flatten geometry. It looks correct but I need the average views on a per building basis.

This is the output with grafted geometry. The analysis results are different to the flatten geometry one. Not sure if they are wrong or if the colours just need to be remapped (recoloured) across all the buildings rather than on a per building basis.

Doing what you said about flattening the results and joining mesh gives very different (incorrect) results.

This is the same issues for radiation analysis and sunlight analysis too btw.

Any thoughts?


Case 3 is completely wrong. Flattening the results and joining mesh just mess up all.
Cases 1 and 2 are ok. The difference in results is that when you flatten the geometry it also serves as contex (case 1). When you graft the geometry the analysis is done per object and the others are not considered as context (case 2).
In your case the context input is empty (no geometry). So what you need to do in order to get the average per building is to connect your geometry also to the context and you will be set.



Thanks @AbrahamYezioro.

Using Case 2 I can get the correct results (including average view per building) from the original component. But the recolouring mesh is still a problem. The results and the analysis mesh are different data structures. How can I use the recolour mesh component here? Do I need to re-calculate the result using the point is visible output - @mostapha ?

I know that I can feed the LegendPar into the view analysis component itself but doing this means that it will re-run each time someone changes a colour scheme. Better to run the analysis first, then recolour to minimise compute time.

190313 View analysis (430.7 KB)


@AbrahamYezioro @mostapha @chris

Looking at this again, I don’t think grafted geometry as an input works. It looks correct but the ‘pts is visible’ output is not. It should have only 3 results per testPt (one for each view point).

It should be more like this…

But them I am back to the beginning. How to re-color mesh and get average view per building. If I flatten the input I can get the correct results. But then there is no way for me to maintain a parallel data structure when I join and disjoin meshes.

190313 View analysis (434.8 KB)