[GRASS-dev] 3D types
markus.metz.giswork at googlemail.com
Tue Sep 15 13:36:25 EDT 2009
> 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.
More information about the grass-dev