Leggere lista dei layer da un file di testo

Come leggere una lista di layer da un file di testo per usarlo in un comando ogr in ambiente bacth.

A cura di Totò Fiandaca  | issue #246 | guida/e Andrea Borruso Andrea Giudiceandrea Totò Fiandaca


Caso d’uso

Il seguente costrutto importa i layer AC_CIC_AC_CIC_SUP_SR AR_VRD_AR_VRD_SUP EDIFC_CR_EDF_IS AR_STR_AR_STR_SUP_SR CANALE_CANALE_BSU da un FileGDB ad un altro:

ogr2ogr -f "OpenFileGDB" -progress x_Andy_only_Polygon.gdb "D:\GitHub\ESRI_FileGeodatabase_GDAL\dati\DBGT_10K_22_V01.gdb" AC_CIC_AC_CIC_SUP_SR AR_VRD_AR_VRD_SUP EDIFC_CR_EDF_IS AR_STR_AR_STR_SUP_SR CANALE_CANALE_BSU  -lco FEATURE_DATASET=sardegna

la lista dei layer da importare è l’output di un altro script che crea un file lista_layer.txt; il seguente script:

ogr2ogr -f "OpenFileGDB" -progress x_Andy_only_Polygon_pesanti.gdb "D:\GitHub\ESRI_FileGeodatabase_GDAL\dati\DBGT_10K_22_V01.gdb" lista_layer.txt -lco FEATURE_DATASET=sardegna

dove al posto dell’elenco dei layer ho messo il file lista_layer.txt, ma c'è un errore:

image

Soluzione

occorre impostare una variabile come sotto:

set /p lista2=<lista_layer.txt

poi:

ogr2ogr -f "OpenFileGDB" -progress x_Andy_only_Polygon_pesanti.gdb "D:\GitHub\ESRI_FileGeodatabase_GDAL\dati\DBGT_10K_22_V01.gdb" %lista2% -lco FEATURE_DATASET=sardegna

funziona!!! image

Dati

Riferimenti utili

Ultima modifica 17/02/2023: add ricetta (7c08976)