[GRASS-dev] 2D to 3D points

Michael Barton michael.barton at asu.edu
Sun Mar 2 21:00:25 EST 2008

On Mar 2, 2008, at 12:03 PM, grass-dev-request at lists.osgeo.org wrote:

> Date: Sun, 2 Mar 2008 09:24:52 -0800
> From: Dylan Beaudette <dylan.beaudette at gmail.com>
> Subject: Re: [GRASS-dev] 2D to 3D points
> To: grass-dev at lists.osgeo.org
> Cc: Benjamin Ducke <benjamin.ducke at ufg.uni-kiel.de>
> Message-ID: <200803020924.52526.dylan.beaudette at gmail.com>
> Content-Type: text/plain;  charset="iso-8859-1"
> On Saturday 01 March 2008 10:20:45 pm Hamish wrote:
>> Benjamin Ducke wrote:
>>> That should work but it may not exactly be easy to locate for a
>>> novice user.
>>> How about a little wrapper script for v.transform that simplifies
>>> this action?
>>> I am increasingly concerned about the number of, sometimes basic,
>>> geoprocessing functions that are present in GRASS but "hidden"
>>> in complex module options. Of course people can always mail to
>>> this list but in the first place it will create frustration for
>>> them and possible turn them away.
>> So we make little wrapper scripts like v.dissolve and v.centroids.
>> That's much better than dealing with code duplication.
>> but that shouldn't wrap 3 module commands together with temporary  
>> maps
>> etc to perform something as simple as the 2d+attr column -> 3d points
>> conversion. If as Maciek suggests v.transform could do the job then
>> it's not so bad. The v.transform name even sounds right for the job.
>> Hamish
> I agree that we should avoid code duplication at any cost, and  
> v.transform
> does the job. However, doesn't it make more sense to put that code  
> (for
> points) into v.extrude ? Or, is v.extrude primarily for areas by  
> design?
> Dylan

IMHO, v.type is a much better place to put this. v.type is already  
designed to transform vector objects from one type of vector object  
to another. Changing a vector object from a 2D point to a 3D point  
seems to fit this concept well. (And while we're at it, v.type should  
be changed to work like v.type.sh).

v.transform is really a georectifying module for vector objects. It's  
a conceptual stretch to include transforming 2D to 3D points there-- 
though it does work.

v.extrude is designed to extrude a 'flat' object into a 3-dimensional  
space--primarily polygon to polyhedron. Following this concept, it  
should extrude a line into a 'wall' and a point into a 1-dimensional  
'pole'. It is not aimed at repositioning dimensionless points in 3D  


More information about the grass-dev mailing list