GDAL-VECTOR-PIPELINE(1) GDAL GDAL-VECTOR-PIPELINE(1) (NAME) gdal-vector-pipeline - 3.11 . (DESCRIPTION) gdal vector pipeline . gdal pipeline . (features) (on-demand) <<>> ("materializing") . gdal vector materialize . (SYNOPSIS) : gdal vector pipeline [OPTIONS] . : : -h, --help --json-usage JSON --config = [] -q, --quiet ( ) [ ] : --skip-errors [ ] : read|concat [READ-OPTIONS] ( ! [STEP-OPTIONS] )* ! write|info [WRITE-OPTIONS] ! ( ) . read concat info partition write . . read concat info partition write . (STEPS) o buffer o check-coverage o check-geometry o clean-coverage o clip o combine o concave-hull o concat o convex-hull o create o dissolve o edit o explode-collections o export-schema o external o filter o info o limit o make-point o make-valid o materialize o partition o read o rename-layer o reproject o segmentize o select o set-field-type o set-geom-type o simplify o simplify-coverage o sort o sql o swap-xy o tee o update o write * buffer [OPTIONS] ----------------------------- . : --distance . [] : --active-layer ( ) --active-geometry ( ) --endcap-style .. ENDCAP-STYLE=round|flat|square (: round) --join-style .. JOIN-STYLE=round|mitre|bevel (: round) --mitre-limit ( mitered ). (: 5) --quadrant-segments . (: 8) --side .. SIDE=both|left|right (: both) gdal vector buffer . check-coverage * check-coverage [OPTIONS] -------------------------- : --include-valid --geometry-field --maximum-gap-width gdal vector check-coverage . check-geometry * check-geometry [OPTIONS] -------------------------- : --include-field ( : ALL NONE) (: NONE) [ ] --include-valid --geometry-field gdal vector check-geometry . clean-coverage * clean-coverage [OPTIONS] -------------------------- : --active-layer ( ) --snapping-distance (snapping) --merge-strategy . MERGE-STRATEGY=longest-border|max-area|min-area|min-index --maximum-gap-width gdal vector clean-coverage . clip * clip [OPTIONS] ---------------- . : --active-layer ( ) --bbox xmin,ymin,xmax,ymax --geometry --like --bbox-crs (CRS) --geometry (WKT GeoJSON) --bbox --like --geometry-crs (CRS) --like --bbox --geometry --like-sql SELECT 'like' --like-where --like-layer 'like' --like-where WHERE SQL 'like' --like-sql gdal vector clip . combine * combine [OPTIONS] ------------------- : --group-by () [ ] --keep-nested --add-extra-fields . ADD-EXTRA-FIELDS=no|sometimes-identical|always-identical (: no) gdal vector combine ..SS concave-hull * concave-hull [OPTIONS] ------------------------ . : --active-layer ( ) --active-geometry ( ) --ratio [] --allow-holes --tight gdal vector concave-hull . concat * concat [OPTIONS] ... ------------------------------ . : -i, --input [1.. values] [] : -l, --layer, --input-layer () [ ] --mode . MODE=merge-per-layer-name|stack|single (: merge-per-layer-name) --output-layer ( single) ( stack) --source-layer-field-name 'source-layer-field-content' --source-layer-field-content {AUTO_NAME} {DS_NAME} {DS_BASENAME} {DS_INDEX} {LAYER_NAME} {LAYER_INDEX} --field-strategy . FIELD-STRATEGY=union|intersection (: union) -s, --input-crs CRS -d, --output-crs CRS : --if, --input-format [ ] --oo, --open-option = [ ] gdal vector concat . convex-hull * convex-hull [OPTIONS] ----------------------- . : --active-layer ( ) --active-geometry ( ) gdal vector convex-hull . create * create [OPTIONS] --------------------------- . : -o, --output [] : -i, --like, --input --schema --field -l, --layer, --input-layer () [ ] -f, --of, --format, --output-format ("GDALG" ) --co, --creation-option = [ ] --lco, --layer-creation-option = [ ] --overwrite --update --overwrite-layer --output-layer --geometry-type --geometry-field ( ) (: geom) --crs CRS --fid FID --schema OGR_SCHEMA --input --field --field :[(,[,])]> [ ] --input --schema : --if, --input-format [ ] --oo, --open-option = [ ] --output-oo, --output-open-option = [ ] gdal vector create . dissolve * dissolve [OPTIONS] -------------------- : --active-layer ( ) --active-geometry ( ) gdal vector dissolve ..SS edit * edit [OPTIONS] ---------------- . : --active-layer ( ) --output-layer --geometry-type --crs CRS ( ) --metadata = / [ ] --unset-metadata [ ] --layer-metadata = / [ ] --unset-layer-metadata [ ] --unset-fid FID gdal vector edit . explode-collections * explode-collections [OPTIONS] ------------------------------- (collection) . : --active-layer ( ) --active-geometry ( ) --geometry-type --skip-on-type-mismatch gdal vector explode-collections . export-schema 3.12 . * export-schema [OPTIONS] ------------------------- OGR_SCHEMA . : : -l, --layer, --input-layer [ ] gdal vector export-schema . external * external [OPTIONS] ------------------------------ (pipeline) : --command / [] : -f, --of, --format, --output-format : --if, --input-format gdal external . filter * filter [OPTIONS] ------------------ . : --active-layer ( ) --bbox xmin,ymin,xmax,ymax --where |@ SQL WHERE --update-extent gdal vector filter . info 3.12 . * info [OPTIONS] ---------------- . : : -f, --of, --format, --output-format . OUTPUT-FORMAT=json|text -l, --layer, --input-layer [ ] --sql --fid --features ( RAM ) --summary --summary --features --limit ( --features) --sql |@ SQL --input-layer --fid --where |@ SQL WHERE --fid --input-layer --sql --dialect SQL : --crs-format CRS. CRS-FORMAT=AUTO|WKT2|PROJJSON (: AUTO) gdal vector info ..SS limit * limit [OPTIONS] ------------------------- . : --limit [] : --active-layer ( ) make-point * make-point [OPTIONS] ---------------------- : --x X [] --y Y [] --z Z --m M --output-crs (CRS) gdal vector make-point . make-valid * make-valid [OPTIONS] ---------------------- . : --active-layer ( ) --active-geometry ( ) --method .. METHOD=linework|structure (: linework) --keep-lower-dim MakeValid() gdal vector make-valid . materialize * materialize [OPTIONS] ----------------------- . : -o, --output ( ) -f, --of, --format, --output-format --co, --creation-option = [ ] --lco, --layer-creation-option = [ ] --overwrite gdal vector materialize . partition 3.12 . * partition [OPTIONS] ------------------------------ . : -o, --output [] : --overwrite --append --append --overwrite -f, --of, --format, --output-format --co, --creation-option = [ ] --lco, --layer-creation-option = [ ] --field () [ ] --scheme . SCHEME=hive|flat (: hive) --pattern ('part_%010d' scheme=hive '{LAYER_NAME}_{FIELD_VALUE}_%010d' scheme=flat) --feature-limit --max-file-size ( MB GB ) --omit-partitioned-field --skip-errors gdal vector partition . read * read [OPTIONS] ------------------------ . : -i, --input [] : -l, --layer, --input-layer () [ ] : --if, --input-format [ ] --oo, --open-option = [ ] gdal vector pipeline read ..SS rename-layer * rename-layer [OPTIONS] ------------------------ () . : -l, --input-layer --output-layer --ascii ASCII --lower-case ( ASCII) --filename-compatible --reserved-characters () --replacement-character ASCII --max-length gdal vector rename-layer . reproject * reproject [OPTIONS] --------------------- . : --active-layer ( ) -s, --input-crs CRS -d, --output-crs CRS [] gdal vector reproject . segmentize * segmentize [OPTIONS] ----------------------------------- . : --max-length [] : --active-layer ( ) --active-geometry ( ) gdal vector segmentize . select * select [OPTIONS] --------------------------- . : --fields ( --exclude) [ ] [] : --active-layer ( ) --output-layer --exclude --ignore-missing-fields --ignore-missing-fields --exclude gdal vector select . set-field-type * set-field-type [OPTIONS] -------------------------- . : --active-layer ( ) --field-name [] --input-field-type --input-field-type [] --field-name --output-field-type, --field-type [] gdal vector set-field-type . set-geom-type * set-geom-type [OPTIONS] ------------------------- . : --active-layer ( ) --active-geometry ( ) --layer-only --feature-only --feature-only --layer-only --geometry-type --multi MULTI --single --single MULTI --multi --linear --curve --curve --linear --dim . DIM=XY|XYZ|XYM|XYZM --skip gdal vector set-geom-type ..SS simplify * simplify [OPTIONS] -------------------------------- . : --tolerance . [] : --active-layer ( ) --active-geometry ( ) gdal vector simplify . simplify-coverage * simplify-coverage [OPTIONS] ----------------------------------------- . : --tolerance . [] : --active-layer ( ) --preserve-boundary . gdal vector simplify-coverage . sort * sort [OPTIONS] --------------- : --geometry-field --method . METHOD=hilbert|strtree (: hilbert) --use-tempfile gdal vector sort . sql * sql [OPTIONS] |@ -------------------------------------- () SQL . : --sql |@ () SQL [ ] [] : -l, --output-layer () [ ] --dialect SQL ( OGRSQL, SQLITE) gdal vector sql . swap-xy * swap-xy [OPTIONS] ------------------- X Y . : --active-layer ( ) --active-geometry ( ) gdal vector swap-xy . tee * tee [OPTIONS] [...] ------------------------------- . : --tee-pipeline [1.. values] Output nested pipeline . update * update [OPTIONS] --------------------------- . : -o, --output [] : --input-layer --output-layer --mode . MODE=merge|update-only|append-only (: merge) --key () [ ] : --output-oo, --output-open-option = [ ] gdal vector update ..SS write * write [OPTIONS] -------------------------- . : -o, --output [] : -f, --of, --format, --output-format ( "GDALG" ) --co, --creation-option = [ ] --lco, --layer-creation-option = [ ] --overwrite --update --overwrite-layer --append --upsert -l, --output-layer --skip-errors --no-create-empty-layers : --output-oo, --output-open-option = [ ] --upsert (Upsert) ( 'append' ) --append gdal vector pipeline write . GDALG ( / ) (GDALG OUTPUT (ON-THE-FLY / STREAMED DATASET)) (pipeline) GDALG JSON . GDALG: GDAL Streamed Algorithm / . command_line JSON write gdal vector pipeline ! .... ! write out.gdalg.json . { "type": "gdal_streamed_alg", "command_line": "gdal vector pipeline ! read in.gpkg ! reproject --output-crs=EPSG:32632" } write stream . { "type": "gdal_streamed_alg", "command_line": "gdal vector pipeline ! read in.gpkg ! reproject --output-crs=EPSG:32632 ! write --output-format=streamed streamed_dataset" } (SUBSTITUTIONS) 3.12 . gdal pipeline .gdal.json / . Substitutions . (NESTED PIPELINE) 3.12 . " " . ([ ]) . : o : . o : . tee . Nested pipeline . (RETURN STATUS CODE) 0 ( ). (EXAMPLES) : GeoPackage EPSG:32632 ("WGS 84 / UTM zone 32N") $ gdal vector pipeline ! read in.gpkg ! reproject --output-crs=EPSG:32632 ! write out.gpkg --overwrite : GeoPackage GDALG $ gdal vector pipeline ! read in.gpkg ! reproject --output-crs=EPSG:32632 ! write in_epsg_32632.gdalg.json --overwrite $ gdal vector info in_epsg_32632.gdalg.json $ gdal vector pipeline ! concat --single --output-crs=EPSG:32632 france.shp belgium.shp ! filter --where "pop > 1e6" ! write out.gpkg --overwrite : GeoPackage GeoJSON select (pipeline) filter . select : ERROR 1: "worldcity" not recognised as an available field. (geometry) . . _ogr_geometry_ . : ERROR 1: reproject: Layer 'ne_110m_populated_places_simple' has no spatial reference system. . : "_ogr_geometry_, name" : ERROR 1: Field ' name' does not exist in layer 'ne_110m_populated_places_simple'. Bash gdal vector pipeline \ ! read natural_earth_vector.gpkg --layer ne_110m_populated_places_simple \ ! filter --where "worldcity = 1" \ ! select --fields "_ogr_geometry_,name" \ ! reproject --output-crs=ESRI:53009 \ ! write worldcity_53009.geojson --overwrite PowerShell gdal vector pipeline ` ! read natural_earth_vector.gpkg --layer ne_110m_populated_places_simple ` ! filter --where "worldcity = 1" ` ! select --fields "_ogr_geometry_,name" ` ! reproject --output-crs=ESRI:53009 ` ! write worldcity_53009.geojson --overwrite [] (AUTHORS) Even Rouault (COPYRIGHT) 1998-2026 August 18, 2026 GDAL-VECTOR-PIPELINE(1)