Salve a tutti!
Ho fatto una verifica topologica di un vettore poligonale che mi ha restituito una geometria non valida. Così sono passato in PostGIS ed ho provato ad usare lo script che segue per correggerlo: UPDATE perimetrazione SET geometry = ST_MakeValid(geometry); Il risultato però è stato il seguente: ERROR: ERRORE: Geometry type (GeometryCollection) does not match column type (MultiPolygon) SQL state: 22023 Come faccio ad effettuare questa conversione di tipologia di colonna geometrica? In origine il vettore era in formato GeoPackage e chi ha editato il vettore lo ha fatto in quel formato e con QGIS 3. Il vettore l'ho creato io e gliel'ho passato(vuoto) con QGIS 2.18, la persona che sta eseguendo l'editing aveva la 2.14 e la prima volta che ho incontrato l'errore di sopra credevo dipendesse da una problematica della versione 2.14 perciò gli ho fatto installare la 3. ----- Ingegnere, consulente GIS e ciclista urbano -- Sent from: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/ _______________________________________________ [hidden email] 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
Consulente GIS, Formatore, Blogger e Ciclista Urbano
email: info@massimilianomoraca.it
cell: 333 5949583 (lun-ven, 9.00-18.00)
website: massimilianomoraca.it
|
Il fatto ch emerga una collezione a fronte di una elaborazione, non è un
difetto , ma una logica conseguenza matematica causata dalle geometrie coinvolte causata anche dal fatto che si opera in un ambiente a precisione finita. La.makevalid devi nidificarla con quella che forza unancollection e poi il tutto modificarlo in quella che estrae la componente poligonale dalla collezione. Se serve posso inviarti la sequenza SQL. A. Il Sab 12 Mag 2018, 13:52 Massimiliano Moraca <[hidden email]> ha scritto: > Salve a tutti! > Ho fatto una verifica topologica di un vettore poligonale che mi ha > restituito una geometria non valida. > Così sono passato in PostGIS ed ho provato ad usare lo script che segue per > correggerlo: > > UPDATE perimetrazione > SET geometry = ST_MakeValid(geometry); > > Il risultato però è stato il seguente: > > ERROR: ERRORE: Geometry type (GeometryCollection) does not match column > type (MultiPolygon) > > > SQL state: 22023 > > Come faccio ad effettuare questa conversione di tipologia di colonna > geometrica? > In origine il vettore era in formato GeoPackage e chi ha editato il vettore > lo ha fatto in quel formato e con QGIS 3. Il vettore l'ho creato io e > gliel'ho passato(vuoto) con QGIS 2.18, la persona che sta eseguendo > l'editing aveva la 2.14 e la prima volta che ho incontrato l'errore di > sopra > credevo dipendesse da una problematica della versione 2.14 perciò gli ho > fatto installare la 3. > > ----- > Ingegnere, consulente GIS e ciclista urbano > -- > Sent from: > http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/ > _______________________________________________ > [hidden email] > 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 [hidden email] 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 |
Andrea grazie per la risposta, si se puoi mi invieresti un esempio?
Il giorno 12 maggio 2018 14:04, Andrea Peri <[hidden email]> ha scritto: > Il fatto ch emerga una collezione a fronte di una elaborazione, non è un > difetto , ma una logica conseguenza matematica causata dalle geometrie > coinvolte causata anche dal fatto che si opera in un ambiente a precisione > finita. > > La.makevalid devi nidificarla con quella che forza unancollection e poi il > tutto modificarlo in quella che estrae la componente poligonale dalla > collezione. > > Se serve posso inviarti la sequenza SQL. > > A. > > > Il Sab 12 Mag 2018, 13:52 Massimiliano Moraca < > [hidden email]> ha scritto: > >> Salve a tutti! >> Ho fatto una verifica topologica di un vettore poligonale che mi ha >> restituito una geometria non valida. >> Così sono passato in PostGIS ed ho provato ad usare lo script che segue >> per >> correggerlo: >> >> UPDATE perimetrazione >> SET geometry = ST_MakeValid(geometry); >> >> Il risultato però è stato il seguente: >> >> ERROR: ERRORE: Geometry type (GeometryCollection) does not match column >> type (MultiPolygon) >> >> >> SQL state: 22023 >> >> Come faccio ad effettuare questa conversione di tipologia di colonna >> geometrica? >> In origine il vettore era in formato GeoPackage e chi ha editato il >> vettore >> lo ha fatto in quel formato e con QGIS 3. Il vettore l'ho creato io e >> gliel'ho passato(vuoto) con QGIS 2.18, la persona che sta eseguendo >> l'editing aveva la 2.14 e la prima volta che ho incontrato l'errore di >> sopra >> credevo dipendesse da una problematica della versione 2.14 perciò gli ho >> fatto installare la 3. >> >> ----- >> Ingegnere, consulente GIS e ciclista urbano >> -- >> Sent from: http://gfoss-geographic-free-and-open-source-software- >> italian-mailing.3056002.n2.nabble.com/ >> _______________________________________________ >> [hidden email] >> 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 > > [hidden email] 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
Consulente GIS, Formatore, Blogger e Ciclista Urbano
email: info@massimilianomoraca.it
cell: 333 5949583 (lun-ven, 9.00-18.00)
website: massimilianomoraca.it
|
In reply to this post by Massimiliano Moraca
Noto tra l'altro che se attivo l'editing non funziona l'impostazione
topologica di evita intersezioni se creo nuovi poligoni a partire da quelli confinanti con la geometria non valida. Questo problema lo riscontro sia in QGIS 2.18 che in 3 e sia che uso il geopackage che lo shapefile. ----- Ingegnere, consulente GIS e ciclista urbano -- Sent from: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/ _______________________________________________ [hidden email] 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
Consulente GIS, Formatore, Blogger e Ciclista Urbano
email: info@massimilianomoraca.it
cell: 333 5949583 (lun-ven, 9.00-18.00)
website: massimilianomoraca.it
|
In reply to this post by Massimiliano Moraca
Ecco.
Questa la ho adattata da quella che uso su spatialite. update tabella set geometry = ST_Multi(ST_CollectionExtract(ST_ForceCollection(ST_MakeValid(geometry)),3)) where ST_IsValid(geometry)=false; Se la geometria nel campo "geometry" e' polygon e non multipolygon, devi levare il comando ST_Multi(..) esterno. A. Il giorno 12 maggio 2018 14:12, Massimiliano Moraca < [hidden email]> ha scritto: > Andrea grazie per la risposta, si se puoi mi invieresti un esempio? > > Il giorno 12 maggio 2018 14:04, Andrea Peri <[hidden email]> ha > scritto: > >> Il fatto ch emerga una collezione a fronte di una elaborazione, non è un >> difetto , ma una logica conseguenza matematica causata dalle geometrie >> coinvolte causata anche dal fatto che si opera in un ambiente a precisione >> finita. >> >> La.makevalid devi nidificarla con quella che forza unancollection e poi >> il tutto modificarlo in quella che estrae la componente poligonale dalla >> collezione. >> >> Se serve posso inviarti la sequenza SQL. >> >> A. >> >> >> Il Sab 12 Mag 2018, 13:52 Massimiliano Moraca < >> [hidden email]> ha scritto: >> >>> Salve a tutti! >>> Ho fatto una verifica topologica di un vettore poligonale che mi ha >>> restituito una geometria non valida. >>> Così sono passato in PostGIS ed ho provato ad usare lo script che segue >>> per >>> correggerlo: >>> >>> UPDATE perimetrazione >>> SET geometry = ST_MakeValid(geometry); >>> >>> Il risultato però è stato il seguente: >>> >>> ERROR: ERRORE: Geometry type (GeometryCollection) does not match column >>> type (MultiPolygon) >>> >>> >>> SQL state: 22023 >>> >>> Come faccio ad effettuare questa conversione di tipologia di colonna >>> geometrica? >>> In origine il vettore era in formato GeoPackage e chi ha editato il >>> vettore >>> lo ha fatto in quel formato e con QGIS 3. Il vettore l'ho creato io e >>> gliel'ho passato(vuoto) con QGIS 2.18, la persona che sta eseguendo >>> l'editing aveva la 2.14 e la prima volta che ho incontrato l'errore di >>> sopra >>> credevo dipendesse da una problematica della versione 2.14 perciò gli ho >>> fatto installare la 3. >>> >>> ----- >>> Ingegnere, consulente GIS e ciclista urbano >>> -- >>> Sent from: http://gfoss-geographic-free-and-open-source-software-italia >>> n-mailing.3056002.n2.nabble.com/ >>> _______________________________________________ >>> [hidden email] >>> 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 >> >> > -- ----------------- Andrea Peri . . . . . . . . . qwerty àèìòù ----------------- _______________________________________________ [hidden email] 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 |
Grazie mille funziona e naturalmente si è risolto anche il problema in
editing. Buona serata :) Il giorno 12 maggio 2018 22:33, Andrea Peri <[hidden email]> ha scritto: > Ecco. > Questa la ho adattata da quella che uso su spatialite. > > update tabella set geometry = ST_Multi(ST_CollectionExtract( > ST_ForceCollection(ST_MakeValid(geometry)),3)) where > ST_IsValid(geometry)=false; > > Se la geometria nel campo "geometry" e' polygon e non multipolygon, devi > levare il comando ST_Multi(..) esterno. > > A. > > > > Il giorno 12 maggio 2018 14:12, Massimiliano Moraca < > [hidden email]> ha scritto: > >> Andrea grazie per la risposta, si se puoi mi invieresti un esempio? >> >> Il giorno 12 maggio 2018 14:04, Andrea Peri <[hidden email]> ha >> scritto: >> >>> Il fatto ch emerga una collezione a fronte di una elaborazione, non è un >>> difetto , ma una logica conseguenza matematica causata dalle geometrie >>> coinvolte causata anche dal fatto che si opera in un ambiente a precisione >>> finita. >>> >>> La.makevalid devi nidificarla con quella che forza unancollection e poi >>> il tutto modificarlo in quella che estrae la componente poligonale dalla >>> collezione. >>> >>> Se serve posso inviarti la sequenza SQL. >>> >>> A. >>> >>> >>> Il Sab 12 Mag 2018, 13:52 Massimiliano Moraca < >>> [hidden email]> ha scritto: >>> >>>> Salve a tutti! >>>> Ho fatto una verifica topologica di un vettore poligonale che mi ha >>>> restituito una geometria non valida. >>>> Così sono passato in PostGIS ed ho provato ad usare lo script che segue >>>> per >>>> correggerlo: >>>> >>>> UPDATE perimetrazione >>>> SET geometry = ST_MakeValid(geometry); >>>> >>>> Il risultato però è stato il seguente: >>>> >>>> ERROR: ERRORE: Geometry type (GeometryCollection) does not match >>>> column >>>> type (MultiPolygon) >>>> >>>> >>>> SQL state: 22023 >>>> >>>> Come faccio ad effettuare questa conversione di tipologia di colonna >>>> geometrica? >>>> In origine il vettore era in formato GeoPackage e chi ha editato il >>>> vettore >>>> lo ha fatto in quel formato e con QGIS 3. Il vettore l'ho creato io e >>>> gliel'ho passato(vuoto) con QGIS 2.18, la persona che sta eseguendo >>>> l'editing aveva la 2.14 e la prima volta che ho incontrato l'errore di >>>> sopra >>>> credevo dipendesse da una problematica della versione 2.14 perciò gli ho >>>> fatto installare la 3. >>>> >>>> ----- >>>> Ingegnere, consulente GIS e ciclista urbano >>>> -- >>>> Sent from: http://gfoss-geographic-free-and-open-source-software-italia >>>> n-mailing.3056002.n2.nabble.com/ >>>> _______________________________________________ >>>> [hidden email] >>>> 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 >>> >>> >> > > > -- > ----------------- > Andrea Peri > . . . . . . . . . > qwerty àèìòù > ----------------- > [hidden email] 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
Consulente GIS, Formatore, Blogger e Ciclista Urbano
email: info@massimilianomoraca.it
cell: 333 5949583 (lun-ven, 9.00-18.00)
website: massimilianomoraca.it
|
Free forum by Nabble | Edit this page |