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

Luca Mandolesi mandoluca a gmail.com
Mer 29 Set 2010 23:07:59 CEST


2010/9/29 Andrea Peri 2007 <aperi2007 at 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!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20100929/ce98c40c/attachment.htm>


Maggiori informazioni sulla lista Gfoss