[Gfoss] Qgis - fallita esportazione poligoni da postgres su shapefile

Giovanni Pasini jynxtor a gmail.com
Gio 30 Set 2010 09:20:11 CEST


Io per correggere errori del tuo tipo ho usato questa funzione sql [1],
mi sembra che funzioni bene! Puoi fare una prova.

Ciao,
giovanni

[1] http://www.sogis1.so.ch/sogis/dl/postgis/cleanGeometry.sql


Il giorno Wed, 29 Sep 2010 23:07:59 +0200
Luca Mandolesi <mandoluca a gmail.com> ha scritto:

> 2010/9/29 Andrea Peri 2007 <aperi2007 a gmail.com>
> 
> >
> >
> >  Trovo le geometrie errate.
> >>
> >>
> >> A questo punto qual'è la strada migliore per correggere gli errori?
> >>
> >> Le devo riguardare una a una, per trovare tipo nodi sovrapposti,
> >> intersezioni su se stesso, ecc?
> >>
> >
> > La scelta dipende da una serie di fattori.
> >
> > Per prima cosa occorre sapere che versione di postgis hai, cosi' si
> > capisce che strumenti hai a disposizione.
> >
> 
> Sono su un server Linux installatomi da terzi, come anche postgres
> 8.4. A memoria ho postgis 1.4.
> 
> Poi quante sono le geometrie da correggere, perhce' se sono poche
> comunque
> > conviene farlo a mano, se tale soluzione e' ammissibile.
> > Infine valutare che margine di correzione si ha. Infatti,
> > correggendo le geometrie spesso si spostano vertici, se ne creano
> > di nuovi o si rimuovono alcuni dei vertici esistenti.
> > Questo pero' comporta degli spostamenti che potrebbero inficiare
> > certe esigenze (eventuali) di precisione oppure di coerenza
> > topologica, di completa copertura del territorio,
> >
> 
> Dunque, le mie geometrie sono poligoni che riprendono strati
> archeologici, quindi sono muri, buche, pavimenti, strati di terra,
> ecc., che si sovrappongono ovviamente tra di loro. Qui le geometrie
> non valide sono circa 60, quindi me la cavo bene.
> Un altro invece contiene caratterizzazioni degli strati, ciottoli,
> grumetti di calce, piccoli carboni, che essendo per lo più simboli
> convenzionali, vengono copiati e incollati, sparpagliando eventuali
> errori della geometria. Infatti qua ho qualcosa come 900 poligoni
> errati.
> 
> 
> > e cosi' via...
> >
> > Se fosse possibile farsi un dump della tabella con le geometrie
> > incriminate (non e' detto che postgis lo consenta essendoci
> > geometrie invalide). Io proverei a fare cosi':
> >
> > Io mi installarei in pochi minuti una istanza di pg con sopra la
> > postgis 2.0.0 (trovi un compilato della 2.0.0 per windows nella
> > sezione sperimentale del sito postgis).
> > Ci caricherei sopra la tabella via dump.
> 
> 
> Siccome il backup della tabella si ferma appena trova le geometrie
> errate, ho notato che posso incollare tutto il mio livello su uno
> shape e salvarlo tranquillamente. A questo punto basta che ricarichi
> con spit lo shape in pg e fare le prove che mi consigli tu con
> postgis 2.0.0 su un PC.
> 
> 
> poi lancerei il comando
> 
> 
> > create table geom_corrette as
> > select
> >        st_makevalid(geom) as geom_new
> > from tabella
> > where
> >        st_isvalid(geom)=false
> > ;
> >
> > e dovrei aver finito.
> >
> > infatti tale comando trasformerebbe i self-intersection in
> > multipolygons e li butterebbe in tale tabella.
> > Mi esporto la tabella (che ora e' buona) con qhis e il gioco e'
> > fatto.
> >
> 
> Ok, nei prossimi giorni proverò e vedo cosa ricavo; ovviamente
> posterò qua i risultati. Avere un metodo in lista (ma anche nel wiki)
> per correzioni future potrebbe fare comodo ad altri dummy come me.
> 
> Ciao e grazie!



-- 
dott. Giovanni Pasini - biologo
Centro Ricerche Ecologiche e Naturalistiche - C.R.E.N. Soc. Coop. r.l.
V.le Pascoli, 46 - 47900 RIMINI
tel/fax: 0541.392935
mobile: +39 3458360538
e-mail: cren a cren.it


Maggiori informazioni sulla lista Gfoss