OGRINFO(1) GDAL OGRINFO(1)

NAME


ogrinfo - Lists information about an OGR-supported data source.

SYNOPSIS



ogrinfo [--help] [--help-general]
[-if <driver_name>] [-json] [-ro] [-q] [-where <restricted_where>|@<filename>]
[-spat <xmin> <ymin> <xmax> <ymax>] [-geomfield <field>] [-fid <fid>]
[-sql <statement>|@<filename>] [-dialect <sql_dialect>] [-al] [-rl]
[-so|-features] [-limit <nb_features>] [-fields={YES|NO}]]
[-geom={YES|NO|SUMMARY|WKT|ISO_WKT}] [-oo <NAME>=<VALUE>]...
[-nomd] [-listmdd] [-mdd <domain>|all]...
[-nocount] [-nogeomtype] [[-noextent] | [-extent3D]]
[-wkt_format WKT1|WKT2|<other_values>]
[-fielddomain <name>]
<datasource_name> [<layer> [<layer> ...]]

DESCRIPTION


The ogrinfo program lists various information about an OGR-supported
data source to stdout (the terminal). By executing SQL statements it
is also possible to edit data.

--help Show this help message and exit

--help-general
Gives a brief usage message for the generic GDAL commandline
options and exit.

-if <format>
Format/driver name to be attempted to open the input file(s).
It is generally not necessary to specify it, but it can be
used to skip automatic driver detection, when it fails to
select the appropriate driver. This option can be repeated
several times to specify several candidate drivers. Note that
it does not force those drivers to open the dataset. In
particular, some drivers have requirements on file extensions.

New in version 3.2.


-json Display the output in json format, conforming to the
ogrinfo_output.schema.json schema.

New in version 3.7.


-ro Open the data source in read-only mode.

-al List all layers (used instead of having to give layer names as
arguments). In the default text output, this also enables
listing all features, which can be disabled with -so. In JSON
output, -al is implicit, but listing of features must be
explicitly enabled with -features.

-rl Enable random layer reading mode, i.e. iterate over features
in the order they are found in the dataset, and not layer per
layer. This can be significantly faster for some formats (for
example OSM, GMLAS). -rl cannot be used with -sql.

New in version 2.2.


-so Summary Only: suppress listing of individual features and show
only summary information like projection, schema, feature
count and extents. In JSON output, -so is implicit and
listing of features can be enabled with -features.

-features
Enable listing of features. This has the opposite effect of
-so.

This option should be used with caution if using the library
function GDALVectorInfo() and/or -json, as the whole output of
ogrinfo will be built in memory. Consequently, when used on a
large collection of features, RAM may be exhausted.

New in version 3.7.


-limit <nb_features>
New in version 3.9.


Limit the number of features per layer.

-q Quiet verbose reporting of various information, including
coordinate system, layer schema, extents, and feature count.

-where <restricted_where>
An attribute query in a restricted form of the queries used in
the SQL WHERE statement. Only features matching the attribute
query will be reported. Starting with GDAL 2.1, the
@<filename> syntax can be used to indicate that the content is
in the pointed filename.

Example of -where and quoting:

-where "\"Corner Point Identifier\" LIKE '%__00_00'"

-sql <statement>|@<filename>
Execute the indicated SQL statement and return the result.
Starting with GDAL 2.1, the @<filename> syntax can be used to
indicate that the content is in the pointed filename (e.g
@my_select.txt where my_select.txt is a file in the current
directory). Data can also be edited with SQL INSERT, UPDATE,
DELETE, DROP TABLE, ALTER TABLE etc. Editing capabilities
depend on the selected dialect with -dialect.

-dialect <dialect>
SQL dialect. In some cases can be used to use (unoptimized)
OGR SQL dialect instead of the native SQL of an RDBMS by
passing the OGRSQL dialect value. The SQL SQLite dialect can
be selected with the SQLITE and INDIRECT_SQLITE dialect
values, and this can be used with any datasource.

-spat <xmin> <ymin> <xmax> <ymax>
The area of interest. Only features within the rectangle will
be reported.

-geomfield <field>
Name of the geometry field on which the spatial filter
operates.

-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.

-fields=YES|NO
If set to NO, the feature dump will not display field values.
Default value is YES.

-fielddomain <domain_name>
New in version 3.3.


Display details about a field domain.

-geom=YES|NO|SUMMARY|WKT|ISO_WKT
If set to NO, the feature dump will not display the geometry.
If set to SUMMARY, only a summary of the geometry will be
displayed. If set to YES or ISO_WKT, the geometry will be
reported in full OGC WKT format. If set to WKT the geometry
will be reported in legacy WKT. Default value is YES. (WKT and
ISO_WKT are available starting with GDAL 2.1, which also
changes the default to ISO_WKT)

-oo <NAME>=<VALUE>
Dataset open option (format-specific)

-nomd Suppress metadata printing. Some datasets may contain a lot of
metadata strings.

-listmdd
List all metadata domains available for the dataset.

-mdd <domain>
Report metadata for the specified domain. all can be used to
report metadata in all domains.

-nocount
Suppress feature count printing.

-noextent
Suppress spatial extent printing.

-extent3D
New in version 3.9.


Request a 3D extent to be reported (the default is 2D only).
Note that this operation might be slower than requesting the
2D extent, depending on format and driver capabilities.

-nogeomtype
Suppress layer geometry type printing.

New in version 3.1.


--formats
List all vector formats supported by this GDAL build
(read-only and read-write) and exit. The format support is
indicated as follows:

+o ro is read-only driver

+o rw is read or write (i.e. supports GDALDriver::CreateCopy())

+o rw+ is read, write and update (i.e. supports
GDALDriver::Create())

+o A v is appended for formats supporting virtual IO (/vsimem,
/vsigzip, /vsizip, etc).

+o A s is appended for formats supporting subdatasets.

The order in which drivers are listed is the one in which they
are registered, which determines the order in which they are
successively probed when opening a dataset. Most of the time,
this order does not matter, but in some situations, several
drivers may recognize the same file. The -if option of some
utilities can be specified to restrict opening the dataset
with a subset of drivers (generally one). Note that it does
not force those drivers to open the dataset. In particular,
some drivers have requirements on file extensions.
Alternatively, the GDAL_SKIP configuration option can also be
used to exclude one or several drivers.

-wkt_format <format>
The WKT format used to display the SRS. Currently supported
values for the format are:

WKT1

WKT2 (latest WKT version, currently WKT2_2018)

WKT2_2015

WKT2_2018

New in version 3.0.0.


<datasource_name>
The data source to open. May be a filename, directory or other
virtual name. See the OGR Vector Formats list for supported
datasources.

<layer>
One or more layer names may be reported. If no layer names
are passed then ogrinfo will report a list of available layers
(and their layer wide geometry type). If layer name(s) are
given then their extents, coordinate system, feature count,
geometry type, schema and all features matching query
parameters will be reported to the terminal. If no query
parameters are provided, all features are reported.

Geometries are reported in OGC WKT format.

C API


This utility is also callable from C with GDALVectorInfo().

New in version 3.7.


EXAMPLES


Example of reporting the names of the layers in a NTF file:

ogrinfo wrk/SHETLAND_ISLANDS.NTF

INFO: Open of `wrk/SHETLAND_ISLANDS.NTF'
using driver `UK .NTF' successful.
1: BL2000_LINK (Line String)
2: BL2000_POLY (None)
3: BL2000_COLLECTIONS (None)
4: FEATURE_CLASSES (None)

Example of retrieving a summary (-so) of a layer without showing
details about every single feature:

ogrinfo \
-so \
natural_earth_vector.gpkg \
ne_10m_admin_0_antarctic_claim_limit_lines

INFO: Open of `natural_earth_vector.gpkg'
using driver `GPKG' successful.

Layer name: ne_10m_admin_0_antarctic_claim_limit_lines
Geometry: Line String
Feature Count: 23
Extent: (-150.000000, -90.000000) - (160.100000, -60.000000)
Layer SRS WKT:
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.0174532925199433,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4326"]]
FID Column = fid
Geometry Column = geom
type: String (15.0)
scalerank: Integer (0.0)
featurecla: String (50.0)

Example of retrieving information on a file in JSON format without
showing details about every single feature:

ogrinfo -json poly.shp

{
"description":"autotest/ogr/data/poly.shp",
"driverShortName":"ESRI Shapefile",
"driverLongName":"ESRI Shapefile",
"layers":[
{
"name":"poly",
"metadata":{
"":{
"DBF_DATE_LAST_UPDATE":"2018-08-02"
},
"SHAPEFILE":{
"SOURCE_ENCODING":""
}
},
"geometryFields":[
{
"name":"",
"type":"Polygon",
"nullable":true,
"extent":[
478315.53125,
4762880.5,
481645.3125,
4765610.5
],
"coordinateSystem":{
"wkt":"PROJCRS[\"OSGB36 / British National Grid\",BASEGEOGCRS[\"OSGB36\",DATUM...",
"projjson":{
"$schema":"https://proj.org/schemas/v0.6/projjson.schema.json",
"type":"ProjectedCRS",
"name":"OSGB36 / British National Grid",
"base_crs":{
"name":"OSGB36",
"datum":{
"type":"GeodeticReferenceFrame",
"name":"Ordnance Survey of Great Britain 1936",
"ellipsoid":{
"name":"Airy 1830",
"semi_major_axis":6377563.396,
"inverse_flattening":299.3249646
}
},
"coordinate_system":{
"subtype":"ellipsoidal",
"axis":[
{
"name":"Geodetic latitude",
"abbreviation":"Lat",
"direction":"north",
"unit":"degree"
},
{
"name":"Geodetic longitude",
"abbreviation":"Lon",
"direction":"east",
"unit":"degree"
}
]
},
"id":{
"authority":"EPSG",
"code":4277
}
},
"conversion":{
"name":"British National Grid",
"method":{
"name":"Transverse Mercator",
"id":{
"authority":"EPSG",
"code":9807
}
},
"parameters":[
{
"name":"Latitude of natural origin",
"value":49,
"unit":"degree",
"id":{
"authority":"EPSG",
"code":8801
}
},
{
"name":"Longitude of natural origin",
"value":-2,
"unit":"degree",
"id":{
"authority":"EPSG",
"code":8802
}
},
{
"name":"Scale factor at natural origin",
"value":0.9996012717,
"unit":"unity",
"id":{
"authority":"EPSG",
"code":8805
}
},
{
"name":"False easting",
"value":400000,
"unit":"metre",
"id":{
"authority":"EPSG",
"code":8806
}
},
{
"name":"False northing",
"value":-100000,
"unit":"metre",
"id":{
"authority":"EPSG",
"code":8807
}
}
]
},
"coordinate_system":{
"subtype":"Cartesian",
"axis":[
{
"name":"Easting",
"abbreviation":"E",
"direction":"east",
"unit":"metre"
},
{
"name":"Northing",
"abbreviation":"N",
"direction":"north",
"unit":"metre"
}
]
},
"scope":"Engineering survey, topographic mapping.",
"area":"United Kingdom (UK) - offshore to boundary of UKCS within 49<degree>45...",
"bbox":{
"south_latitude":49.75,
"west_longitude":-9,
"north_latitude":61.01,
"east_longitude":2.01
},
"id":{
"authority":"EPSG",
"code":27700
}
},
"dataAxisToSRSAxisMapping":[
1,
2
]
}
}
],
"featureCount":10,
"fields":[
{
"name":"AREA",
"type":"Real",
"width":12,
"precision":3,
"nullable":true,
"uniqueConstraint":false
},
{
"name":"EAS_ID",
"type":"Integer64",
"width":11,
"nullable":true,
"uniqueConstraint":false
},
{
"name":"PRFEDEA",
"type":"String",
"width":16,
"nullable":true,
"uniqueConstraint":false
}
]
}
],
"metadata":{
},
"domains":{
},
"relationships":{
}
}

Example of using -q and an attribute query, to restrict the output to
certain features in a layer:

ogrinfo -q -ro \
-where 'GLOBAL_LINK_ID=185878' \
wrk/SHETLAND_ISLANDS.NTF BL2000_LINK

Layer name: BL2000_LINK
OGRFeature(BL2000_LINK):2
LINE_ID (Integer) = 2
GEOM_ID (Integer) = 2
FEAT_CODE (String) = (null)
GLOBAL_LINK_ID (Integer) = 185878
TILE_REF (String) = SHETLAND I
LINESTRING (419832.100 1069046.300,419820.100 1069043.800,...

Example of updating a value of an attribute in a shapefile with SQL
by using the SQLite dialect:

ogrinfo test.shp -dialect sqlite -sql "update test set attr='bar' where attr='foo'"

Adding a column to an input file:

ogrinfo input.shp -sql "ALTER TABLE input ADD fieldX float"

Sometimes there is no input file involved in a calculation. In such
cases one may use the :memory: input file which is a in-memory empty
SQLite file (and the SQLite SQL dialect will be implicitly used).

ogrinfo :memory: -sql "SELECT ST_Buffer(ST_GeomFromText('POINT(0 0)'), 1)"

AUTHOR


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

COPYRIGHT


1998-2025

January 8, 2025 OGRINFO(1)

tribblix@gmail.com :: GitHub :: Privacy