ogrinfo

OGR がサポートするデータソースに関する情報をリストします. SQL ステートメントを使用してデータを編集することも可能です.

概要

ogrinfo [--help] [--help-general]
        [-if <driver_name>] [-json] [-ro] [-q] [-where <restricted_where>|@f<ilename>]
        [-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> ...]]

説明

ogrinfo プログラムは, OGR がサポートするデータソースに関するさまざまな情報を標準出力 (端末) にリストします. SQL ステートメントを実行することでデータを編集することも可能です.

--help

このヘルプメッセージを表示して終了します

--help-general

一般的な GDAL コマンドラインオプションの使用方法についての簡単なメッセージを表示して終了します.

-if <format>

入力ファイルを開こうとするフォーマット/ドライバ名です. 通常は指定する必要はありませんが, 適切なドライバを選択できない場合に自動ドライバ検出をスキップするために使用できます. このオプションは複数回繰り返して複数の候補ドライバを指定することができます. これらのドライバにデータセットを開かせることは強制されません. 特に, 一部のドライバはファイル拡張子に要件を持っています.

Added in version 3.2.

-json

出力を JSON 形式で表示し, ogrinfo_output.schema.json スキーマに準拠します.

Added in version 3.7.

-ro

データソースを読み取り専用モードで開きます.

-al

すべてのレイヤーをリストします (引数としてレイヤー名を指定する代わりに使用されます). デフォルトのテキスト出力では, これによりすべての地物がリストされるため, -so で無効にできます. JSON 出力では, -al は暗黙的になりますが, フィーチャのリストは -features で明示的に有効にする必要があります.

-rl

ランダムレイヤー読み取りモードを有効にします. つまり, データセットで見つかった順に 地物を反復処理し, レイヤーごとにではなくなります. これは一部のフォーマット (たとえば OSM, GMLAS) でかなり高速になります. -rl は -sql と一緒に使用できません.

Added in version 2.2.

-so

サマリーのみ: 個々のフィーチャのリストを抑制し, 投影, スキーマ, フィーチャ数, 範囲などのサマリー情報のみを表示します. JSON 出力では, -so は暗黙的であり, 地物のリストは -features で有効にできます.

-features

地物のリストを有効にします. これは -so の逆の効果があります.

ライブラリ関数 GDALVectorInfo() および/または -json を使用する場合は, ogrinfo の全出力がメモリに構築されるため, このオプションは注意して使用する必要があります. その結果, 大量の地物に使用すると, RAM が枯渇する可能性があります.

Added in version 3.7.

-limit <nb_features>

Added in version 3.9.

レイヤーごとの地物数を制限します.

-q

座標系, レイヤースキーマ, 範囲, 地物数などのさまざまな情報の静かな冗長な報告.

-where <restricted_where>

SQL の WHERE ステートメントで使用されるクエリの制限された形式の属性クエリ. 属性クエリに一致する地物のみが報告されます. GDAL 2.1 以降, @<filename> 構文を使用して, コンテンツが指定されたファイル名にあることを示すことができます.

-where と引用符の例:

-where "\"Corner Point Identifier\" LIKE '%__00_00'"
-sql <statement>|@<filename>

指定された SQL ステートメントを実行して結果を返します. GDAL 2.1 以降, @<filename> 構文を使用して, コンテンツが指定されたファイル名にあることを示すことができます (たとえば, @my_select.txt で my_select.txt が現在のディレクトリにあるファイルです). データは SQL INSERT, UPDATE, DELETE, DROP TABLE, ALTER TABLE などで編集することもできます. 編集機能は, -dialect で選択された方言に依存します.

-dialect <dialect>

SQL 方言. 一部の場合には, ネイティブ SQL ではなく (最適化されていない) OGR SQL 方言 を使用するために, OGRSQL 方言値を渡すことができます. SQL SQLite方言SQLITE および INDIRECT_SQLITE 方言値で選択でき, これは任意のデータソースで使用できます.

-spat <xmin> <ymin> <xmax> <ymax>

興味のある領域. 長方形内の地物のみが報告されます.

-geomfield <field>

空間フィルタが作用するジオメトリフィールドの名前.

-fid <fid>

指定された場合, このフィーチャ ID のフィーチャのみが報告されます. 空間または属性クエリと排他的に作用します. 注: フィーチャ ID に基づいて複数のフィーチャを選択したい場合は, OGR SQL によって認識される特別なフィールドである 'fid' があることを利用することもできます. したがって, -where "fid in (1,3,5)" はフィーチャ 1, 3, 5 を選択します.

-fields=YES|NO

NO に設定されている場合, フィーチャダンプはフィールド値を表示しません. デフォルト値は YES です.

-fielddomain <domain_name>

Added in version 3.3.

フィールドドメインに関する詳細を表示します.

-geom=YES|NO|SUMMARY|WKT|ISO_WKT

NO に設定されている場合, フィーチャダンプはジオメトリを表示しません. SUMMARY に設定されている場合, ジオメトリのサマリーのみが表示されます. YES または ISO_WKT に設定されている場合, ジオメトリは完全な OGC WKT 形式で報告されます. WKT に設定されている場合, ジオメトリはレガシー WKT で報告されます. デフォルト値は YES です. (WKT および ISO_WKT は GDAL 2.1 から利用可能であり, デフォルトも ISO_WKT に変更されます)

-oo <NAME>=<VALUE>

データセットオープンオプション (フォーマット固有)

-nomd

メタデータの印刷を抑制します. 一部のデータセットには多くのメタデータ文字列が含まれている場合があります.

-listmdd

データセットで利用可能なすべてのメタデータドメインをリストします.

-mdd <domain>

指定されたドメインのメタデータを報告します. all を使用してすべてのドメインのメタデータを報告できます.

-nocount

地物数の出力を抑制します.

-noextent

空間範囲の出力を抑制します.

-extent3D

Added in version 3.9.

報告される 3D 範囲をリクエストします (デフォルトは 2D のみ). フォーマットとドライバの機能によっては, この操作が 2D 範囲をリクエストするよりも遅くなる可能性があります.

-nogeomtype

レイヤーのジオメトリタイプの出力を抑制します.

Added in version 3.1.

--formats

この GDAL ビルドでサポートされているすべてのベクトルフォーマット (読み取り専用および読み書き) をリストして終了します. フォーマットサポートは次のように示されます:

  • ro は読み取り専用ドライバです

  • rw は読み取りまたは書き込み (つまり, GDALDriver::CreateCopy() をサポート)

  • rw+ は読み取り, 書き込み, 更新 (つまり, GDALDriver::Create() をサポート)

  • A v は仮想 IO (/vsimem, /vsigzip, /vsizip など) をサポートするフォーマットに追加されます.

  • A s はサブデータセットをサポートするフォーマットに追加されます.

ドライバがリストされる順序は, データセットを開くときに連続的に調査される順序を決定する登録された順序です. ほとんどの場合, この順序は重要ではありませんが, いくつかの状況では, 複数のドライバが同じファイルを認識することがあります. 一部のユーティリティの -if オプションを使用して, データセットをドライバのサブセット (通常は 1 つ) で開くように制限できます. これらのドライバにデータセットを開かせることは強制されません. 特に, 一部のドライバはファイル拡張子に要件を持っています. 代わりに, GDAL_SKIP 構成オプションを使用して, 1 つまたは複数のドライバを除外することもできます.

-wkt_format <format>

SRS を表示するために使用される WKT 形式. 現在サポートされている format の値は次のとおりです:

WKT1

WKT2 (最新の WKT バージョン, 現在 WKT2_2018 です)

WKT2_2015

WKT2_2018

Added in version 3.0.0.

<datasource_name>

開くデータソース. ファイル名, ディレクトリ, または他の仮想名にすることができます. サポートされているデータソースについては, OGR ベクトルフォーマットリストを参照してください.

<layer>

1 つ以上のレイヤー名が報告される場合があります. レイヤー名が渡されない場合, ogrinfo は利用可能なレイヤーのリスト (およびレイヤー全体のジオメトリタイプ) を報告します. レイヤー名が指定されている場合, その範囲, 座標系, 地物数, ジオメトリタイプ, スキーマ, およびクエリパラメータに一致するすべての地物が端末に報告されます. クエリパラメータが提供されていない場合, すべての地物が報告されます.

ジオメトリは OGC WKT 形式で報告されます.

C API

このユーティリティは GDALVectorInfo() を使用して C からも呼び出すことができます.

Added in version 3.7.

NTF ファイルのレイヤー名を報告する例:

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)

各個別地物の詳細を表示しないでレイヤーのサマリー (-so) を取得する例:

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)

各個別地物の詳細を表示せずに JSON 形式でファイルの情報を取得する例:

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°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":{
  }
}

-q と属性クエリを使用して, レイヤー内の特定の地物に出力を制限する例:

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

SQLite 方言を使用して SQL でシェープファイルの属性の値を更新する例:

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

入力ファイルに列を追加する:

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

計算に入力ファイルが関与していない場合があります. そのような場合には, 空のメモリ内 SQLite ファイルである :memory: 入力ファイルを使用できます (および SQLite SQL 方言が暗黙的に使用されます).

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