[Gfoss] shp2pgsql: come verificare la validità delle geometrie prima dell'import?

Luca Delucchi lucadeluge a gmail.com
Ven 8 Apr 2011 00:19:16 CEST


Il 07 aprile 2011 23:45, Amedeo Fadini <fame a libero.it> ha scritto:
> Buongiorno lista,
> mi trovo con uno shape con circa 20mila poligoni (fabbricati da CTR)
> che non riesco ad importare in postgis (8.3) perchè ci sono alcune
> geometrie invalide e mi restituisce l'errore
> "geometry contains non-closed rings"
>
> la cosa strana è che se uso il comando controlla validità geometria di
> ftools in qgis (1.6.0) non mi segnala questi errori ma altri (vertici
> duplicati)
>
> sto cercando un modo veloce per ottenere una lista delle geometrie non
> valide: quando lancio psql -f stampa il numero di riga in cui compare
> l'errore, ma il file .sql è molto lungo e diviso in più blocchi
> per ora ho pensato di modificare il file sql ottenuto da shp2pgsql e
> controllare la validità di ogni riga con ST_IsValid, ma dovendo
> automatizzare l'intero processo (caricamento shape e alcune operazioni
> sulle tabelle) mi chiedo se c'è un sistema migliore.. non dovrei
> trovare i numeri di riga anche nel log di postgresql?
>
> Se qualcuno ha un consiglio, grazie di cuore
>

visto che tutti dicono la loro butto giù anch'io quello che farei....
lanciare grass e creare una bella location con il sistema di
riferimento giusto (se non ne hai già una)

- v.in.ogr
- v.build/v.clean
- v.out.ogr direttamente dentro il tuo postgis

> Amedeo

PS che bello, quante possibili alternative tutte validissime....

-- 
ciao
Luca

http://gis.cri.fmach.it/delucchi/
www.lucadelu.org


Maggiori informazioni sulla lista Gfoss