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

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@tiscali.it
Data: 10/05/2012 10.19
A:
<neteler@osgeo.org>
Cc: "Mailing List Gfoss (ita)"<gfoss@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@osgeo.org
Data: 09/05/2012 23.13
A: "marco.

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

(ita)"<gfoss@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@tiscali.it <marco.donnini@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/