Di più

Salta un livello di input specificato in ogr2ogr

Salta un livello di input specificato in ogr2ogr


Sto usando ogr2ogr per caricare dati da più file GML in PostGIS. Come mostrato nell'output di ogrinfo di seguito, ogni file GML ha più livelli.

Ho dovuto aprire l'origine dati in sola lettura. INFO: Apertura di 'D:ProjectsosmapsdatavectorMapDistrict_unzippedHP40.gml' utilizzando il driver 'GML' con successo. 1: Ornamento (Polygon) 2: SurfaceWater_Line (Line String) 3: TidalWater (Polygon) 4: SpotHeight (Point) 5: TidalBoundary (Line String) 6: FunctionalSite (Point) 7: SurfaceWater_Area (Polygon) 8: Road (Line String ) 9: Litorale (poligono) 10: Confine amministrativo (stringa di linea) 11: Luogo con nome (Punto) 12: Edificio (poligono)

Voglio caricare tutti i livelli tranne il livello Ornamento. Come convinco ogr2ogr a saltare il livello specifico?

Il mio script corrente in Windows Powershell:

# Input gml directory $gmlDir = "D:ProjectsosmapsdatavectorMapDistrict_unzipped" # Ciclare tra i file gml Foreach($gmlFile in Get-ChildItem $gmlDir -filter *.gml) { #Load data ogr2ogr -f PostgreSQL PG: "dbname=osmaps host=localhost port=5432 active_schema=vectormapdistrict user=postgres" -append -progress --config PG_USE_COPY YES $gmlFile.fullname}

Non puoi saltare i livelli ma puoi selezionare esplicitamente i livelli che vuoi mantenere con il comando ogr2ogr fornendo un elenco di livelli dopo l'origine dati.

Questo dovrebbe funzionare:

ogr2ogr -f PostgreSQL PG:"dbname=osmaps host=localhost port=5432 active_schema=vectormapdistrict user=postgres" -append -progress --config PG_USE_COPY YES $gmlFile.fullname} SurfaceWater_Line TidalWater SpotHeight TidalBoundary FunctionalSite SurfaceWater_Area Boundary Road For

Non puoi saltare i livelli ma puoi selezionare esplicitamente i livelli che vuoi mantenere scrivendo un file VRT http://www.gdal.org/drv_vrt.html. Per i tuoi dati questo file dovrebbe esporre solo un livello dal tuo GML

  HP40.gml SurfaceWater_Line

Salva come filtered_gml.xml e prova conogrinfo filtered_gml.xml. Vai avanti e aggiungi altri elementi OGRVRTLayer.


Guarda il video: Веб, урок 3