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
Vect_read_dblinks() properly.
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?
Markus M
_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev