Hi all. I'm a bit stuck with this one. However I know it must be possible.
I would like to validate 3D planar surfaces of 3D Buildings. (So buildings with a ground surface, walls and roofs).
I can assume that all the surfaces are planar (That is something I could already check with the PlanarityFilter), but I also want to know if each individual planar surface is OGC valid.(self-intersecting,...)
My first idea was to use the GeometryValidator directly for that but it seems to work only for 2D surfaces.
(For instance a wall surface which is perfectly vertical (polygon) would become a selfintersecting polygon if seen from on top on a XY plane surface. So I get an error for that one while it is no error)
How can I check the 3D planar surfaces with 2D validation rules?
I had an idea of changing the XYZ coordinate axis: To turn around in 3D my XYZ-axis as such that my planar surface would have Z =0 for all vertices. I know it must be possible (http://www.geonovum.nl/sites/default/files/5LedouxStap3Valideren.pdf) somehow...
My first steps were to move (3D Affiner) my surface towards the origin of the XYZ-axis as such that 1 coordinate is exactly on (0,0,0) (and Z = 0, so that one is fine), but how to move the other vertices of the planar surface proportionally as such that everything is projected into 2D AND that the shape, area, lenghts of my surface is completely maintained...
Probably the good old goniometrical friends such as sinus, arcsinus, normal vectors and so on can help me out... but at the moment, I don't catch it yet.
Anyone a good suggestions?
(another source I found was doctor Jerry's answer: http://mathforum.org/library/drmath/view/51727.html)
Thanks
Bruno