Devi forzare la geometria in modo che rispetti i constraint di dimensioni (2-3-4D) e tipo di geometria (POLYGON o MULTIPOLYGON). Solo in questo modo puoi correggere in maniera ottimale le geometrie e farle diventare valide all'interno della tabella... Ti riporto di nuovo la query che ti avevo scritto poco fa...

*update schema.tabella set the_geom = ST_Multi(ST_force_4d(ST_Buffer(the_geom,0)))*

La mia tabella è 4D di tipo MULTIPOLYGON. La query forza la geometria perchè rimanga Multipolygon e 4D, applica un buffer di 0 sulle geometrie. quelle corrotte vengono corrette.

Occhio che le geometrie potrebbero cambiare. Fai prima una select e guarda come cambierebbe la geometria.

La cosa funziona solo per i poligoni. Per le linee o vai in editing da un Desktop GIS e modifichi a mano la geometria oppure devi eliminarla


Pietro d'Orio

Il 05/05/2011 13:13, aperi2007 ha scritto:
Il 05/05/2011 12:53, Luca Mandolesi ha scritto:
Ciao Andrea, e grazie dei preziosi consigli....

La cosa strana è che al momento ho ripassato a mano tutte le tabelle e non vi sono più errori!!!

ma il back up si pianta lo stesso....possibile???

evidentemente lo e' ...

conoscerlo in dettaglio rappresenterebbe un utilissimo
"caso d'uso".

Sospetto che in qualche maniera e involontariamente hai fatto entrare nel DB una geometria che e' incompatibile con le strutture della tua versione di DB.
Ma anche cosi' i dubbi sono svariati ...

Le tabelle di cui tenti il dump sono in public o in altro schema ?

Per il futuro ti consiglio di non metterei mai le tue tabelle in "public", ma piuttosto creati un altro schema e metti tutto li' dentro, lasciando public solo alle tabelle che installa direttamente postgis.

Al riguardo questo blog di Ramsey e' veramente illuminante.
http://blog.cleverelephant.ca/2010/09/postgis-back-up-restore.html

In merito alla tua richiesta:

Come faccio a capire in quale tabella? C'è modo di fare un loop
dell'istruzione select * from miatabella where ST_IsValid(the_geom)=false su
tutte le tabelle del DB oppure devo rifarla su tutte una per una?

Io ne ho gia' una che fa' questo genere di cose..

Se ti fa comodo posso girartela.


Andrea.


_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[email protected]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[email protected]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011

Rispondere a