Mais

Pula uma camada de entrada especificada em ogr2ogr

Pula uma camada de entrada especificada em ogr2ogr


Estou usando o ogr2ogr para carregar dados de vários arquivos GML em PostGIS. Conforme mostrado na saída do ogrinfo abaixo, cada arquivo GML possui várias camadas.

Tive que abrir a fonte de dados somente leitura. INFO: Abertura de 'D:  Projects  osmaps  data  vectorMapDistrict_unzipped  HP40.gml' usando o driver 'GML' com sucesso. 1: Ornament (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: Foreshore (Polygon) 10: AdministrativeBoundary (Line String) 11: NamedPlace (Point) 12: Building (Polygon)

Quero carregar todas as camadas, exceto a camada Ornamento. Como faço para ogr2ogr pular a camada específica?

Meu script atual no Windows Powershell:

# Input gml directory $ gmlDir = "D:  Projects  osmaps  data  vectorMapDistrict_unzipped" # Loop através de arquivos gml Foreach ($ gmlFile em 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}

Você não pode pular camadas, mas pode selecionar explicitamente as camadas que deseja manter com o comando ogr2ogr, fornecendo uma lista de camadas após a fonte de dados.

Isso deve funcionar:

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 Administrative SurfaceHeight TidalBoundaryBoundaryFuncional de superfície da estrada.

Você não pode pular camadas, mas pode selecionar explicitamente as camadas que deseja manter escrevendo um arquivo VRT http://www.gdal.org/drv_vrt.html. Para seus dados, este arquivo deve expor apenas uma camada de seu GML

  HP40.gml SurfaceWater_Line

Salve como filter_gml.xml e teste comogrinfo Filter_gml.xml. Vá em frente e adicione mais elementos OGRVRTLayer.


Assista o vídeo: Ela ficou 7 anos sem tomar BANHO, e isso ACONTECEU.