[GRASS-SVN] r54118 - grass/trunk/vector/v.external

svn_grass at osgeo.org svn_grass at osgeo.org
Fri Nov 30 08:36:10 PST 2012


Author: martinl
Date: 2012-11-30 08:36:09 -0800 (Fri, 30 Nov 2012)
New Revision: 54118

Modified:
   grass/trunk/vector/v.external/list.c
   grass/trunk/vector/v.external/local_proto.h
   grass/trunk/vector/v.external/main.c
Log:
v.external:  dimension is set later from data source


Modified: grass/trunk/vector/v.external/list.c
===================================================================
--- grass/trunk/vector/v.external/list.c	2012-11-30 16:17:36 UTC (rev 54117)
+++ grass/trunk/vector/v.external/list.c	2012-11-30 16:36:09 UTC (rev 54118)
@@ -17,10 +17,10 @@
 static char **format_list(int *, size_t *);
 static char *feature_type(const char *);
 #ifdef HAVE_OGR
-static int list_layers_ogr(FILE *, const char *, const char *, int, int *);
+static int list_layers_ogr(FILE *, const char *, const char *, int);
 #endif /* HAVE_OGR */
 #ifdef HAVE_POSTGRES
-static int list_layers_pg(FILE *, const char *, const char *, int, int *);
+static int list_layers_pg(FILE *, const char *, const char *, int);
 #endif /* HAVE_POSTGRES */
 
 int cmp(const void *a, const void *b)
@@ -101,17 +101,17 @@
     G_free(list);
 }
 
-int list_layers(FILE *fd, const char *dsn, const char *layer, int print_types, int use_ogr, int *is3D)
+int list_layers(FILE *fd, const char *dsn, const char *layer, int print_types, int use_ogr)
 {
     if (!use_ogr) {
 #ifdef HAVE_POSTGRES
-	return list_layers_pg(fd, dsn, layer, print_types, is3D);
+	return list_layers_pg(fd, dsn, layer, print_types);
 #else
 	G_fatal_error(_("GRASS is not compiled with PostgreSQL support"));
 #endif
     }
 #ifdef HAVE_OGR
-    return list_layers_ogr(fd, dsn, layer, print_types, is3D);
+    return list_layers_ogr(fd, dsn, layer, print_types);
 #else
     G_fatal_error(_("GRASS is not compiled with OGR support"));
 #endif
@@ -138,7 +138,7 @@
 }
 
 #ifdef HAVE_POSTGRES
-int list_layers_pg(FILE *fd, const char *conninfo, const char *table, int print_types, int *is3D)
+int list_layers_pg(FILE *fd, const char *conninfo, const char *table, int print_types)
 {
     int   row, ntables, ret, print_schema;
     char *value_schema, *value_table;
@@ -214,7 +214,6 @@
 	if ((!schema_name || strcmp(value_schema, schema_name) == 0) &&
             table_name && strcmp(value_table, table_name) == 0) {
 	    ret = row;
-	    *is3D = WITHOUT_Z;
 	}
     }
     
@@ -232,7 +231,7 @@
 #endif /* HAVE_POSTGRES */
 
 #ifdef HAVE_OGR
-int list_layers_ogr(FILE *fd, const char *dsn, const char *layer, int print_types, int *is3D)
+int list_layers_ogr(FILE *fd, const char *dsn, const char *layer, int print_types)
 {
     int i, ret;
     int nlayers;
@@ -274,18 +273,6 @@
 	}
 	if (layer)
 	    if (strcmp(layer_name, layer) == 0) {
-		if (is3D) {
-		    switch(Ogr_geom_type) {
-		    case wkbPoint25D: case wkbLineString25D: case wkbPolygon25D:
-		    case wkbMultiPoint25D: case wkbMultiLineString25D: case wkbMultiPolygon25D:
-		    case wkbGeometryCollection25D:
-			*is3D = WITH_Z;
-			break;
-		    default:
-			*is3D = WITHOUT_Z;
-			break;
-		    }
-		}
 		ret = i;
 	    }
     }

Modified: grass/trunk/vector/v.external/local_proto.h
===================================================================
--- grass/trunk/vector/v.external/local_proto.h	2012-11-30 16:17:36 UTC (rev 54117)
+++ grass/trunk/vector/v.external/local_proto.h	2012-11-30 16:36:09 UTC (rev 54118)
@@ -15,7 +15,7 @@
 
 /* list.c */
 void list_formats();
-int list_layers(FILE *, const char *, const char *, int, int, int *);
+int list_layers(FILE *, const char *, const char *, int, int);
 void get_table_name(const char *, char **, char **);
 
 #endif

Modified: grass/trunk/vector/v.external/main.c
===================================================================
--- grass/trunk/vector/v.external/main.c	2012-11-30 16:17:36 UTC (rev 54117)
+++ grass/trunk/vector/v.external/main.c	2012-11-30 16:36:09 UTC (rev 54118)
@@ -38,7 +38,7 @@
     
     FILE *fd;
     
-    int ilayer, is3D, use_ogr;
+    int ilayer, use_ogr;
     char buf[GPATH_MAX], *dsn;
     const char *output;
     
@@ -116,8 +116,7 @@
         if (!dsn)
             G_fatal_error(_("Required parameter <%s> not set"), options.dsn->key);
         list_layers(stdout, dsn, NULL,
-                    flags.tlist->answer ? TRUE : FALSE,
-                    use_ogr, NULL);
+                    flags.tlist->answer ? TRUE : FALSE, use_ogr);
         exit(EXIT_SUCCESS);
     }
 
@@ -130,7 +129,7 @@
 
     /* get layer index */
     ilayer = list_layers(NULL, dsn, options.layer->answer,
-                         FALSE, use_ogr, &is3D);
+                         FALSE, use_ogr);
     if (ilayer == -1) {
         G_fatal_error(_("Layer <%s> not available"), options.layer->answer);
     }
@@ -143,7 +142,7 @@
     }
     
     /* create new vector map */
-    Vect_open_new(&Map, output, is3D);
+    Vect_open_new(&Map, output, WITHOUT_Z); /* dimension is set later from data source */
     Vect_set_error_handler_io(NULL, &Map);
     
     Vect_hist_command(&Map);



More information about the grass-commit mailing list