[GRASS-dev] 3D types

Markus Metz markus.metz.giswork at googlemail.com
Tue Sep 15 13:36:25 EDT 2009

Hamish wrote:
> why should the boundary type be limited to 2D?
> if boundary is allowed to be 3D there is no need for some new "edge"
> feature type. I understand that it may make the topology code trickier,
> but adding the new type seems redundant to me.
I have recently imported shapefiles from the SRTM waterbody database 
which are 3D, but correct areas were built with the current 2D topology 
algorithms. In this particular case, 3D topology is not needed to 
preserve z coordinates. In general, z-values could be added to any 2D 
vector with areas and the current 2D topology building procedures could 
still work. An easy way to achieve this is to use 2D routines for 
boundaries and 3D routines for edges. Just an idea.
> centroids can be 3D, so for faces just put one in the middle of the plane.
> (I'm assuming that faces have to be flat, but maybe that doesn't have to
> be. what happens if the boundary/edge polyline defining it is 3D like a
> bent coat-hanger? why limit ourselves to 3D-TINs?)
AFAIAC, all that is open for discussion. All vector features, also 
boundaries, can be 3D i.e. have z-coordinates but currently 3D topology 
is not supported because not present in the vector libs. I don't know if 
faces have to be flat, if there are algorithms out there that support 
non-flat faces we could/should use them. Any 3D geometry expert out 
there? In any case, full 3D support in g7 would be really cool. I'm 
starting to search geometry libraries for 3D algorithms but first 3D 
algorithms are scarce and second these geometry libraries including GEOS 
can not always deal with "real-life" vector objects, they are made for 
ideal vector objects.

Markus M

More information about the grass-dev mailing list