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

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

Amedeo

E' un problema che non ho trattato io direttamente, ma un ex collega.
Suggerimenti che mi ricordo:
*se hai un SW ESRI a disposizione, c'è una funzione di "pulizia" dello
shape (è l'unica che veniva considerata affidabile in mezzo a diverse
routine di pulizia di sw diversi)
*imponi a shp2pgsql di elaborare lo shape a blocchi di 1 sola
geometria anziché a blocchi di 500 - non ricordo se c'era un parametro
o se il collega ha modificato i sorgenti così si ferma esattamente
alla riga errata, e non al blocco...ma forse non ti cambia un granché,
comunque scopri un solo errore alla volta...

Non so quanto potranno essere di aiuto questi suggerimenti.
Buona fortuna!
Vito

Il 07/04/11, Amedeo Fadini<fame@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

Amedeo
_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.
502 iscritti all'11.2.2011

--
Inviato dal mio dispositivo mobile

Ciaociao
Vitomeuli
---
https://sites.google.com/site/vitomeuli/

On Thu, 7 Apr 2011 23:45:32 +0200, Amedeo Fadini wrote

Se qualcuno ha un consiglio, grazie di cuore

usa spatialite_gui:
http://www.gaia-gis.it/spatialite-2.4.0-4/binaries.html
http://www.gaia-gis.it/spatialite-2.4.0-5/binaries.html

a) ti importi il tuo SHP
b) poi usi lo strumento MALFORMED GEOMETRIES
   lo trovi nel menu contestuale che esce fuori
   quando fai click-destro su una colonna Geometry
   nella vista ad albero
   Ã¨ interamente basato su GEOS IsValid(), la stessa
   identica che usa anche PostGIS
c) gli errori fessi (poligoni non chiusi, doppie
   battute etc) ti andranno a posto in automatico
d) gli errori più complicati e perversi ... te li
   smazzi pazientamente "a manina" uno per volta :slight_smile:
e) quando alla fine avrai scaccolato tutto puoi
   semplicemente riesportare uno SHP

ciao Sandro

Il 07 aprile 2011 23:45, Amedeo Fadini <fame@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

Il giorno ven, 08/04/2011 alle 00.08 +0200, Vito Meuli ha scritto:

*se hai un SW ESRI a disposizione

A costo di risultare nojosissimo: questa e' una lista dedicata ai
software liberi. Prego di astenersi da proporre sw proprietari.
Grazie.
--
http://www.faunalia.it/pc

A costo di risultare nojosissimo: questa e' una lista dedicata ai
software liberi. Prego di astenersi da proporre sw proprietari.

Grazie mille a tutti per le risposte, mi scuso per la richiesta un po'
generica e OT (capitemi, l'ora tarda, la scadenza...)

Come osservava Luca sono felice di avere parecchie soluzioni a
disposizione, tutte molto valide: *questa* è la bellezza del sw
libero.

Per cui sottoscrivo anch'io l'appello di Paolo: questo tipo di lavoro
(aggiornamento CTR e verifica) viene svolto da 4 anni con sw
proprietario e io sto cercando di mettere a punto una procedura che
usi sw libero.
La cosa bella è che usando sw libero posso automatizzare la procedura
e renderla "a prova di stupido" (come diceva spesso mio padre, prima
di perdere il senno...).

amefad
www.amefad.it

con la sola intenzione di “difendere” Vito, la cui unica “colpa” è stata forse la legerezza di aver priorizzato la soluzione tecnica del problema…, butto la’ una PROVOCAZIONE:

ma allora non possiamo neanche scrivere “shapefile” ?
e’ un formato veramente open ?
per curiosità ho cercato un pochino ma non vedo licenze open associate al formato (mia lacuna, immagino).
per assurdo, se fosse una BY, dovremmo sempre indicare quella parola che
non possiamo scrivere ?

ovviamente sono volutamente provocatorio, con una buona dose di autoironia, che non fa mai male, soprattutto per aiutarci a capire chi siamo:

forse “promuovere” il software open source non dovrebbe passare per “proibire/censurare/inibire” quello proprietario, ma arrivare a dire: con l’open source è meglio !

in sincera buona fede,
francesco

Il giorno 08 aprile 2011 09:21, Paolo Cavallini <cavallini@faunalia.it> ha scritto:

Il giorno ven, 08/04/2011 alle 00.08 +0200, Vito Meuli ha scritto:

*se hai un SW ESRI a disposizione

A costo di risultare nojosissimo: questa e’ una lista dedicata ai
software liberi. Prego di astenersi da proporre sw proprietari.
Grazie.

http://www.faunalia.it/pc


Iscriviti all’associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell’Associazione GFOSS.it.
502 iscritti all’11.2.2011

Il giorno 08/apr/2011, alle ore 11.20, francesco marucci ha scritto:

con la sola intenzione di “difendere” Vito, la cui unica “colpa” è stata forse la legerezza di aver priorizzato la soluzione tecnica del problema…, butto la’ una PROVOCAZIONE:

ma allora non possiamo neanche scrivere “shapefile” ?
e’ un formato veramente open ?
per curiosità ho cercato un pochino ma non vedo licenze open associate al formato (mia lacuna, immagino).
per assurdo, se fosse una BY, dovremmo sempre indicare quella parola che
non possiamo scrivere ?

ovviamente sono volutamente provocatorio, con una buona dose di autoironia, che non fa mai male, soprattutto per aiutarci a capire chi siamo:

forse “promuovere” il software open source non dovrebbe passare per “proibire/censurare/inibire” quello proprietario, ma arrivare a dire: con l’open source è meglio !

in sincera buona fede,
francesco

Quotone in toto! :slight_smile:

Marco
GEOgrafica

Il giorno 08 aprile 2011 09:21, Paolo Cavallini <cavallini@faunalia.it> ha scritto:

Il giorno ven, 08/04/2011 alle 00.08 +0200, Vito Meuli ha scritto:

*se hai un SW ESRI a disposizione

A costo di risultare nojosissimo: questa e’ una lista dedicata ai
software liberi. Prego di astenersi da proporre sw proprietari.
Grazie.

http://www.faunalia.it/pc


Iscriviti all’associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell’Associazione GFOSS.it.
502 iscritti all’11.2.2011


Iscriviti all’associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell’Associazione GFOSS.it.
502 iscritti all’11.2.2011

On Fri, 8 Apr 2011 11:20:59 +0200, francesco marucci wrote

ma allora non possiamo neanche scrivere “shapefile” ?
e’ un formato veramente open ?
per curiosità ho cercato un pochino ma non vedo licenze open associate al formato (mia lacuna, immagino).
per assurdo, se fosse una BY, dovremmo sempre indicare quella parola che
non possiamo scrivere ?

giusto per amor di pignola pedanteria … :slight_smile:

NO, shp non è per nulla open.
comunque (de facto) è pubblicamente documentato,
e non è coperto da brevetti royalties etc
insomma, è ‘aperto’ nel senso che chiunque è libero di
usare le specifiche del formato per sviluppare un proprio
sw che legga/scriva shp, senza timore di incorrere in
una causa legale di qualsiasi tipo.

chiamarlo “shapefile” è chiaramente un abuso (o una
semplificazione): il nome corretto è comunque
“ESRI Shapefile”, visto che indisputabilmente la
specifica del formato appartiene alla ESRI.

le stesse identiche considerazioni valgono per
un sacco di altri formati che usiamo tutti i giorni:
non “PDF”, ma “Adobe PDF”
non “TIFF”, ma “Adobe TIFF”
non “JPEG”, ma “Joint Photografic Expert Group JPEG”
etc etc etc

invece PNG si che è veramente ‘open’ dall’A alla Z :slight_smile:

ciao Sandro

Il giorno ven, 08/04/2011 alle 11.28 +0200, GEOgrafica ha scritto:

> ovviamente sono volutamente provocatorio, con una buona dose di
> autoironia, che non fa mai male, soprattutto per aiutarci a capire
> chi siamo:

assolutamente: piu' ironia c'e' meglio e'

> forse "promuovere" il software open source non dovrebbe passare per
> "proibire/censurare/inibire" quello proprietario, ma arrivare a
> dire: con l'open source è meglio !

Benissimo, concordo appieno. Quello che non e' appropriato, in una lista
dedicata alla promozione del sw libero, e' quello di illustrare (e
quindi pubblicizzare) soluzioni basate sul sw proprietario.

Quotone in toto! :slight_smile:

http://web.mclink.it/MC8216/pub/netiquet.htm
Non usare un eccesso di quoting

Limitare l’eventuale citazione del messaggio cui si risponde al minimo
indispensabile. Ci sono persone che riportano per intero un lungo
messaggio per aggiungere solo una riga che dice “sono d’accordo” o “non
sono d’accordo”. Questa è pessima netiquette – come ogni forma di
overquoting.

:wink:

Saluti.
--
http://www.faunalia.it/pc

In questa lista si preferisce proporre, se esistono, soluzioni OS. Trattandosi di un gruppo dedicato a tecnologie GFOSS, è chiaro che non è il luogo migliore per elencare le alternative proprietarie (e questo lo condivido), SE NE ESISTE UNA OPEN che permette di ottenere gli stessi risultati. Il SE è importante, secondo me. Non sempre ci sono, e comunque vedo che qua e in generale nelle liste di sw gfoss, nessuno si contorce e si dimena quando si parla di plugin, provider o driver per backend proprietari (es. plugin per Google Earth i Qgis, plugin per ArcGIS server in Openlayers, driver ArcSDE in Mapserver, driver per ECW e MrSID nelle GDAL, ecc.).

Credo che in molti siano grati di questa disponibilità… se ne potrebbe fare a meno? E’ proprio necessario avere GE in QGis? O permettere l’uso degli ECW? Personalmente credo di sì, ma essendoci anche soluzioni alternative, nella logica della “SE” suddetto, perché questo viene ammesso?

Lo so, è una provocazione, ma è tanto per dialogare (civilmente).

giovanni

Il giorno 08 aprile 2011 11:47, <a.furieri@lqt.it> ha scritto:

On Fri, 8 Apr 2011 11:20:59 +0200, francesco marucci wrote

ma allora non possiamo neanche scrivere “shapefile” ?
e’ un formato veramente open ?
per curiosità ho cercato un pochino ma non vedo licenze open associate al formato (mia lacuna, immagino).
per assurdo, se fosse una BY, dovremmo sempre indicare quella parola che
non possiamo scrivere ?

giusto per amor di pignola pedanteria … :slight_smile:

NO, shp non è per nulla open.
comunque (de facto) è pubblicamente documentato,
e non è coperto da brevetti royalties etc
insomma, è ‘aperto’ nel senso che chiunque è libero di
usare le specifiche del formato per sviluppare un proprio
sw che legga/scriva shp, senza timore di incorrere in
una causa legale di qualsiasi tipo.

chiamarlo “shapefile” è chiaramente un abuso (o una
semplificazione): il nome corretto è comunque
“ESRI Shapefile”, visto che indisputabilmente la
specifica del formato appartiene alla ESRI.

le stesse identiche considerazioni valgono per
un sacco di altri formati che usiamo tutti i giorni:
non “PDF”, ma “Adobe PDF”
non “TIFF”, ma “Adobe TIFF”
non “JPEG”, ma “Joint Photografic Expert Group JPEG”
etc etc etc

invece PNG si che è veramente ‘open’ dall’A alla Z :slight_smile:

ciao Sandro


Iscriviti all’associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e’ una lista di discussione pubblica aperta a tutti.
Non inviate messaggi commerciali.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell’Associazione GFOSS.it.
502 iscritti all’11.2.2011

Il giorno 08/apr/11, alle ore 12:04, Paolo Cavallini ha scritto:

forse "promuovere" il software open source non dovrebbe passare per
"proibire/censurare/inibire" quello proprietario, ma arrivare a
dire: con l'open source è meglio !

Benissimo, concordo appieno. Quello che non e' appropriato, in una lista
dedicata alla promozione del sw libero, e' quello di illustrare (e
quindi pubblicizzare) soluzioni basate sul sw proprietario.

Il fatto e' che per arrivare a dire "il sw open source e' meglio", risulta necessario porlo a confronto con il sw proprietario. Dal che consegue che talora e' anche necessario - e utile, a mio parere - illustrare le soluzioni tecniche del sw proprietario, al fine di confrontarle con quelle del sw open e sottolinearne le carenze (ammesso che ci siano... se non si analizzano come faccio a saperlo "prima"?).

Altrimenti il concetto che "open source e' meglio" rimane un concetto puramente ideologico, astratto e autoreferenziale.

Nello specifico della discussione, capisco che la citazione della soluzione Esri poteva non essere obbligatoria, ma la tua sottolineatura mi e' parsa un po' pignola.

Quotone in toto! :slight_smile:

http://web.mclink.it/MC8216/pub/netiquet.htm
Non usare un eccesso di quoting
[cut]

Anche qui, forse, un pelino di pignoleria....

Il tutto, detto con la opportuna dose di autoironia di cui parla anche Francesco Marucci.

:wink:

ciao
Marco
GEOgrafica.

Il 08 aprile 2011 12:07, G. Allegri <giohappy@gmail.com> ha scritto:

In questa lista si preferisce proporre, se esistono, soluzioni OS.
Trattandosi di un gruppo dedicato a tecnologie GFOSS, è chiaro che non è il
luogo migliore per elencare le alternative proprietarie (e questo lo
condivido), SE NE ESISTE UNA OPEN che permette di ottenere gli stessi
risultati. Il SE è importante, secondo me. Non sempre ci sono,

Allo stato delle mie conoscenze di stanotte a mezzanotte, una
soluzione alternativa affidabile all'innominabile non c'era (all'epoca
di quando il problema lo abbiamo affrontato, qualche anno fa).

Mi fa molto piacere scoprire che, come hanno suggerito Sandro, Andrea
e altri, adesso ci siano alternative GFOSS valide e pure numerose.

Chiedo umilmente perdono per la mancanza di sensibilità nel nominare
qui l'innominabile, la prossima volta aspetterò che lo sventurato di
turno si disperi per una settimana prima di degnarmi di scrivergli in
privato qual è la soluzione che, nel mio piccolo, posso consigliargli,
benché non open.
O resterò nella massa di lettori silenziosi che tanto prendono e
niente danno, che così non si sbaglia e non si disturba nessuno.

Dolorante per le bacchettate, ma contento di aver imparato qualcosa,
ciao a tutti :slight_smile:
Vito

Il giorno ven, 08/04/2011 alle 15.23 +0200, Vito Meuli ha scritto:

Mi fa molto piacere scoprire che, come hanno suggerito Sandro, Andrea
e altri, adesso ci siano alternative GFOSS valide e pure numerose.

Vito: apprezzo sinceramente l'ironia. Credo tu sappia quanto tutti noi
ti stimiamo ed apprezziamo.
Confermo che suggerire in questa lista soluzioni basate su sw
proprietario non e' appropriato, in quanto confligge oggettivamente con
gli obiettivi per cui la lista e' creata e mantenuta.
Grazie.
--
http://www.faunalia.it/pc