args.c 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #include <stdlib.h>
  2. #include <grass/gis.h>
  3. #include <grass/glocale.h>
  4. #include "local_proto.h"
  5. void parse_args(int argc, char **argv,
  6. struct _options *options, struct _flags* flags)
  7. {
  8. options->dsn = G_define_option();
  9. options->dsn->key = "input";
  10. options->dsn->type = TYPE_STRING;
  11. options->dsn->label = _("Name of input OGR or PostGIS data source");
  12. options->dsn->description = _("Examples:\n"
  13. "\t\tESRI Shapefile: directory containing a shapefile\n"
  14. "\t\tMapInfo File: directory containing a mapinfo file\n"
  15. "\t\tPostGIS database: connection string, eg. 'PG:dbname=db user=grass'");
  16. options->dsn->required = YES;
  17. options->layer = G_define_option();
  18. options->layer->key = "layer";
  19. options->layer->type = TYPE_STRING;
  20. options->layer->required = NO;
  21. options->layer->multiple = NO;
  22. options->layer->label = _("Name of OGR layer or PostGIS feature table to be linked");
  23. options->layer->description = _("Examples:\n"
  24. "\t\tESRI Shapefile: shapefile name\n"
  25. "\t\tMapInfo File: mapinfo file name\n"
  26. "\t\tPostGIS database: table name");
  27. options->layer->required = YES;
  28. options->layer->key_desc = "name";
  29. options->output = G_define_standard_option(G_OPT_V_OUTPUT);
  30. options->output->required = NO;
  31. options->output->description = _("Name for output GRASS vector map (default: input layer)");
  32. flags->format = G_define_flag();
  33. flags->format->key = 'f';
  34. flags->format->description = _("List supported formats and exit");
  35. flags->format->guisection = _("Print");
  36. flags->format->suppress_required = YES;
  37. flags->list = G_define_flag();
  38. flags->list->key = 'l';
  39. flags->list->description = _("List available layers in data source and exit");
  40. flags->list->guisection = _("Print");
  41. flags->list->suppress_required = YES;
  42. flags->tlist = G_define_flag();
  43. flags->tlist->key = 't';
  44. flags->tlist->label = _("List available layers including feature type "
  45. "in data source and exit");
  46. flags->tlist->description = _("Format: layer name,type,projection check,geometry");
  47. flags->tlist->guisection = _("Print");
  48. flags->tlist->suppress_required = YES;
  49. flags->topo = G_define_standard_flag(G_FLG_V_TOPO);
  50. if (G_parser(argc, argv))
  51. exit(EXIT_FAILURE);
  52. }