[GRASS-user] Why does v.split convert 3D vector to 2D?

Dwight Needels needels at translucida.com
Sun Mar 7 14:50:56 EST 2010


On Mar 7, 2010, at 2:10 PM, Markus Neteler wrote:

> On Sun, Mar 7, 2010 at 7:13 PM, Dwight Needels <needels at translucida.com 
> > wrote:
>> I have a 3D vector [test_3D] created using v.drape, confirmed as 3D  
>> with
>> v.info. I used v.split to split the polyline at the vertices:
>>
>> v.split input=test_3D output=test_3D_split vertices=2
>>
>> The resulting vector [test_3D_split] is a 2D vector (i.e. it lost  
>> the z
>> geometry data according to v.info, and v.to.db reports all slopes =  
>> 0).
>
> This happens due to the fact that the new vector file (output) is  
> opened
> without the Z geometry:
>
> cd v.split/
> grep open * | grep new
> main.c:    Vect_open_new(&Out, out_opt->answer, 0);
>
>> Is this intended behavior?
>
> Certainly not ideal. I don't know if changing to
>
>  Vect_open_new(&Out, out_opt->answer, WITH_Z);
>
> would be sufficient (of course recompile after that). If you could
> provide a test case with the Spearfish or North Carolina test
> datasets, I could try if you aren't able to compile GRASS yourself
> to test above suggestion.
>
> Markus

Markus, I would appreciate if you would be able to compile and test  
for me. Here is a Spearfish example that shows the same behavior  
(using v.info to test 2D/3D vector status).

v.drape input=t_hydro rast=elevation.dem output=t_hydro_3D method=cubic
v.split input=t_hydro_3D output=t_hydro_split vertices=2

Thanks, -Dwight




More information about the grass-user mailing list