[Gfoss] Postgres e ... geometry contains non-closed rings

aperi2007 aperi2007 a gmail.com
Gio 5 Maggio 2011 12:49:08 CEST


>azzz....non mi permette nemmeno di fare il backup della singola tabella ...
>e ora....provo ad esportare come shape da qgis

Mi permetto di darti qualche suggerimento,
ma prima alcuni avvertimenti:

Non conosco il tuo DB, ma fai attenzione che esportando su shapefile potresti avere delle differenze intollerabili.

lo shapefile non consente campi piu' lunghi di 255 caratteri e tutto cio' in piu' viene troncato.
La somma dei contenuti di un record su un dbf non deve superare i 2Kbyte.

I nomi dei campi vengono troncati a 10 caratteri.

Inoltre, ci sono delle differenze nelle strutturazione delle geometrie ammissibili.

In merito a come fare il recupero delle geometrie io opererei cosi':

io piuttosto che qgis, per esportare da postgis vista la situazione di emergenza,
scaricherei l'ultimissima versione stabile di gdal (1.8) e userei quella direttamente.

con la sintassi:

ogr2ogr.exe -f "ESRI Shapefile" tabella.shp -progress PG:"dbname='nome_database' active_schema=schema_db schemas=schema_db,public host='localhost' port='5432' user='username' password='password' " -sql "select * from tabella where ST_IsValid(geom)=true"

In particolare fai attenzione alla stringa sql:

prima ti scarichi tutto cio' che e' valido usando come stringa sql:

"select * from tabella where ST_IsValid(geom)=true"

poi in altra cartella ti scarichi tutto quello che non e' valido, con questa altra sintassi

"select * from tabella where ST_IsValid(geom)=false"

cosi' , ammesso che te le scarichi su shapefile, hai le invalidita' da una parte e puoi lavorarle meglio...

auguri...

Andrea.






Maggiori informazioni sulla lista Gfoss