[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