[GRASS5] v.out.ogr question

Otto Dassau otto.dassau at gmx.de
Fri Mar 19 09:58:59 EST 2004


Radim Blazek schrieb:
> 
> On Thursday 18 March 2004 10:59, Otto Dassau wrote:
> > > >  |   Number of points:       0               Number of areas:      1
> > > >  |  | Number of lines:        0               Number of islands:    1
> > > >  |   | Number of boundaries:   1               Number of faces:      0
> > > >  |    | Number of centroids:    1               Number of kernels:    0
> > > >  |     | Number of dblinks:      1
> > > >  |      |
> > > >
> > > > GRASS 5.7.-cvs:~/test > v.out.ogr ammprv dsn=ammprv layer=ammprv
> > > > WARNING: Requested types: points and lines, but (additionally) areas
> > > > found. Check 'type' parameter.
> > > > 1 features written
> > > > WARNING: 1 features without category written
> > > >
> > > > -> Strange: I would expect 0 features written.
> > >
> > > Why strange? Requested type is 'line,boundary' (default) and there is 1
> > > boundary in ammprv and that boundary is exported.
> >
> > Hi Radim,
> >
> > I simply think it would be nice, if v.out.ogr doesn't export any data,
> > as long as the parameter 'type' is not set correctly. This would just make sure,
> > that the user really gets what he intends. I know it is not an error, more a whish and
> > maybe also too petty.
> 
> This particular case is not important, but this issue in general is very important.
> One of very few advantages of GRASS over proprietary competitors is that it does what
> user requested specifying parameters and it does not do what maybe could be
> intendet result of majority of users.
> With GRASS, I am sure that I can do what I want, and I cannot, for example,
> end up with with impossibility to export boundaries as lines to shape only
> because users mostly exports areas and they don't read option descriptions.
> 
> Back to the case above. How can the module recognize that you don't want
> boundaries and you have done a mistake?
> 
> Two examples when what v.out.ogr does in this case is correct:
> 1) transfer data to another topological GIS, that means we want boundaries
>    as lines, not closed polygons
> 2) 1000 vectors in GRASS, not all of them contains all possible features,
>    if those vectors are exported (srcipt), even if no requested feature is present,
>    correct and desired output is empty file, not missing file.

I think it is important, that people have to set the parameter type=' '
and 
think about what they do. To me following modification would be useful.
Nothing happens 
except a WARNING without the 'type' parameter, and if it is used, but 
with the wrong type as in markus example:

export of Lines map with wrong type parameter:
v.out.ogr viapri dsn=viapri layer=viapri type=area
WARNING: 2003 Line(s) found, but not requested to be exported. Verify
         'type' parameter.
0 features written

then it might be better to write a WARNING, but export the data, because
the 
the user probably chose this type on purpose. 

Maybe this makes sense?

    Otto




More information about the grass-dev mailing list