|
Ciao,
utilizzo il comando in oggetto per esportare un layer di Grass in shapefile. Se il layer è vuoto il comando segnala <0 elementi scritti in ....> ma sfortunatamente lo shapefile viene creato ugualmente (vuoto ovviamente). Non mi pare ci siano degli switch per evitarlo. Qualche suggeriumento? grazie marco g _______________________________________________ [hidden email] 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 hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 605 iscritti al 10.7.2012 |
|
Ciao Marco,
non si tratta di sfortuna, anzi. Una tavola vuota ha una struttura, una proiezione, e un numero di righe pari a 0: un sacco di informazioni. Generare una tavola vuota è il comportamento atteso in questo caso. Una "non tavola" sarebbe un "non risultato". Se vuoi cancellare lo shape nel caso in cui sia vuoto al termine dell'esportazione, puoi provare con una combinazione di ogrinfo e bash, come in questo script di esempio, al quale devi passare il nome di uno shape nella directory corrente - senza estensione: #! /bin/bash NUMROWS=$(ogrinfo -al -so $1.shp | \ grep -e "Feature Count" | \ sed -s 's/[^0-9]//g') if [ $NUMROWS -lt 1 ] ; then ogrinfo -sql "drop table $1" . fi Sig Il giorno gio, 22/11/2012 alle 14.17 +0000, Marco Guiducci ha scritto: > Ciao, > utilizzo il comando in oggetto per esportare un layer di Grass in shapefile. > Se il layer è vuoto il comando segnala <0 elementi scritti in ....> ma sfortunatamente lo shapefile viene creato ugualmente (vuoto ovviamente). > Non mi pare ci siano degli switch per evitarlo. > Qualche suggeriumento? > grazie > marco g > _______________________________________________ > [hidden email] > 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 hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. > 605 iscritti al 10.7.2012 _______________________________________________ [hidden email] 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 hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 605 iscritti al 10.7.2012 |
|
----- Messaggio originale ----- > Da: Luca Sigfrido Percich <[hidden email]> > A: Marco Guiducci <[hidden email]> > Cc: "[hidden email]" <[hidden email]> > Inviato: Giovedì 22 Novembre 2012 22:49 > Oggetto: Re: [Gfoss] Grass v.out.ogr > > Ciao Marco, > > non si tratta di sfortuna, anzi. Una tavola vuota ha una struttura, una > proiezione, e un numero di righe pari a 0: un sacco di informazioni. > Generare una tavola vuota è il comportamento atteso in questo caso. Una > "non tavola" sarebbe un "non risultato". > > Se vuoi cancellare lo shape nel caso in cui sia vuoto al termine > dell'esportazione, puoi provare con una combinazione di ogrinfo e bash, > come in questo script di esempio, al quale devi passare il nome di uno > shape nella directory corrente - senza estensione: > > #! /bin/bash > > NUMROWS=$(ogrinfo -al -so $1.shp | \ > grep -e "Feature Count" | \ > sed -s 's/[^0-9]//g') > if [ $NUMROWS -lt 1 ] ; then > ogrinfo -sql "drop table $1" . > fi > perfetto! dovendo trattare decine, a volte centinaia di file in un colpo, lancio il batch che esporta, poi lo script che mi cancella quelli vuoti. domani a mente fresca lo provo. grazie marco _______________________________________________ [hidden email] 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 hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 605 iscritti al 10.7.2012 |
|
In reply to this post by Marco Guiducci-2
2012/11/22 Marco Guiducci <[hidden email]>:
> Ciao, > utilizzo il comando in oggetto per esportare un layer di Grass in shapefile. > Se il layer è vuoto il comando segnala <0 elementi scritti in ....> ma sfortunatamente lo shapefile viene creato ugualmente (vuoto ovviamente). Qual'è lo scopo esattamente? La mappa non ha geometria ma degli attributi? Solo per capire... (in caso c'è db.out.ogr). ciao Markus _______________________________________________ [hidden email] 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 hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 605 iscritti al 10.7.2012 |
|
----- Messaggio originale ----- > Da: Markus Neteler <[hidden email]> > A: Marco Guiducci <[hidden email]> > Cc: "[hidden email]" <[hidden email]> > Inviato: Sabato 24 Novembre 2012 23:59 > Oggetto: Re: [Gfoss] Grass v.out.ogr > > 2012/11/22 Marco Guiducci <[hidden email]>: >> Ciao, >> utilizzo il comando in oggetto per esportare un layer di Grass in > shapefile. >> Se il layer è vuoto il comando segnala <0 elementi scritti in ....> > ma sfortunatamente lo shapefile viene creato ugualmente (vuoto ovviamente). > > Qual'è lo scopo esattamente? > La mappa non ha geometria ma degli attributi? Solo per capire... > (in caso c'è db.out.ogr). > > ciao > Markus > E la continuazione di un processo, di cui avevo già scritto qui per chiedere alcune cose. Il quadro è questo: devo estrarre da una mappa in formato shapefile sia le porzioni di poligoni che si sovrappongono, sia i vuoti, cioè porzioni della mappa che non sono coperti da nessun poligono. Step: 1) importo: v.ogr.in dsn=mioshape output=miolayer -o 2) estraggo i poligoni del layer1 in overlay con layer2: v.overlay ainput=miolayer atype=area alayer=1 binput=miolayer btype=area blayer=2 output=layeroverlay operator=and 3) esporto: v.out.ogr input=layeroverlay type=area format=ESRI dsn=shapefilesovrapp.shp olayer=default -e 4) creo i centroidi dei vuoti: v.centroids input=miolayer output=miocentroide option=add cat=1 step=1 layer=0 5) esporto i poligoni vuoti: v.out.ogr input=miocentroide type=area layer=0 format=ESRI dsn=shapevuoti olayer=default -e -c Se lo shape iniziale è corretto non presenta i layer 0 e 2. Sto cercando di fare un if esiste layer=2 then esporta.... if esiste layer=0 then esporta sto provando con v.info, però v.info con layer=0 o layer=2 o layer=1 non sorte alcune differenza, quindi non è usabile. devo fare una db.select e contare i record? Non mi interessa la tabella vuota. grazie marco _______________________________________________ [hidden email] 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 hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 605 iscritti al 10.7.2012 |
|
----- Messaggio originale ----- > Da: Marco Guiducci <[hidden email]> > A: "[hidden email]" <[hidden email]> > Cc: > Inviato: Domenica 25 Novembre 2012 9:24 > Oggetto: Re: [Gfoss] Grass v.out.ogr > > > Se lo shape iniziale è corretto non presenta i layer 0 e 2. > Sto cercando di fare un if esiste layer=2 then esporta.... if esiste layer=0 > then esporta > sto provando con v.info, però v.info con layer=0 o layer=2 o layer=1 non sorte > alcune differenza, > quindi non è usabile. > devo fare una db.select e contare i record? piccola, sostanziale, integrazione e correzione: se il layer 2 è vuoto non viene fatto lo shape, invece per il layer 0 ottengo sempre lo shape. ciao marco _______________________________________________ [hidden email] 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 hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 605 iscritti al 10.7.2012 |
| Free forum by Nabble | Edit this page |
