[Gfoss] Export PostGIS - SpatiaLITE

Totò Fiandaca pigrecoinfinito a gmail.com
Mer 7 Feb 2018 18:25:41 CET


Vorrei esprimere la mia gratitudine a Andrea Peri e Alessandro Furieri per
le spiegazioni, chiare ed efficaci.

Ho fatto delle prove sul db messo a disposizione da Massimiliano, seguendo
i consigli di Furieri, tutto funziona alla perfezione.

grazie

forse scriverò un articolo su questo thread.

saluti




Il giorno 7 febbraio 2018 12:53, <a.furieri a lqt.it> ha scritto:

> On Wed, 7 Feb 2018 12:06:06 +0100, Totò Fiandaca wrote:
>
>> correggetemi se dico fesserie:
>>
>> una soluzione sarebbe quella di aggiungere un altro campo geometry (es:
>> geom, definirlo per bene) alle tabelle e popolarle con la geometria con un
>> UPDATE.
>>
>> credo funzioni.
>>
>>
> si, dovrebbe funzionare, ma il percorso da seguire per
> fare un lavoro ben fatto e' un po' piu' complesso:
>
> - per prima cosa occorre verificare cosa contiene
>   esattamente il dataset; basta eseguire la seguente
>   query SQL:
>
> SELECT Count(*), GeometryType(geom), Srid(geom), CoordDimension(geom)
> FROM table
> GROUP BY 2, 3, 4;
>
> n.b. chi usa spatialite_gui puo' usare direttamente
> il tool "check geometries" dal menu associato a quella
> particolare colonna-geometria.
>
> - a questo punto tutto dipende dai risultati della
>   query precedente.
>
> caso #1
> ===============
> nel resultset appare una singola riga.
> basta creare la seconda colonna-geometria con gli
> argomenti appropriati, p.es.
>
> SELECT AddGeometryColumn('table', 'geom2', srid, 'POINT', 'XY');
>
> a questo punto si procede direttamente al popolamento
> della nuova colonna-geometria:
>
> UPDATE table SET geom2 = geom;
>
>
> caso #2
> ===============
> nel resultset appaiono un paio di righe, ma
> tutte con il medesimo modello dimensionale e
> con tipi geometrici compatibili, uno di tipo
> single-part e l'altro di tipo multi-part
> (p.es. POINT e MULTIPOINT, oppure POLYGON
> e MULTIPOLYGON).
>
> a questo punto occorre creare la seconda
> colonna-geometria stando ben attenti a
> specificare il MultiType:
>
> SELECT AddGeometryColumn('table', 'geom2', srid, 'MULTIPOLYGON', 'XY');
>
> infine si procede al popolamento della
> seconda colonna-geometria applicando un
> opportuno operatore di cast, tale da
> forzare il geometry-type per uniformare
> tutte le geometrie al caso multi-part:
>
> UPDATE table SET geom2 = CastToMultiPolygon(geom);
>
>
> caso #3
> ===============
> nel resultset appaiono svariate righe, con
> geometry-type incompatibili (p.es. POINT,
> LINESTRING e MULTIPOLYGON).
>
> in questo caso non e' possibile procedere
> ad una conversione diretta, andranno create
> tante colonne-geometria quanti sono i
> geometry-types, e durante la fase di popolamento
> le geometrie andranno opportunamente filtrate
> in base al tipo.
>
> ciao Sandro
>
>
> poi, il provider spatialite di QGIS vedrebbe due colonne geometriche dello
>> stesso strato.
>>
>> _______________________________________________
> Gfoss a lists.gfoss.it
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 796 iscritti al 28/12/2017
>



-- 
*Ing. Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *pigrecoinfinito a gmail.com <pigrecoinfinito a gmail.com>*
*C.F*.: FNDSVT71E29Z103G
*P.IVA*: 06597870820
*membro QGIS Italia - http://qgis.it/ <http://qgis.it/>*
*socio GFOSS.it - *http://gfoss.it/
*blog:*
* https://pigrecoinfinito.wordpress.com/
<https://pigrecoinfinito.wordpress.com/> FB: Co-admin
- https://www.facebook.com/qgis.it/ <https://www.facebook.com/qgis.it/>**
<https://www.facebook.com/qgis.it/> *
*FB: moderatore - **https://www.facebook.com/groups/GisItalia/
<https://www.facebook.com/groups/GisItalia/>**
<https://www.facebook.com/groups/GisItalia/> *
*TW:  <http://goog_95411464>**https://twitter.com/totofiandaca
<https://twitter.com/totofiandaca>*

43°51'0.54"N  10°34'27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

Questo documento, allegati inclusi, contiene informazioni di proprietà di
FIANDACA SALVATORE e deve essere utilizzato esclusivamente dal destinatario
in relazione alle finalità per le quali è stato ricevuto. E' vietata
qualsiasi forma di riproduzione o divulgazione senza l'esplicito consenso
di FIANDACA SALVATORE. Qualora fosse stato ricevuto per errore si prega di
informare tempestivamente il mittente e distruggere la copia in proprio
possesso.


Maggiori informazioni sulla lista Gfoss