Vector Format Conversion Using ogr2ogr

From Tuflow
Revision as of 21:14, 11 April 2022 by Ellis Symons (talk | contribs)
Jump to navigation Jump to search

This page lists useful batch file examples for using ogr2ogr.exe. For complete documentation on this tool please visit gdal.org/programs/ogr2ogr

Basic Format Conversion

Format conversion can be done using "-f <format_name>" then specifying the "<destination_filename> <source_filename>".

SHP to GPKG

ogr2ogr.exe -f GPKG 2d_code_M01_R.gpkg 2d_code_M01_R.shp

MIF to SHP - assuming only one geometry type exists in the MIF file

ogr2ogr.exe -f "ESRI Shapefile" 2d_code_M01_R.shp 2d_code_M01.mif

SHP to MIF - TAB and MIF use the same command just with different extensions on the destination file

ogr2ogr.exe -f "Mapinfo File" 2d_code_M01_R.mif 2d_code_M01.shp

Bulk Format Conversion


Convert All Files Within Folder to GPKG

ogr2ogr.exe -f GPKG all_layers.gpkg ./path/to/dir

Convert All Files Within Folder to GPKG with Wildcard

ogr2ogr.exe -f GPKG all_layers.gpkg ./path/to/dir/*.shp

Convert All Files From a GPKG to a SHP

ogr2ogr.exe -f GPKG ./path/to/outdir all_layers.gpkg

Convert Single Layer To/From GPKG


Convert Single Layer From GPKG - Uses an SQL statement to select all features from a given layer

ogr2ogr.exe -f "ESRI Shapefile" -sql "SELECT * FROM '2d_code_M01_R'" 2d_code_M01_R.shp all_layers.gpkg

Convert Single SHP Into a New GPKG Where Layer Name is Different From Database Name

  • -nln <layername>: assigns the name of the layer within database
ogr2ogr.exe -f GPKG -nln 2d_code_M01_R new_database.gpkg 2d_code_M01_R.shp

Convert Single SHP Into an Existing GPKG

  • -append: appends the layer into an existing database
ogr2ogr.exe -f GPKG -nln 2d_code_M01_R -append existing_database.gpkg 2d_code_M01_R.shp

Converting MIF File With Multiple Geometry Types


MIF With Multiple Geometry Types To SHP

  • -where <clause>: "-where" can be used to specify a clause to only select a given geometry type
ogr2ogr.exe -f "ESRI Shapefile" -where ""OGR_GEOMETRY='Point'"" 2d_zsh_P.shp 2d_zsh.mif
ogr2ogr.exe -f "ESRI Shapefile" -where ""OGR_GEOMETRY='LineString'"" 2d_zsh_L.shp 2d_zsh.mif
ogr2ogr.exe -f "ESRI Shapefile" -where ""OGR_GEOMETRY='Polygon'"" 2d_zsh_R.shp 2d_zsh.mif