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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

marco.donnini@tiscali.it
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: [hidden email]
Data: 09/05/2012 23.13
A: "marco.
[hidden email]"<[hidden email]>
Cc: "Mailing List Gfoss
(ita)"<[hidden email]>
Ogg: Re: [Gfoss] da character (99) a
character (1) e conseguente problema in v.patch

Ciao Marco,

2012/5/9
[hidden email] <[hidden email]>:
> 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/
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
584 iscritti al 7.4.2012