[GRASS-dev] Re: [GRASS GIS] #1159: v.in.ascii fails with long text file in WinGRASS-6.4.0-1

GRASS GIS trac at osgeo.org
Fri Sep 17 14:30:50 EDT 2010


#1159: v.in.ascii fails with long text file in WinGRASS-6.4.0-1
------------------------+---------------------------------------------------
 Reporter:  lponti      |       Owner:  grass-dev@…              
     Type:  defect      |      Status:  new                      
 Priority:  normal      |   Milestone:  6.4.1                    
Component:  Vector      |     Version:  6.4.0                    
 Keywords:  v.in.ascii  |    Platform:  MSWindows 7              
      Cpu:  x86-32      |  
------------------------+---------------------------------------------------

Comment(by hellik):

 Replying to [comment:10 hellik]:
 > Replying to [comment:9 glynn]:
 > > Replying to [comment:7 hamish]:
 > >
 > > > in 6.5svn db_shutdown_driver() for WinGrass effectively boils down
 to:
 > > {{{
 > >     _cwait(&status, driver->pid, WAIT_CHILD);
 > > }}}
 > >
 > > The MSVCRT documentation for _cwait() says:
 > > {{{
 > > The value of procHandle passed to _cwait  should be the value returned
 by
 > > the call to the _spawn  function that created the specified process.
 > > }}}
 > >
 > > Except, db_start_driver() no longer uses spawn(), it uses
 G_spawn_ex(), which uses CreateProcess(). See r42651 (7.0) and r42654
 (6.5).
 > >
 >
 > My test mentioned above was in WinGrass65.
 >
 > Helmut
 >


 I've tested this now in a self built WinGrass7 (nc-sampledata)

 {{{
 v.out.ascii --verbose input=myfireg7 at g7 layer=1
 output=C:\wd\grassascii\firestation_ascii_point_g7.txt columns=CITY
 format=point
 }}}

 and the a re-import with v.in.ascii

 {{{
 v.in.ascii -n --verbose
 input=C:\wd\grassascii\firestation_ascii_point_g7.txt
 output=vinasciig7withtable2
 BUG in Beschreibungen, Option 'Punkt' in <format> existiert nicht.
 BUG in Beschreibungen, Option 'Standard' in <format> existiert nicht.
 D2/3: Vect_open_new(): name = vinasciig7withtable2
 D1/3: Vect_set_thresh(): thresh = 0.000000
 D1/3: G_find_vector2(): name=vinasciig7withtable2 mapset=g7
 D1/3: V1_open_new_nat(): name = vinasciig7withtable2
 D1/3: Vect_get_thresh(): thresh = 0.000000
 D1/3: dig__write_head()
 D1/3: write coor size (9850026457038848) to head
 D2/3: coor body offset 17179869202
 D3/3: dig_init_plus()
 D3/3: dig_cidx_init()
 D1/3: Vect_open_sidx(): name = vinasciig7withtable2 mapset=
 g7 mode = new
 D2/3: G__read_Cell_head
 D2/3: G__read_Cell_head_array
 D3/3: region item: proj:       99
 D3/3: region item: zone:       0
 D3/3: region item: north:      228500
 D3/3: region item: south:      215000
 D3/3: region item: east:       645000
 D3/3: region item: west:       630000
 D3/3: region item: cols:       1500
 D3/3: region item: rows:       1350
 D3/3: region item: e-w resol:  10
 D3/3: region item: n-s resol:  10
 D3/3: region item: top:        1
 D3/3: region item: bottom:     0
 D3/3: region item: cols3:      1500
 D3/3: region item: rows3:      1350
 D3/3: region item: depths:     1
 D3/3: region item: e-w resol3: 10
 D3/3: region item: n-s resol3: 10
 D3/3: region item: t-b resol:  1
 D3/3: Vect_hist_command()
 D3/3: G_recreate_command()
 Scanne die Eingabe zur Ermittelung der Spaltentypen...
 D3/3: row 1 : 45 chars
 D3/3: row 2 : 45 chars
 D3/3: row 3 : 38 chars
 D3/3: row 4 : 38 chars
 D3/3: row 5 : 46 chars
 D3/3: row 6 : 47 chars
 D3/3: row 7 : 40 chars
 D3/3: row 8 : 41 chars
 D3/3: row 9 : 38 chars
 D3/3: row 10 : 39 chars
 D3/3: row 11 : 38 chars
 D3/3: row 12 : 39 chars
 D3/3: row 13 : 39 chars
 D3/3: row 14 : 39 chars
 D3/3: row 15 : 42 chars
 D3/3: row 16 : 42 chars
 D3/3: row 17 : 42 chars
 D3/3: row 18 : 42 chars
 D3/3: row 19 : 42 chars
 D3/3: row 20 : 42 chars
 D3/3: row 21 : 42 chars
 D3/3: row 22 : 42 chars
 D3/3: row 23 : 41 chars
 D3/3: row 24 : 42 chars
 D3/3: row 25 : 42 chars
 D3/3: row 26 : 42 chars
 D3/3: row 27 : 42 chars
 D3/3: row 28 : 41 chars
 D3/3: row 29 : 41 chars
 D3/3: row 30 : 45 chars
 D3/3: row 31 : 45 chars
 D3/3: row 32 : 42 chars
 D3/3: row 33 : 41 chars
 D3/3: row 34 : 42 chars
 D3/3: row 35 : 42 chars
 D3/3: row 36 : 42 chars
 D3/3: row 37 : 45 chars
 D3/3: row 38 : 46 chars
 D3/3: row 39 : 46 chars
 D3/3: row 40 : 42 chars
 D3/3: row 41 : 46 chars
 D3/3: row 42 : 46 chars
 D3/3: row 43 : 42 chars
 D3/3: row 44 : 42 chars
 D3/3: row 45 : 42 chars
 D3/3: row 46 : 42 chars
 D3/3: row 47 : 42 chars
 D3/3: row 48 : 42 chars
 D3/3: row 49 : 41 chars
 D3/3: row 50 : 42 chars
 D3/3: row 51 : 42 chars
 D3/3: row 52 : 39 chars
 D3/3: row 53 : 37 chars
 D3/3: row 54 : 42 chars
 D3/3: row 55 : 42 chars
 D3/3: row 56 : 42 chars
 D3/3: row 57 : 41 chars
 D3/3: row 58 : 42 chars
 D3/3: row 59 : 41 chars
 D3/3: row 60 : 46 chars
 D3/3: row 61 : 38 chars
 D3/3: row 62 : 46 chars
 D3/3: row 63 : 41 chars
 D3/3: row 64 : 41 chars
 D3/3: row 65 : 48 chars
 D3/3: row 66 : 45 chars
 D3/3: row 67 : 42 chars
 D3/3: row 68 : 42 chars
 D3/3: row 69 : 39 chars
 D3/3: row 70 : 47 chars
 D3/3: row 71 : 48 chars
 Maximale Länge der Inputzeile: 49
 Maximale Anzahl der Spalten: 4
 Minimale Anzahl der Spalten: 4
 D1/3: Vect_default_field_info(): map = vinasciig7withtable2
 field = 1
 D2/3: drv = sqlite db =
 $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite.db
 D3/3: Vect_subst_var(): in =
 $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite.db, map =
 vinasciig7withtable2, mapset = g7
 D3/3:   -> C:\gisdata\grassdata/nc_spm_08/g7/sqlite.db
 D3/3: db_start_driver_open_database():
   drvname = sqlite, dbname =
 C:\gisdata\grassdata/nc_spm_08/g7/sqlite.db
 D2/3: dbDbmscap(): opendir [C:\Program
 Files\GRASS-70-SVN\driver\db\]
 D3/3: win_spawn: args = C:\windows\system32\cmd.exe /c
 ""C:\Program Files\GRASS-70-SVN\driver\db\sqlite.exe""
 D3/3:
 db_driver_open_database()
 D3/3: name = 'C:\gisdata\grassdata/nc_spm_08/g7/sqlite.db'
 D2/3: name2 = 'C:\gisdata\grassdata/nc_spm_08/g7/sqlite.db'
 D3/3: execute: BEGIN
 Column: 1  type: double
 Column: 2  type: double
 Column: 3  type: integer
 Column: 4  type: string length: 13
 D3/3: Field number <1>, name <(null)>
 D3/3: Vect_check_dblink: field 1, name vinasciig7withtable2
 D1/3: Vect_write_dblinks(): map = vinasciig7withtable2,
 mapset = g7
 D1/3: dbln file: C:\gisdata\grassdata/nc_spm_08/g7/vector/vi
 nasciig7withtable2/dbln
 D1/3: 1/vinasciig7withtable2|vinasciig7withtable2|cat|$GISDB
 ASE/$LOCATION_NAME/$MAPSET/sqlite.db|sqlite
 D1/3: Dblinks written
 D3/3: create table vinasciig7withtable2 ( cat integer, dbl_1
 double precision, dbl_2 double precision, int_1 integer,
 str_1 varchar(13) )
 D3/3: execute: create table vinasciig7withtable2 ( cat
 integer, dbl_1 double precision, dbl_2 double precision,
 int_1 integer, str_1 varchar(13) )
 D3/3: db__create_index()
 D3/3:  SQL: create unique index vinasciig7withtable2_cat on
 vinasciig7withtable2 ( cat )
 D1/3: Vect_write_dblinks(): map = vinasciig7withtable2,
 mapset = g7
 D1/3: dbln file: C:\gisdata\grassdata/nc_spm_08/g7/vector/vi
 nasciig7withtable2/dbln
 D1/3: Dblinks written
 D3/3: Field number <1>, name <(null)>
 D3/3: Vect_check_dblink: field 1, name vinasciig7withtable2
 D1/3: Vect_write_dblinks(): map = vinasciig7withtable2,
 mapset = g7
 D1/3: dbln file: C:\gisdata\grassdata/nc_spm_08/g7/vector/vi
 nasciig7withtable2/dbln
 D1/3: 1/vinasciig7withtable2|vinasciig7withtable2|cat|$GISDB
 ASE/$LOCATION_NAME/$MAPSET/sqlite.db|sqlite
 D1/3: Dblinks written
 Importiere Punkte...
 D3/3: Vect_write_line(): name = vinasciig7withtable2, format
 = 0, level = 1
 D3/3: insert into vinasciig7withtable2 values ( 1,
 620856.95858763, 230066.38313211, 1, 'Morrisville')
 D3/3: execute: insert into vinasciig7withtable2 values ( 1,
 620856.95858763, 230066.38313211, 1, 'Morrisville')
 D3/3: Vect_write_line(): name = vinasciig7withtable2, format
 = 0, level = 1
 D3/3: insert into vinasciig7withtable2 values ( 2,
 625331.91859749, 229990.82160763, 2, 'Morrisville')
 D3/3: execute: insert into vinasciig7withtable2 values ( 2,
 625331.91859749, 229990.82160763, 2, 'Morrisville')
 D3/3: Vect_write_line(): name = vinasciig7withtable2, format
 = 0, level = 1
 D3/3: insert into vinasciig7withtable2 values ( 3,
 615797.66547487, 213363.99261983, 3, 'Apex')
 D3/3: execute: insert into vinasciig7withtable2 values ( 3,
 615797.66547487, 213363.99261983, 3, 'Apex')
 D3/3: Vect_write_line(): name = vinasciig7withtable2, format
 = 0, level = 1
 D3/3: insert into vinasciig7withtable2 values ( 4,
 623113.71424165, 219859.06222161, 4, 'Apex')
 D3/3: execute: insert into vinasciig7withtable2 values ( 4,
 623113.71424165, 219859.06222161, 4, 'Apex')
 D3/3: Vect_write_line(): name = vinasciig7withtable2, format
 = 0, level = 1
 D3/3: insert into vinasciig7withtable2 values ( 5,
 627926.28432081, 203208.6160536, 5, 'Fuquay-Varina')
 D3/3: execute: insert into vinasciig7withtable2 values ( 5,
 627926.28432081, 203208.6160536, 5, 'Fuquay-Varina')
 [...]
 D3/3: execute: insert into vinasciig7withtable2 values ( 67,
 651050.34524882, 232036.68777768, 67, 'Raleigh')
 D3/3: Vect_write_line(): name = vinasciig7withtable2, format
 = 0, level = 1
 D3/3: insert into vinasciig7withtable2 values ( 68,
 649833.80593756, 219907.29347997, 68, 'Raleigh')
 D3/3: execute: insert into vinasciig7withtable2 values ( 68,
 649833.80593756, 219907.29347997, 68, 'Raleigh')
 D3/3: Vect_write_line(): name = vinasciig7withtable2, format
 = 0, level = 1
 D3/3: insert into vinasciig7withtable2 values ( 69,
 622136.90859827, 220306.42922513, 69, 'Apex')
 D3/3: execute: insert into vinasciig7withtable2 values ( 69,
 622136.90859827, 220306.42922513, 69, 'Apex')
 D3/3: Vect_write_line(): name = vinasciig7withtable2, format
 = 0, level = 1
 D3/3: insert into vinasciig7withtable2 values ( 70,
 625889.8783814, 211478.01839282, 70, 'Holly Springs')
 D3/3: execute: insert into vinasciig7withtable2 values ( 70,
 625889.8783814, 211478.01839282, 70, 'Holly Springs')
 D3/3: Vect_write_line(): name = vinasciig7withtable2, format
 = 0, level = 1
 D3/3: insert into vinasciig7withtable2 values ( 71,
 623658.64334595, 209478.24330292, 71, 'Holly Springs')
 D3/3: execute: insert into vinasciig7withtable2 values ( 71,
 623658.64334595, 209478.24330292, 71, 'Holly Springs')
 D3/3: execute: COMMIT
 D3/3: db_close_database()
 Fülle Tabelle...
 D2/3: db_close_database() result: 0  (0 means success)
 D2/3: db_shutdown_driver() failed
 ERROR: Could not close attribute table. The DBMI driver did not accept all
 attributes.
 }}}

 also here again the following message about the dbmi-driver:

 {{{
 ERROR: Could not close attribute table. The DBMI driver did not accept all
 attributes.
 }}}

 '''BUT''' the ascii-vector-data (also the table-data) is imported, you can
 add the imported data in the map display and are able to open the
 attribute table in the attribute table manager.

 Helmut

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/1159#comment:11>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list