lundi 17 septembre 2007

GEOS isvalid operator

-





Now
, PostGIS is able to store 3D geometries as TIN and POLYHEDRALSURFACE and to import 3D data with the collada2pgsql command.
I decided to add functionalities in order to manipulate these new geometries. First, I implemented the isvalid operator in GEOS for TIN and POLYHEDRALSURFACE. GEOS (Geometry Engine Open Source) is a geometric library for PostGIS and the isvalid operator is based on the mathematical definition of geometries.

So It must check if:


  • all faces are connected:





  • there are no self-intersections:






  • neighbour faces have the same orientation:







It's important to notice that a TIN or a POLYHEDRALSURFACE stored in PostGIS can represent a 3D volume but not be a valid geometry if we refer to its mathematical definition.



Some exemples of the isvalid operator use:









-

Aucun commentaire: