Aspettando la fine del vetusto shapefile in questo articolo farò vedere, usando la CLI (Command Line Interface) riga di comando, come ‘passare’ da un insieme di shapefile a un unico geopackage e viceversa, cioè da un unico geopackage – con tanti vettori – a tanti shapefile distinti. Per maggiori dettagli su cosa sia un geopackage potete leggere questo mio post.
Da shapefile a geopackage:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -x | |
for i in *.shp; | |
do | |
ogr2ogr -f 'GPKG' -append pacchetto.gpkg "$i"; | |
done |
lo script va eseguito all’interno della cartella che contiene gli shapefile ottenendo un unico geopackage con tanti vettori quanti sono gli shapefile e con stessi nominativi.
Da geopackage a shapefile:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -x | |
# estrae tutti i vettori nella cartella output | |
ogr2ogr -f 'ESRI Shapefile' output pacchetto.gpkg |
lo script genera tanti shapefile quanti sono i vettori all’interno del geopackage e li mette tutti all’interno della cartella output; in questo processo si potrebbero perdere alcune informazioni per esempio se la lunghezza dei nomi dei campi degli shp supera i 10 caratteri si avrà un troncamento degli stessi (la cli visualizzerà dei warning).
Buon lavoro
Un doveroso grazie al mio amico Andy
Geopackage di esempio.