[Gfoss] spatialite difference
Luca Delucchi
lucadeluge a gmail.com
Gio 28 Apr 2011 17:17:59 CEST
Il 28 aprile 2011 13:07, <a.furieri a lqt.it> ha scritto:
> direi che a te serve la ST_Intersection(), che invece
> valuta due geometrie e ritorna la porzione comune ad
> entrambe; quindi nel tuo caso 'taglia via' le porzioni
> di uso_suolo fuori provincia.
>
ok, ma avendo solo la geometria corretta della provincia a fianco mi
sono creato la geometria inversa.... speravo che differenze fosse la
soluzione adatta
>
> N.B. se usi brutalmente CREATE TABLE .. AS SELECT ..
> troverai inizialmente dei generici BLOB: per ottenere
> delle 'vere' geometrie dovrai poi eseguire:
> SELECT RecoverGeometryColumn()
> e la colonna geom avrà un nome orribile :-(
>
> molto meglio se prima ti crei a modo la tavola
> target con la sua geometria, e poi esegui:
> INSERT INTO ... (...)
> SELECT .... FROM ...;
>
ok
Risolto il problema precedente ho provato allora a fare un
merge/patch/union delle due tabelle ma ho ricevuto uno strano errore,
non so però se la query è corretta
spatialite> create table uso_suolo_union(
...> pk INTEGER PRIMARY KEY AUTOINCREMENT,
...> codice_baldo TEXT NOT NULL);
spatialite> select
addgeometrycolumn('uso_suolo_union','geometry',32632,'POLYGON','XY',1)
...> ;
addgeometrycolumn('uso_suolo_union','geometry',32632,'POLYGON','XY',1)
1
insert into uso_suolo_union(codice_baldo,geometry) select
a.codice_baldo, GUnion(a.Geometry,b.Geometry) from
uso_suolo_verona2007 as a, uso_suolo_trentino2008 as b union all
select b.codice_baldo, GUnion(a.Geometry,b.Geometry) from
uso_suolo_trentino2008 as b, uso_suolo_verona2007 as a;
> ciao Sandro
>
--
ciao e grazie
Luca
http://gis.cri.fmach.it/delucchi/
www.lucadelu.org
Maggiori informazioni sulla lista
Gfoss