Grazie a te che scrivendo articoli crei una base di letture da cui un nuovo utente può partire per navigare in questo complicato universo.
Il 07 Feb 2018 18:25, "Totò Fiandaca" <pigrecoinfin...@gmail.com> ha scritto: > 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.furi...@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@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*: *pigrecoinfin...@gmail.com <pigrecoinfin...@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. > _______________________________________________ > Gfoss@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 _______________________________________________ Gfoss@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