[postgis-devel] PolyhedralSurface - PostGIS 2.0

Olivier Courtin olivier.courtin at oslandia.com
Fri Jan 22 03:24:21 PST 2010


Hi,

I've just began to (re)work on PolyhedralSurface type support for  
future 2.0 branch,
before to spend more time on this, i wanted to check with you i have  
green light to
go on further.

Any comments/reactions are welcomed !


Targeted usage: City Modelisation (LOD 0 to LOD 3)


Some current thoughts about implementation:

- Removing unused Integer types (POINTYPEI, LINESTINGTYPEI,  
POLYGONTYPEI)
   to have 3 news types availables.

- Add PolyhedralSurface type (cf SFS 1.2 and SQL/MM3)
   EWKT look like
   POLYHEDRALSURFACE(((0 0 0,0 1 0,1 1 0,0 0 0)),((0 0 0,1 0 0,1 0 1,0  
0 1,0 0 0)),...)

   So a bit like a 3DZ MULTIPOLYGON except that:
   - every polygon mean a face (with all points on the same plan, and  
without
     self intersection)
   - only one ring by polygon/face (i.e no hole)
   - points must be defined couterclockwise
   - Each face must be connected to the previous/next ones at least by  
a point

   And resulting PolyhedralSurface must be convex (and without hole)


- Don't use GEOS for common function on this type (as it 'only' handle  
2D),
   but implement in liblwgeom 3D primitives:
       - ST_IsValid
       - Point in Polyhedra test (and so others related 9DIM functions)
       - Polyhedra minimal distance (to a point also to an another  
polyhedra)
       - ST_Centroid
       - ST_Volume

- I/O functions
       - extensions to GML and KML
       - CityGML
       - Collada
       - X3D ?

- Check with others PostGIS Z dim compliants functions that this new  
type
    is rightly supported

- 3D Index issue (not even explore this point)

- Futures issues (to reach LOD 2 and 3):
     - How to link a geometry to a texture
     - How to handle Level Of Details (for example in CityGML)

--
Olivier



More information about the postgis-devel mailing list