Buona sera a tutti,
dovrei ritagliare la CTR vettoriale della Regione Liguria (composta da 77 shape file) con un confine comunale. Volevo sapere se con QGIS esiste qualche comando per intersecare tutti i 77 shape file con il confine comunale in un unico comando senza dover intersecarli singolarmente uno ad uno? grazie
luca volpin
Si puo' fare in modalita' batch, supponendo che:
* le 77 shape da clippare stiano nella cartella C:\INPUT
* la shape "tagliante" chiamata CONFINE.SHP stia nella cartella C:\CLIPPING
* il risultato del batch venga salvato nella cartella C:\OUTPUT
apri la shell Osgeo, e digita la seguente sintassi:
C:\> *OGR2OGR -CLIPSRC C:\CLIPPING\CONFINE.SHP C:\OUTPUT C:\INPUT*
<http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/file/n7585114/smile.gif>
--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/ritagliare-piu-shapefile-con-QGIS-tp7585096p7585114.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
/
Luca Volpin wrote
grazie mille per l'informazione…. io ho il mac ….e onestamente non riesco
a trovare le cartelle C:\INPUT e C:\CLIPPING sai mica come posso fare?
grazie
/
Era un esempio di studio, avrei potuto chiamare le cartelle PIPPO e PLUTO...
Comunque sia, per lanciare il comando OGR2OGR hai bisogno di una shell Dos,
quindi vedo due possibilità:
1] installarsi un emulatore Windows sotto Mac
2] caricare shape e "GDAL tools" su un altro computer, sotto Win o Linux
Altre idee..?
<http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/file/n7585221/smile.gif>
--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/ritagliare-piu-shapefile-con-QGIS-tp7585096p7585221.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
Il “mac” è unix. La shell e un terminale decente lo ha di default 
41.95581N 12.52854E
http://www.linkedin.com/in/stefanoiacovella
http://twitter.com/#!/Iacovellas
Il 26/nov/2013 07:26 “antoniovinci” <sieradz@outlook.com> ha scritto:
/
Luca Volpin wrote
grazie mille per l’informazione…. io ho il mac ….e onestamente non riesco
a trovare le cartelle C:\INPUT e C:\CLIPPING sai mica come posso fare?
grazie
/
Era un esempio di studio, avrei potuto chiamare le cartelle PIPPO e PLUTO…
Comunque sia, per lanciare il comando OGR2OGR hai bisogno di una shell Dos,
quindi vedo due possibilità:
1] installarsi un emulatore Windows sotto Mac
2] caricare shape e “GDAL tools” su un altro computer, sotto Win o Linux
Altre idee…?
<http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/file/n7585221/smile.gif>
–
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/ritagliare-piu-shapefile-con-QGIS-tp7585096p7585221.html
Sent from the Gfoss – Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
Gfoss@lists.gfoss.it
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 hanno relazione diretta con le posizioni dell’Associazione GFOSS.it.
666 iscritti al 22.7.2013
Interessantissimo, non conoscevo ogr2ogr.
Sapresti dirmi se esiste la possibilità di passare uno shapefile
C:\CLIPPING\CONFINI.SHP
che abbia più records (es.: centinaia di comuni) e looppare attraverso
i diversi record di questo shapefile per inserire in diverse cartelle
di output (es. c:\output\comune1, c:\output\comune2, ...dove comune1,
comune2 ecc. potrebbero essere i nomi o i codici ISTAT dei diversi
comuni) i risultati del clip dei diversi files presenti nella cartella
C:\INPUT secondo i tagli definiti dai diversi record dellla shape
"tagliante"?
Ho cercato esempi in rete ma senza trovare quello che mi sembra faccia
al mio caso.
Grazie,
Maurizio
Il 23/11/13, antoniovinci<sieradz@outlook.com> ha scritto:
Si puo' fare in modalita' batch, supponendo che:
* le 77 shape da clippare stiano nella cartella C:\INPUT
* la shape "tagliante" chiamata CONFINE.SHP stia nella cartella C:\CLIPPING
* il risultato del batch venga salvato nella cartella C:\OUTPUT
apri la shell Osgeo, e digita la seguente sintassi:
C:\> *OGR2OGR -CLIPSRC C:\CLIPPING\CONFINE.SHP C:\OUTPUT C:\INPUT*
<http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/file/n7585114/smile.gif>
--
View this message in context:
http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/ritagliare-piu-shapefile-con-QGIS-tp7585096p7585114.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian
mailing list mailing list archive at Nabble.com.
_______________________________________________
Gfoss@lists.gfoss.it
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 hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
666 iscritti al 22.7.2013
/
Maurizio Trevisani wrote
possibilità di passare uno shapefile che abbia più records
/
A quest'ora della notte, ho la senzazione che sia fattibile in almeno 2 modi
diversi (escludendo il loop fra i record).
Siccome domani ho una consegna, non avro' la possibilita' di testare
fisicamente le 2 soluzioni, quindi mi limito a dare gli spunti che spero
qualcuno possa elaborare.
1] con OGR2OGR clippare tutto secondo l'unica shape tagliante, per poi
splittare i risultati con
VETTORE => STRUMENTI DI GESTIONE DATI => DIVIDI VETTORE
2] splittare la shape tagliante come sopra, rinominare i "pezzi" come
Pippo1,Pippo2,...,PippoN,
e lanciare OGR2OGR in un ciclo di "for" rispetto all'argomento PippoX (con X
incrementale da 1 ad N).

--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/ritagliare-piu-shapefile-con-QGIS-tp7585096p7585251.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.
2013/11/27 Maurizio Trevisani <maurizio.trevisani@gmail.com>:
Interessantissimo, non conoscevo ogr2ogr.
Sapresti dirmi se esiste la possibilità di passare uno shapefile
C:\CLIPPING\CONFINI.SHP
che abbia più records (es.: centinaia di comuni) e looppare attraverso
i diversi record di questo shapefile per inserire in diverse cartelle
di output (es. c:\output\comune1, c:\output\comune2, ...dove comune1,
comune2 ecc. potrebbero essere i nomi o i codici ISTAT dei diversi
comuni) i risultati del clip dei diversi files presenti nella cartella
C:\INPUT secondo i tagli definiti dai diversi record dellla shape
"tagliante"?
Ho cercato esempi in rete ma senza trovare quello che mi sembra faccia
al mio caso.
se non ho capito male dovresti fare una cosa tipo questa (in linux,
in windows va adattata e dovresti usare la osgeo4w shell che contiene i
comandi grep e awk) :
#!/bin/bash
for c in `ogrinfo comuni.shp -sql "SELECT DISTINCT codistat FROM
comuni" | grep FIPS | awk '{print $4}'`
do
for s in input/*.shp
do
echo "Genero clip di shapefile $s per codice istat $c..."
mkdir output/$c
ogr2ogr output/$c/${s%%.*}.shp $s -clipsrc comuni.shp
-clipsrcwhere "codistat='$c'"
done
done
per adattarla su windows potresti fare tipo (non ho un pc con windows
su cui testare):
for /F "tokens=*" %%c IN ('ogrinfo comuni.shp -sql "SELECT DISTINCT
codistat FROM comuni" ^| grep iso2 ^| awk "{print $4}"') do (
for /r %s in (input/*.shp) do (
echo "Genero clip di shapefile %%s per codice istat %%c..."
mkdir output/%%c
ogr2ogr output/%%c/%%f $s -clipsrc comuni.shp -clipsrcwhere
"codistat='%%c'"
)
)
ciao
p
--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti
provo subito,
grazie

Il 27/11/13, Paolo Corti<pcorti@gmail.com> ha scritto:
2013/11/27 Maurizio Trevisani <maurizio.trevisani@gmail.com>:
Interessantissimo, non conoscevo ogr2ogr.
Sapresti dirmi se esiste la possibilità di passare uno shapefile
C:\CLIPPING\CONFINI.SHP
che abbia più records (es.: centinaia di comuni) e looppare attraverso
i diversi record di questo shapefile per inserire in diverse cartelle
di output (es. c:\output\comune1, c:\output\comune2, ...dove comune1,
comune2 ecc. potrebbero essere i nomi o i codici ISTAT dei diversi
comuni) i risultati del clip dei diversi files presenti nella cartella
C:\INPUT secondo i tagli definiti dai diversi record dellla shape
"tagliante"?
Ho cercato esempi in rete ma senza trovare quello che mi sembra faccia
al mio caso.
se non ho capito male dovresti fare una cosa tipo questa (in linux,
in windows va adattata e dovresti usare la osgeo4w shell che contiene i
comandi grep e awk) :
#!/bin/bash
for c in `ogrinfo comuni.shp -sql "SELECT DISTINCT codistat FROM
comuni" | grep FIPS | awk '{print $4}'`
do
for s in input/*.shp
do
echo "Genero clip di shapefile $s per codice istat $c..."
mkdir output/$c
ogr2ogr output/$c/${s%%.*}.shp $s -clipsrc comuni.shp
-clipsrcwhere "codistat='$c'"
done
done
per adattarla su windows potresti fare tipo (non ho un pc con windows
su cui testare):
for /F "tokens=*" %%c IN ('ogrinfo comuni.shp -sql "SELECT DISTINCT
codistat FROM comuni" ^| grep iso2 ^| awk "{print $4}"') do (
for /r %s in (input/*.shp) do (
echo "Genero clip di shapefile %%s per codice istat %%c..."
mkdir output/%%c
ogr2ogr output/%%c/%%f $s -clipsrc comuni.shp -clipsrcwhere
"codistat='%%c'"
)
)
ciao
p
--
Paolo Corti
Geospatial software developer
web: http://www.paolocorti.net
twitter: @capooti
skype: capooti