Provided by: gdal-bin_3.0.4+dfsg-1build3_amd64 bug

NAME

       ogr2ogrConverts simple features data between file formats.

SYNOPSIS

       Usage: ogr2ogr [--help-general] [-skipfailures] [-append] [-update]
                      [-select field_list] [-where restricted_where|@filename]
                      [-progress] [-sql <sql statement>|@filename] [-dialect dialect]
                      [-preserve_fid] [-fid FID] [-limit nb_features]
                      [-spat xmin ymin xmax ymax] [-spat_srs srs_def] [-geomfield field]
                      [-a_srs srs_def] [-t_srs srs_def] [-s_srs srs_def] [-ct string]
                      [-f format_name] [-overwrite] [[-dsco NAME=VALUE] ...]
                      dst_datasource_name src_datasource_name
                      [-lco NAME=VALUE] [-nln name]
                      [-nlt type|PROMOTE_TO_MULTI|CONVERT_TO_LINEAR|CONVERT_TO_CURVE]
                      [-dim XY|XYZ|XYM|XYZM|2|3|layer_dim] [layer [layer ...]]

       Advanced options :
                      [-gt n]
                      [[-oo NAME=VALUE] ...] [[-doo NAME=VALUE] ...]
                      [-clipsrc [xmin ymin xmax ymax]|WKT|datasource|spat_extent]
                      [-clipsrcsql sql_statement] [-clipsrclayer layer]
                      [-clipsrcwhere expression]
                      [-clipdst [xmin ymin xmax ymax]|WKT|datasource]
                      [-clipdstsql sql_statement] [-clipdstlayer layer]
                      [-clipdstwhere expression]
                      [-wrapdateline] [-datelineoffset val]
                      [[-simplify tolerance] | [-segmentize max_dist]]
                      [-addfields] [-unsetFid]
                      [-relaxedFieldNameMatch] [-forceNullable] [-unsetDefault]
                      [-fieldTypeToString All|(type1[,type2]*)] [-unsetFieldWidth]
                      [-mapFieldType type1|All=type2[,type3=type4]*]
                      [-fieldmap identity | index1[,index2]*]
                      [-splitlistfields] [-maxsubfields val]
                      [-explodecollections] [-zfield field_name]
                      [-gcp ungeoref_x ungeoref_y georef_x georef_y [elevation]]* [-order n | -tps]
                      [-nomd] [-mo "META-TAG=VALUE"]* [-noNativeData].fi

DESCRIPTION

       This program can be used to convert simple features data between file formats performing various
       operations during the process such as spatial or attribute selections, reducing the set of attributes,
       setting the output coordinate system or even reprojecting the features during translation.

        -f format_name:
           output file format name, some possible values are:

            -f "ESRI Shapefile"
            -f "TIGER"
            -f "MapInfo File"
            -f "GML"
            -f "PostgreSQL"

        Starting  with GDAL 2.3, if not specified, the format is guessed from the extension (previously was ESRI
       Shapefile).

       -append:
           Append to existing layer instead of creating new

       -overwrite:
           Delete the output layer and recreate it empty

       -update:
           Open existing output datasource in update mode rather than trying to create a new one

       -select field_list:
           Comma-delimited list of fields from input layer to copy to the new  layer.  A  field  is  skipped  if
           mentioned previously in the list even if the input layer has duplicate field names. (Defaults to all;
           any field is skipped if a subsequent field with same name is found.) Starting with OGR 1.11, geometry
           fields can also be specified in the list.

       Note this setting cannot be used together with -append. To control the selection of fields when appending
       to a layer, use -fieldmap or -sql.

       -progress:
           (starting  with  GDAL  1.7.0) Display progress on terminal. Only works if input layers have the 'fast
           feature count' capability.

       -sql sql_statement:
           SQL statement to execute. The resulting table/layer will be saved to the output. Starting  with  GDAL
           2.1, the @filename syntax can be used to indicate that the content is in the pointed filename.

       -dialect dialect:
           SQL  dialect.  In some cases can be used to use (unoptimized) OGR SQL instead of the native SQL of an
           RDBMS by passing OGRSQL. Starting with GDAL 1.10, the 'SQLITE' dialect can  also  be  used  with  any
           datasource.

       -where restricted_where:
           Attribute  query  (like  SQL  WHERE).  Starting  with  GDAL  2.1, the @filename syntax can be used to
           indicate that the content is in the pointed filename.

       -skipfailures:
           Continue after a failure, skipping the failed feature.

       -spat xmin ymin xmax ymax:
           spatial query extents, in the SRS of the source layer(s) (or the one specified with -spat_srs).  Only
           features  whose  geometry intersects the extents will be selected. The geometries will not be clipped
           unless -clipsrc is specified

       -spat_srs srs_def:
           (OGR >= 2.0) Override spatial filter SRS.

       -geomfield field:
           (OGR >= 1.11) Name of the geometry field on which the spatial filter operates on.

       -dsco NAME=VALUE:
           Dataset creation option (format specific)

       -lco NAME=VALUE:
           Layer creation option (format specific)

       -nln name:
           Assign an alternate name to the new layer

       -nlt type:
           Define the geometry type for the created layer. One of NONE, GEOMETRY,  POINT,  LINESTRING,  POLYGON,
           GEOMETRYCOLLECTION,  MULTIPOINT,  MULTIPOLYGON or MULTILINESTRING. And CIRCULARSTRING, COMPOUNDCURVE,
           CURVEPOLYGON, MULTICURVE and MULTISURFACE for GDAL 2.0 non-linear geometry types. Add  'Z',  'M',  or
           'ZM'  to the name to get coordinates with elevation, measure, or elevation and measure. Starting with
           GDAL 1.10, PROMOTE_TO_MULTI can  be  used  to  automatically  promote  layers  that  mix  polygon  or
           multipolygons   to   multipolygons,   and   layers   that  mix  linestrings  or  multilinestrings  to
           multilinestrings. Can be useful when converting shapefiles to PostGIS and other target  drivers  that
           implement  strict checks for geometry types. Starting with GDAL 2.0, CONVERT_TO_LINEAR can be used to
           to  convert  non-linear  geometries  types  into  linear  geometries  by  approximating   them,   and
           CONVERT_TO_CURVE to promote a non-linear type to its generalized curve type (POLYGON to CURVEPOLYGON,
           MULTIPOLYGON  to  MULTISURFACE, LINESTRING to COMPOUNDCURVE, MULTILINESTRING to MULTICURVE). Starting
           with 2.1 the type can be defined as measured ('25D' remains as an alias for single 'Z'). Some  forced
           geometry  conversions may result in invalid geometries, for example when forcing conversion of multi-
           part multipolygons with -nlt POLYGON, the resulting polygon will break the Simple Features rules.

       -dim val:
           (starting with GDAL 1.10) Force the coordinate dimension to val (valid values are XY, XYZ,  XYM,  and
           XYZM - for backwards compatibility 2 is an alias for XY and 3 is an alias for XYZ). This affects both
           the  layer  geometry  type,  and feature geometries. Starting with GDAL 1.11, the value can be set to
           'layer_dim' to instruct feature geometries to be promoted to the coordinate dimension declared by the
           layer. Support for M was added in GDAL 2.1

       -a_srs srs_def:
           Assign an output SRS

       -t_srs srs_def:
           Reproject/transform to this SRS on output

       -s_srs srs_def:
           Override source SRS

       -ct string:
           (GDAL >=  3.0)  A  PROJ  string  (single  step  operation  or  multiple  step  string  starting  with
           +proj=pipeline),     a     WKT2     string     describing     a     CoordinateOperation,     or     a
           urn:ogc:def:coordinateOperation:EPSG::XXXX URN overriding the default transformation from the  source
           to the target CRS. It must take into account the axis order of the source and target CRS.

       -preserve_fid:
           Use the FID of the source features instead of letting the output driver to automatically assign a new
           one  (when  it  needs  to assign a FID. Some formats, like GeoJSON, have optional FID) Note: starting
           with GDAL 2.0, if not in append mode, this behaviour becomes the default if the output driver  has  a
           FID  layer  creation  option. In which case the name of the source FID column will be used and source
           feature IDs will be attempted to be preserved. This behaviour can be disabled by setting -unsetFid

       -fid fid:
           If provided, only the feature with this feature id  will  be  reported.  Operates  exclusive  of  the
           spatial or attribute queries. Note: if you want to select several features based on their feature id,
           you  can  also  use  the fact the 'fid' is a special field recognized by OGR SQL. So, '-where 'fid in
           (1,3,5)'' would select features 1, 3 and 5.

       -limit nb_features:
           (starting with GDAL 2.2): to limit the number of features, per layer.

       Srs_def can be a full WKT definition (hard  to  escape  properly),  or  a  well  known  definition  (i.e.
       EPSG:4326) or a file with a WKT definition.

       Advanced options :

       -oo NAME=VALUE:
           (starting with GDAL 2.0) Input dataset open option (format specific)

       -doo NAME=VALUE:
           (starting  with  GDAL  2.0)  Destination dataset open option (format specific), only valid in -update
           mode

       -gt n:
           group n features per transaction (default 20000 in OGR 1.11, 200 in previous releases). Increase  the
           value  for  better performance when writing into DBMS drivers that have transaction support. Starting
           with GDAL 2.0, n can be set to unlimited to load the data into a single transaction.

       -ds_transaction:
           (starting with GDAL 2.0) Force the use of a dataset level transaction (for drivers that support  such
           mechanism),  especially  for  drivers  such as FileGDB that only support dataset level transaction in
           emulation mode.

       -clipsrc [xmin ymin xmax ymax]|WKT|datasource|spat_extent:
           (starting with GDAL 1.7.0) clip geometries to the specified bounding box (expressed in  source  SRS),
           WKT  geometry  (POLYGON  or  MULTIPOLYGON),  from  a datasource or to the spatial extent of the -spat
           option if you use the spat_extent keyword. When specifying a datasource, you will generally  want  to
           use it in combination of the -clipsrclayer, -clipsrcwhere or -clipsrcsql options

       -clipsrcsql sql_statement:
           Select desired geometries using an SQL query instead.

       -clipsrclayer layername:
           Select the named layer from the source clip datasource.

       -clipsrcwhere expression:
           Restrict desired geometries based on attribute query.

       -clipdst xmin ymin xmax ymax:
           (starting  with  GDAL  1.7.0)  clip  geometries  after  reprojection  to  the  specified bounding box
           (expressed in dest SRS), WKT geometry (POLYGON or MULTIPOLYGON) or from a datasource. When specifying
           a datasource, you will generally want to use it in combination of the -clipdstlayer, -clipdstwhere or
           -clipdstsql options

       -clipdstsql sql_statement:
           Select desired geometries using an SQL query instead.

       -clipdstlayer layername:
           Select the named layer from the destination clip datasource.

       -clipdstwhere expression:
           Restrict desired geometries based on attribute query.

       -wrapdateline:
           (starting with GDAL 1.7.0) split geometries crossing the dateline meridian (long. = +/- 180deg)

       -datelineoffset:
           (starting with GDAL 1.10) offset from dateline in degrees (default  long.  =  +/-  10deg,  geometries
           within 170deg to -170deg will be split)

       -simplify tolerance:
           (starting  with GDAL 1.9.0) distance tolerance for simplification. Note: the algorithm used preserves
           topology per feature, in particular for polygon geometries, but not for a whole layer.

       -segmentize max_dist:
           (starting with GDAL 1.6.0) maximum distance between 2 nodes. Used to create intermediate points

       -fieldTypeToString type1, ...:
           (starting with GDAL 1.7.0) converts any field of the specified type to a field of type string in  the
           destination  layer. Valid types are : Integer, Integer64, Real, String, Date, Time, DateTime, Binary,
           IntegerList, Integer64List, RealList, StringList. Special value All can be used to convert all fields
           to strings. This is an alternate way to using the CAST operator of OGR SQL, that may avoid  typing  a
           long  SQL  query. Note that this does not influence the field types used by the source driver, and is
           only an afterwards conversion.

       -mapFieldType srctype|All=dsttype, ...:
           (starting with GDAL 2.0) converts any field of the specified type to another type. Valid types are  :
           Integer, Integer64, Real, String, Date, Time, DateTime, Binary, IntegerList, Integer64List, RealList,
           StringList.   Types   can  also  include  subtype  between  parenthesis,  such  as  Integer(Boolean),
           Real(Float32), ... Special value All can be used to convert all fields to another type.  This  is  an
           alternate  way to using the CAST operator of OGR SQL, that may avoid typing a long SQL query. This is
           a generalization of -fieldTypeToString. Note that this does not influence the field types used by the
           source driver, and is only an afterwards conversion.

       -unsetFieldWidth:
           (starting with GDAL 1.11) set field width and precision to 0.

       -splitlistfields:
           (starting with GDAL 1.8.0) split fields of type StringList, RealList  or  IntegerList  into  as  many
           fields of type String, Real or Integer as necessary.

       -maxsubfields val:
           To be combined with -splitlistfields to limit the number of subfields created for each split field.

       -explodecollections:
           (starting  with  GDAL 1.8.0) produce one feature for each geometry in any kind of geometry collection
           in the source file

       -zfield field_name:
           (starting with GDAL 1.8.0) Uses the specified field to fill the Z coordinate of geometries

       -gcp ungeoref_x ungeoref_y georef_x georef_y elevation:
           (starting with GDAL 1.10.0) Add the indicated ground control  point.  This  option  may  be  provided
           multiple times to provide a set of GCPs.

       -order n:
           (starting with GDAL 1.10.0) order of polynomial used for warping (1 to 3). The default is to select a
           polynomial order based on the number of GCPs.

       -tps:
           (starting with GDAL 1.10.0) Force use of thin plate spline transformer based on available GCPs.

       -fieldmap:
           (starting  with  GDAL 1.10.0) Specifies the list of field indexes to be copied from the source to the
           destination. The (n)th value specified in the list is the index of the  field  in  the  target  layer
           definition  in  which the n(th) field of the source layer must be copied. Index count starts at zero.
           To omit a field, specify a value of -1. There must be exactly as many values in the list as the count
           of the fields in the source layer. We can use the 'identity'  setting  to  specify  that  the  fields
           should  be  transferred  by  using the same order. This setting should be used along with the -append
           setting.

       -addfields:
           (starting with GDAL 1.11) This is a specialized version of -append. Contrary to  -append,  -addfields
           has  the  effect  of  adding,  to existing target layers, the new fields found in source layers. This
           option is useful when merging files that have non-strictly identical structures. This might not  work
           for  output  formats  that don't support adding fields to existing non-empty layers. Note that if you
           plan to use -addfields, you may need to combine it with -forceNullable,  including  for  the  initial
           import.

       -relaxedFieldNameMatch:
           (starting  with  GDAL 1.11) Do field name matching between source and existing target layer in a more
           relaxed  way  if  the  target  driver  has  an  implementation   for   it.   [-relaxedFieldNameMatch]
           [-forceNullable]

       -forceNullable:
           (starting  with  GDAL 2.0) Do not propagate not-nullable constraints to target layer if they exist in
           source layer..

       -unsetDefault:
           (starting with GDAL 2.0) Do not propagate default field values to  target  layer  if  they  exist  in
           source layer..

       -unsetFid:
           (starting  with  GDAL  2.0)  Can  be  specify to prevent the name of the source FID column and source
           feature IDs from being re-used for the target layer.  This  option  can  for  example  be  useful  if
           selecting source features with a ORDER BY clause.

       -nomd:
           (starting  with  GDAL  2.0) To disable copying of metadata from source dataset and layers into target
           dataset and layers, when supported by output driver.

       -mo 'META-TAG=VALUE':
           (starting with GDAL 2.0) Passes a metadata key and value to set on the output dataset, when supported
           by output driver.

       -noNativeData:
           (starting with GDAL 2.1) To disable copying of  native  data,  i.e.  details  of  source  format  not
           captured  by  OGR  abstraction,  that  are  otherwise  preserved  by some drivers (like GeoJSON) when
           converting to same format.

PERFORMANCE HINTS

       When writing into transactional  DBMS  (SQLite/PostgreSQL,MySQL,  etc...),  it  might  be  beneficial  to
       increase  the  number  of  INSERT  statements  executed  between BEGIN TRANSACTION and COMMIT TRANSACTION
       statements. This number is specified with the -gt option. For example, for  SQLite,  explicitly  defining
       -gt  65536  ensures optimal performance while populating some table containing many hundreds of thousands
       or millions of rows. However, note that -skipfailures overrides -gt and sets the size of transactions  to
       1.

       For  PostgreSQL,  the PG_USE_COPY config option can be set to YES for a significant insertion performance
       boost. See the PG driver documentation page.

       More generally, consult the documentation page of the input and output drivers for performance hints.

C API

       Starting with GDAL 2.1, this utility is also callable from C with GDALVectorTranslate().

EXAMPLE

       Example appending to an existing layer (both flags need to be used):

       % ogr2ogr -update -append -f PostgreSQL PG:dbname=warmerda abc.tab

       Example reprojecting from ETRS_1989_LAEA_52N_10E to EPSG:4326 and clipping to a bounding box

       % ogr2ogr -wrapdateline -t_srs EPSG:4326 -clipdst -5 40 15 55 france_4326.shp europe_laea.shp

       Example for using the -fieldmap setting. The first field of the source layer is used to  fill  the  third
       field  (index  2 = third field) of the target layer, the second field of the source layer is ignored, the
       third field of the source layer used to fill the fifth field of the target layer.

       % ogr2ogr -append -fieldmap 2,-1,4 dst.shp src.shp

       More examples are given in the individual format pages.

AUTHOR

       Frank Warmerdam warmerdam@pobox.com, Silke Reimer silke@intevation.de

GDAL                                             Sun Mar 29 2020                                      ogr2ogr(1)