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/
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 <massimilianomoraca@gmail.com>
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/
_______________________________________________
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
Andrea grazie per la risposta, si se puoi mi invieresti un esempio?
Il giorno 12 maggio 2018 14:04, Andrea Peri <aperi2007@gmail.com> 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 <
massimilianomoraca@gmail.com> 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/
_______________________________________________
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
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/
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 <
massimilianomoraca@gmail.com> ha scritto:
Andrea grazie per la risposta, si se puoi mi invieresti un esempio?
Il giorno 12 maggio 2018 14:04, Andrea Peri <aperi2007@gmail.com> 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 <
massimilianomoraca@gmail.com> 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/
_______________________________________________
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
--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
Grazie mille funziona e naturalmente si è risolto anche il problema in
editing.
Buona serata 
Il giorno 12 maggio 2018 22:33, Andrea Peri <aperi2007@gmail.com> 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 <
massimilianomoraca@gmail.com> ha scritto:
Andrea grazie per la risposta, si se puoi mi invieresti un esempio?
Il giorno 12 maggio 2018 14:04, Andrea Peri <aperi2007@gmail.com> 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 <
massimilianomoraca@gmail.com> 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/
_______________________________________________
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
--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------