>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. 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, 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. 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. _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 474 iscritti al 18.9.2010 |
2010/9/29 Andrea Peri 2007 <[hidden email]>
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. 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... 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
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! _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 474 iscritti al 18.9.2010 |
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 <[hidden email]> ha scritto: > 2010/9/29 Andrea Peri 2007 <[hidden email]> > > > > > > > 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: [hidden email] _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 474 iscritti al 18.9.2010 |
Free forum by Nabble | Edit this page |