[GRASS5] DBMI-ODBC
    Radim Blazek 
    Radim.Blazek at dhv.cz
       
    Tue May  2 08:43:24 EDT 2000
    
    
  
Hi,
(sorry if you received this twice, Markus Neteler recommended me to send it here too) 
I work on ODBC (http://www.unixodbc.org/) driver for DBMI (src/libes/dbmi)
+ some modules based on DBMI.
Work is not finished but most of old modules (src/libes/dbmi/clients) and new
v.db.reclass run.
I want discuss following list of changes before commiting to CVS:
- add to src/include/dbmi.h structures:
  typedef struct _db_connection
  {
      char *driverName;
      char *databaseName;
      char *location;
      char *user;
      char *password;
      char *keycol;        // name of default key column
  }dbConnection;
  typedef struct
  {
      int  count;     // number of defined rules
      int  alloc;     // size of allocated array
      char *table;    // table name
      char *key;      // key column name
      int  *cat;      // array of new category numbers
      char **where;   // array of SQL WHERE conditions
      char **label;   // array of new category labels
  }dbRclsRule;
- add to DBMILIB functions:
  int   db_set_connection        (dbConnection *connection );
  int   db_get_connection        (dbConnection *connection );
  void        db_rcls_rule_extend       (dbRclsRule *rule , int n );
  dbRclsRule * db_rcls_rule_init        (int n );
  int         db_rcls                   (dbRclsRule *rule , CatValI **new );
- add to /src/libes/dbmi/lib/start.c reading from dbConnection if driver
  was not specified
- modify command parameters in src/libes/dbmi/clients modules
  to not required if defined in dbConnection (use default)
- change in src/libes/dbmi/clients/Gmakefile:
  HOME=$(GISBASE)/etc/dbmi/bin
  to
  HOME=$(GISBASE)/etc/bin/main/cmd
  and remove
  if [ ! -d $(GISBASE)/etc/dbmi ]; then mkdir $(GISBASE)/etc/dbmi; fi; \
  if [ ! -d $(HOME) ]; then mkdir $(HOME); fi;
- add src/libes/dbmi/drivers/odbc - ODBC driver
- add src/libes/dbmi/clients/db.connect - similar as g.select.pg but
  module name db.select is already used, problem: password is saved
  in file
- add src/mapdev/v.db.reclass
- add to VECTLIB_REAL functions for reclassification - may be used in future also
  by v.reclass (I am not satisfied with creating reclass file and running
v.reclass
  from DB reclass modules):
  int V_rcls_line (char *in_name, char *out_name, CatValI *new, int ncat, int
append);
  int V_rcls_area (char *in_name, char *out_name, CatValI *new, int ncat, int
append, int dissolve);
- add to src/include/gis.h structures for storing values for cats
  ( new category value, number of elements in cat, area, length, x,y, ...)
  typedef struct
  {
      int  min,max;  // array range
      int  *val;  // array of integers
  }CatValI;
  typedef struct
  {
      int  min,max;  // array range
      double *val;  // array of doubles
  }CatValD;
- add to GISLIB functions:
  CatValI *G_catvali_init( int min, int max);
  void G_catvali_extend( CatValI *, int max);
Radim
---------------------------------------- 
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo at geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 3835
max: 0
    
    
More information about the grass-dev
mailing list