Vector Format Conversion Using ogr2ogr: Difference between revisions
Content deleted Content added
Ellis Symons (talk | contribs) No edit summary |
Ellis Symons (talk | contribs) |
||
| (13 intermediate revisions by the same user not shown) | |||
Line 8:
'''MIF to SHP''' - ''assuming only one geometry type exists in the MIF file''<Br>
<pre>ogr2ogr.exe -f "ESRI Shapefile" 2d_code_M01_R.shp 2d_code_M01.mif</pre>
'''SHP to MIF''' - ''TAB and MIF use the same command just with different extensions on the destination file''<br>
<pre>ogr2ogr.exe -f "Mapinfo File" 2d_code_M01_R.mif 2d_code_M01.shp</pre>
'''MIF to SHP Force Overwrite an Existing File'''<br>
:* ''<tt>-overwrite</tt>'': overwrite the output file if it exists
<pre>ogr2ogr.exe -f "ESRI Shapefile" -overwrite 2d_code_M01_R.shp 2d_code_M01.mif</pre>
==Bulk Format Conversion==
<Br>
'''Convert All Files Within Folder to a Single GPKG'''<br>
<pre>ogr2ogr.exe -f GPKG all_layers.gpkg ./path/to/dir</pre>
'''Convert All Files Within Folder to a Single GPKG with Wildcard'''<br>
<pre>ogr2ogr.exe -f GPKG all_layers.gpkg ./path/to/dir/*.shp</pre>
'''Convert All Files From a GPKG to a SHP'''<br>
Line 22 ⟶ 27:
'''Convert Single Layer From GPKG''' - ''Uses an SQL statement to select all features from a given layer''<Br>
<pre>ogr2ogr.exe -f "ESRI Shapefile" -sql "SELECT * FROM '2d_code_M01_R'" 2d_code_M01_R.shp all_layers.gpkg</pre>
'''Convert Single Layer From GPKG and convert the layer type'''<br>
:* ''<tt>-nlt <geometry type></tt>'': assigns the geometry type of the output layer - typical values [POLYGON | LINESTRING | POINT]. See <b><u>[https://gdal.org/programs/ogr2ogr.html#ogr2ogr gdal ogr2ogr documention]</u></b> for other options.
<pre>ogr2ogr.exe -f "ESRI Shapefile" -sql "SELECT * FROM '2d_code_M01_R'" -nlt POLYGON 2d_code_M01_R.shp all_layers.gpkg</pre>
'''Convert Single Layer From GPKG and convert the layer type and convert multipart geometries to singlepart'''<br>
:* ''<tt>-explodecollections</tt>'': splits multipart geometries into individual features.
<pre>ogr2ogr.exe -f "ESRI Shapefile" -sql "SELECT * FROM '2d_code_M01_R'" -nlt POLYGON -explodecollections 2d_code_M01_R.shp all_layers.gpkg</pre>
'''Convert Single SHP Into a New GPKG Where Layer Name is Different From Database Name'''<br>
:* ''<tt>-nln <layername></tt>'': assigns the name of the layer within database
Line 28 ⟶ 39:
:* ''<tt>-append</tt>'': appends the layer into an existing database
<pre>ogr2ogr.exe -f GPKG -nln 2d_code_M01_R -append existing_database.gpkg 2d_code_M01_R.shp</pre>
==Converting MIF File With Multiple Geometry Types==
<Br>
'''MIF With Multiple Geometry Types To SHP'''<br>
:* ''<tt>-where <clause></tt>'': "-where" can be used to specify a clause to only select a given geometry type
<pre>
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
</pre>
'''MIF With Multiple Geometry Types To a Single GPKG'''<Br>
:* ''<tt>-nlt <geometry_type></tt>'': Defines the geometry type for the output layer. Useful when converting to formats that implement strict checks for geometry types (e.g. Don't allow "Singlepart" geometry and "Multipart" geometry in the same layer.
<pre>
ogr2ogr.exe -f GPKG -nln 2d_zsh_P -where "OGR_GEOMETRY='Point'" -nlt POINT 2d_zsh.gpkg 2d_zsh.mif
ogr2ogr.exe -f GPKG -nln 2d_zsh_L -where "OGR_GEOMETRY='LineString'" -nlt LINESTRING -append 2d_zsh.gpkg 2d_zsh.mif
ogr2ogr.exe -f GPKG -nln 2d_zsh_R -where "OGR_GEOMETRY='Polygon'" -nlt POLYGON -append 2d_zsh.gpkg 2d_zsh.mif
</pre>
<br>
{{Tips Navigation
|uplink=[[GDAL_Tips_and_Tricks#GDAL_Programs| Back to GDAL Tips and Tricks]]
}}
| |||