[Gfoss] R: Re: da character (99) a character (1) e conseguente problema in v.patch

marco.donnini a tiscali.it marco.donnini a tiscali.it
Ven 11 Maggio 2012 10:52:20 CEST


aggiornamento relativo a:

[quote]
prima di rispondere c'è un info che 
potrebbe tornare utile: la mappa incriminata è una "clip" nel senso che 
avevo una grossa mappa alla quale ho tagliato solo la parte relativa 
alla svizzera. Ho il sospetto (ma non sono sicuro perchè non ricordo 
bene) che la clip l'ho fatta con QGIS (esporta mappa da grass -> 
importa in qgis -> clip -> importa in grass) perchè per le 
visualizzazioni e per altre operazioni preferisco lavorare in qgis.

[quote]

Il problema esiste anche nella mappa "grossa" dalla quale ho 
successivamente fatto il "clip".

saluti
marco

----Messaggio 
originale----
Da: marco.donnini a tiscali.it
Data: 10/05/2012 10.19
A: 
<neteler a osgeo.org>
Cc: "Mailing List Gfoss (ita)"<gfoss a lists.gfoss.
it>
Ogg: R: Re: [Gfoss] da character (99) a character (1) e conseguente 
problema in v.patch

Ciao Markus,

grazie mille per la risposta... 
prima di rispondere c'è 
un info che potrebbe tornare utile: la mappa 
incriminata è una "clip" 
nel senso che avevo una grossa mappa alla 
quale ho tagliato solo la 
parte relativa alla svizzera. Ho il sospetto 
(ma non sono sicuro perchè 
non ricordo bene) che la clip l'ho fatta 
con QGIS (esporta mappa da 
grass -> importa in qgis -> clip -> importa 
in grass) perchè per le 
visualizzazioni e per altre operazioni 
preferisco lavorare in qgis.

In 
merito allle tue domande, andando per 
ordine:

(1) 

ho GRASS 6.4.1, il 
SO è Ubuntu su macchina virtuale in 
un pc nel quale c'è win 7.

(2) v.
db.connect -p

su una mappa che non 
mi fa problemi: 

GRASS 6.4.1 
(utm_wgs84_32):~ > v.db.connect -p 
Geo_Germany_lito_new_diss
Vector map 
<Geo_Germany_lito_new_diss a Alpi> 
is connected by:
layer <1> table 
<Geo_Germany_lito_new_diss> in 
database 
</home/marco/DATAGRASS/utm_wgs84_32/Alpi/sqlite.db> through 
driver 
<sqlite> with key <cat>

sulla mappa incriminata: 

GRASS 
6.4.1 
(utm_wgs84_32):~ > v.db.connect -p 
Geo_Svizzera_Clip_Lito_New_Diss

Vector map 
<Geo_Svizzera_Clip_Lito_New_Diss a Alpi> is connected by:

layer <1> 
table <Geo_Svizzera_Clip_Lito_New_Diss> in database 

</home/marco/DATAGRASS/utm_wgs84_32/Alpi/sqlite.db> through driver 

<sqlite> with key <cat>

(3) v.info -h sulla mappa incriminata:

v.
info 
-h Geo_Svizzera_Clip_Lito_New_Diss
COMMAND: v.in.ogr dsn="

/media/condivisa_win/mappe_e_cartografia/Carta Geologica Semplificata 

Alpi 

utm_wgs84_32/DEFINITIVO/LITO_NEW/Geo_Svizzera_Clip_Lito_New_Diss/Geo_Svizzera_Clip_Lito_New_Diss.

shp" output="Geo_Svizzera_Clip_Lito_New_Diss" min_area=0.0001 snap=-1


GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi 

USER: marco DATE: Fri Apr 27 16:55:37 2012


-----------------------------------------------------
4506 input 

polygons
Total area: 4.09794E+10 (4487 areas)
Overlapping area: 

0.0256803 (8 areas)
Area without category: 5.47818E+06 (2 areas)


---------------------------------------------------------------------------------


COMMAND: v.db.dropcol "--q" "column=cat_" 

"map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" "layer=1"
GISDBASE: 

/home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi USER: marco 

DATE: Fri Apr 27 17:00:56 2012


---------------------------------------------------------------------------------


COMMAND: v.db.addcol "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "columns=LITO_NEW_ varchar(99)"
GISDBASE: 

/home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi USER: marco 

DATE: Wed May  9 10:26:07 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW_" "value=WATER" "where=LITO_NEW='WATER'"


GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi 

USER: marco DATE: Wed May  9 10:28:15 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW_" "value=TRIAS" "where=LITO_NEW='TRIAS'"


GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi 

USER: marco DATE: Wed May  9 10:28:55 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW_" "value=PURE CARB" "where=LITO_NEW='PURE 

CARB'"
GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: 

Alpi USER: marco DATE: Wed May  9 10:29:34 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW_" "value=PRE TRIAS" "where=LITO_NEW='PRE 

TRIAS'"
GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: 

Alpi USER: marco DATE: Wed May  9 10:30:01 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW_" "value=NON CARB" "where=LITO_NEW='NON 

CARB'"
GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: 

Alpi USER: marco DATE: Wed May  9 10:30:24 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW_" "value=MIX CARB" "where=LITO_NEW='MIX 

CARB'"
GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: 

Alpi USER: marco DATE: Wed May  9 10:30:45 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW_" "value=DEBRIS" "where=LITO_NEW='DEBRIS'"


GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi 

USER: marco DATE: Wed May  9 10:31:19 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW_" "value=BG" "where=LITO_NEW='BG'"

GISDBASE: 
/home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi 
USER: marco 
DATE: Wed May  9 10:31:37 2012


---------------------------------------------------------------------------------


COMMAND: v.db.dropcol "--q" "column=LITO_NEW" 

"map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" "layer=1"
GISDBASE: 

/home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi USER: marco 

DATE: Wed May  9 10:32:02 2012


---------------------------------------------------------------------------------


COMMAND: v.db.addcol "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "columns=LITO_NEW varchar(99)"
GISDBASE: 

/home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi USER: marco 

DATE: Wed May  9 10:33:28 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW" "value=WATER" "where=LITO_NEW_='WATER'"


GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi 

USER: marco DATE: Wed May  9 10:34:05 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW" "value=TRIAS" "where=LITO_NEW_='TRIAS'"


GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi 

USER: marco DATE: Wed May  9 10:34:38 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW" "value=PURE CARB" "where=LITO_NEW_='PURE 

CARB'"
GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: 

Alpi USER: marco DATE: Wed May  9 10:34:57 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW" "value=PRE TRIAS" "where=LITO_NEW_='PRE 

TRIAS'"
GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: 

Alpi USER: marco DATE: Wed May  9 10:35:18 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW" "value=NON CARB" "where=LITO_NEW_='NON 

CARB'"
GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: 

Alpi USER: marco DATE: Wed May  9 10:35:36 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW" "value=MIX CARB" "where=LITO_NEW_='MIX 

CARB'"
GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: 

Alpi USER: marco DATE: Wed May  9 10:35:50 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW" "value=DEBRIS" "where=LITO_NEW_='DEBRIS'"


GISDBASE: /home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi 

USER: marco DATE: Wed May  9 10:36:20 2012


---------------------------------------------------------------------------------


COMMAND: v.db.update "map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" 

"layer=1" "column=LITO_NEW" "value=BG" "where=LITO_NEW_='BG'"

GISDBASE: 
/home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi 
USER: marco 
DATE: Wed May  9 10:36:34 2012


---------------------------------------------------------------------------------


COMMAND: v.db.dropcol "--q" "column=LITO_NEW_" 

"map=Geo_Svizzera_Clip_Lito_New_Diss a Alpi" "layer=1"
GISDBASE: 

/home/marco/DATAGRASS
LOCATION: utm_wgs84_32 MAPSET: Alpi USER: marco 

DATE: Wed May  9 10:39:48 2012


grazie mille!!
Marco


----Messaggio 

originale----
Da: neteler a osgeo.org
Data: 09/05/2012 23.13
A: "marco.

donnini a tiscali.it"<marco.donnini a tiscali.it>
Cc: "Mailing List Gfoss 

(ita)"<gfoss a lists.gfoss.it>
Ogg: Re: [Gfoss] da character (99) a 

character (1) e conseguente problema in v.patch

Ciao Marco,

2012/5/9 

marco.donnini a tiscali.it <marco.donnini a tiscali.it>:
> Ciao a tutti/e
>


> ho delle mappe che vorrei unire conservando le colonne
> attributi 

(usando quindi "v.patch" settando “copy also the attribute
> table”).



Quale versione di GRASS su quale OS usi?

> Ho delle mappe che hanno 
in 
attributo:
> cat integer (20)
> LITO_NEW character (99)

che dice


v.db.
connect -p la_tua_mappa
?

> una delle mie mappe però presenta 
(non so 
per
> quale motivo)
> cat integer (20)
> LITO_NEW character 
(1)

v.info 
-h questa_mappa

ti dice come è stata creata (per capire 
il 1 byte 
length).

> e di conseguenza
> non posso lanciare "v.patch" 
settando 
“copy also the attribute table”.
>
> decido quindi:
> (1) di 
lanciare 
"v.db.addcol" e creare una colonna
> LITO_NEW_ varchar (99)
> 
(2) con 
"v.db.update" copio gli attributi di
> LITO_NEW in LITO_NEW_
> 
(3) "g.
gui gui=wxpython" -> carico in GRASS la
> mappa -> tasto dx -> 
propietà 
-> gestione delle tabelle -> seleziona
> LITO_NEW -> tasto dx 
-> 
cancella la colonna selezionata...
> vedo che la
> mia LITO_NEW_ 

character (99) mi diventa LITO_NEW_ character (1)
>
>
> [l'idea era 

quella di creare nuovamente una LITO_NEW character (99),
> con "v.db.

update" copiare nuovamente gli attributi ed elminare
> LITO_NEW_, non 

so se mi sono spiegato...]

Spiegato benissimo... non dovrebbe ridurre 

su 1 byte. Mi puzza di SQLite
driver?

> che cosa non ho considerato
> 

nelle mie operazioni??
> cosa posso fare??

... darci le risposte 
sulle 
domande di sopra.
Poi speriamo di avere una risposta.

ciao

Markus





Invita i tuoi amici e Tiscali ti premia! Il consiglio di un 
amico vale più di uno spot in TV.Per ogni nuovo abbonato 30 € di premio 
per te e per lui! Un amico al mese e parli e navighisempre gratis: http:
//freelosophy.tiscali.it/




Invita i tuoi amici e Tiscali ti premia! Il consiglio di un amico vale più di uno spot in TV.Per ogni nuovo abbonato 30 € di premio per te e per lui! Un amico al mese e parli e navighisempre gratis: http://freelosophy.tiscali.it/


Maggiori informazioni sulla lista Gfoss