I need all building footprint should be in same height. Suppose any one edge in different height means how can i get this?
I need all building footprint should be in same height. Suppose any one edge in different height means how can i get this?
if you just want to set a z- value, then you could use the 3DForcer...
Maybe that helps you in the first step...
Best regards,
Stefan
if you need a list of all the Z-values for a feature, you can use the CoordinateConcatenator. It will let you choose e.g. only Z-values and put them in a delimited string.
As an idea, you could then convert the string to a list using an AttributeSplitter. Using a ListSummer and a ListElementCounter you could easily calculate the mean Z-value of each feature, which you could pass to a 3DForder (as Stefan suggests).
David
I think David's idea is very effective to calculate z average of vertices.
Just be aware that the first and last element of the list (result of the AttributeSplitter) indicate the same vertex, since the series of vertices of a polygon is closed. You should consider this point when calculating average.
average = (sum - first_element_value) / (number_of_elements - 1)
The ListIndexcer transformer can be used to get the first element value of the list.
Takashi
I am not clear if you need to use the hights available to you ( David's method) or just set a new Z value.
In case of the later just remove the Z values (2DForcer) and set a new Z with the 3DForcer.
"If the feature was already three-dimensional, its previous elevations are wiped out and replaced with the value held in the specified attribute." -- 3DForcer, FME Transformers