[GRASS-dev] layer names
markus.metz.giswork at googlemail.com
Sun Oct 18 08:57:58 EDT 2009
Martin Landa wrote:
> Hi all,
> most of the functions in Vlib takes layer number as argument. To
> support layer names we need just change their prototypes to use 'const
> char *' instead of 'int' and update all modules. Then layer will found
> by number and if failed by name - see Vect_get_field2().
Layer number is always available, like category number, because it's
stored both in the coor and the cidx file, even without topology and
without an attribute table linked to a vector layer. Layer names
associated with a layer number are only available (currently) if dblinks
are present, otherwise layers have only numbers if I understand
> The second
> approach would be to add new functions ending by '2', e.g.
> Vect_cidx_find_all2(.., const char *layer, ...), etc.
> What do you think? From my point of view would be better just change
> prototypes without adding new and new functions which just takes layer
> as a string...
I think using new Vect_get_field2() in modules is sufficient to support
layer names. When copying a vector map or only dblinks, layer names are
already automatically copied as well. It's more like making layer names
available to users through a modified layer input option that can take
both numbers and names?
More information about the grass-dev