[Gfoss] ritagliare più shapefile con QGIS

Maurizio Trevisani maurizio.trevisani a gmail.com
Mer 27 Nov 2013 10:07:18 CET


provo subito,
grazie
:-)


Il 27/11/13, Paolo Corti<pcorti a gmail.com> ha scritto:
> 2013/11/27 Maurizio Trevisani <maurizio.trevisani a 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
>


Maggiori informazioni sulla lista Gfoss