ogrinfo
列出有关OGR支持的数据源的信息。使用SQL语句还可以编辑数据。
简介
ogrinfo [--help-general] [-ro] [-q] [-where restricted_where|@filename]
[-spat xmin ymin xmax ymax] [-geomfield field] [-fid fid]
[-sql statement|@filename] [-dialect dialect] [-al] [-rl] [-so] [-fields={YES/NO}]
[-geom={YES/NO/SUMMARY/WKT/ISO_WKT}] [--formats] [[-oo NAME=VALUE] ...]
[-nomd] [-listmdd] [-mdd domain|`all`]*
[-nocount] [-noextent] [-nogeomtype] [-wkt_format WKT1|WKT2|...]
[-fielddomain name]
<datasource_name> [<layer> [<layer> ...]]
描述
这个 ogrinfo 程序将有关OGR支持的数据源的各种信息列出给stdout(终端)。通过执行SQL语句,还可以编辑数据。
- -ro
以只读模式打开数据源。
- -al
列出所有图层的所有特征(使用而不必将图层名称作为参数)。
- -rl
启用随机层读取模式,即按在数据集中找到的顺序对要素进行迭代,而不是每层迭代。对于某些格式(例如OSM、GMLAS),这可能会大大加快速度。
2.2 新版功能.
- -so
仅摘要:不显示单个要素的列表,只显示投影、模式、要素计数和范围等摘要信息。
- -q
安静详细地报告各种信息,包括坐标系、图层模式、范围和要素计数。
- -where <restricted_where>
SQL中使用的查询的受限形式的属性查询 WHERE 陈述。将只报告与属性查询匹配的功能。从GDAL 2.1开始
\filename
语法可用于指示内容位于指向的文件名中。
- -sql <statement>
执行指定的SQL语句并返回结果。从GDAL 2.1开始
@filename
语法可用于指示内容位于指向的文件名中。还可以使用SQL插入、更新、删除、删除表、更改表等编辑数据。编辑功能取决于所选的dialect
.
- -dialect <dialect>
SQL方言。在某些情况下可以使用(未优化) OGR-SQL方言 而不是通过传递
OGRSQL
方言价值。这个 SQL SQLite方言 方言可以用SQLITE
和INDIRECT_SQLITE
方言值,这可以用于任何数据源。
- -spat <xmin> <ymin> <xmax> <ymax>
感兴趣的领域。只报告矩形内的特征。
- -geomfield <field>
空间过滤器操作的几何体字段的名称。
- -fid <fid>
如果提供,则只报告具有此功能id的功能。不包括空间或属性查询。注意:如果要根据特征id选择多个特征,还可以使用“fid”是OGR SQL识别的特殊字段这一事实。所以, -where "fid in (1,3,5)" 将选择功能1、3和5。
- -fields YES|NO:
如果设置为
NO
,功能转储将不显示字段值。默认值为YES
.
- -fielddomain <domain_name>
3.3 新版功能.
Display details about a field domain.
- -geom YES|NO|SUMMARY|WKT|ISO_WKT
如果设置为
NO
,功能转储将不显示几何图形。如果设置为SUMMARY
,将仅显示几何图形的摘要。如果设置为YES
或ISO_WKT
,几何图形将以完整的OGC WKT格式报告。如果设置为WKT
几何图形将在legacy中报告WKT
. 默认值为YES
. (周和ISO_WKT
可从GDAL 2.1开始使用,该版本还将默认设置更改为ISO WKT)
- -oo NAME=VALUE
数据集打开选项(特定于格式)
- -nomd
取消元数据打印。某些数据集可能包含大量元数据字符串。
- -listmdd
列出数据集可用的所有元数据域。
- -mdd <domain>
报告指定域的元数据。
all
可用于报告所有域中的元数据。
- -nocount
禁止打印特征计数。
- -noextent
禁止空间范围打印。
- -nogeomtype
禁止图层几何图形类型打印。
3.1 新版功能.
- --formats
列出已启用的格式驱动程序。
- -wkt_format <format>
用于显示SRS的WKT格式。当前支持的
format
是:WKT1
WKT2
(WKT最新版本,目前 WKT2_2018 )WKT2_2015
WKT2_2018
3.0.0 新版功能.
- <datasource_name>
要打开的数据源。可以是文件名、目录或其他虚拟名称。有关支持的数据源,请参阅OGR矢量格式列表。
- <layer>
可以报告一个或多个图层名。如果没有传递层名称,则ogrinfo将报告可用层的列表(及其全层几何类型)。如果指定了图层名,则它们的范围、坐标系、要素计数、几何类型、模式和所有与查询参数匹配的要素都将报告给终端。如果未提供查询参数,则报告所有功能。
几何图形以OGC WKT格式报告。
实例
报告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)
使用属性查询限制图层中要素的输出的示例:
ogrinfo -ro \
-where 'GLOBAL_LINK_ID=185878' \
wrk/SHETLAND_ISLANDS.NTF BL2000_LINK
# INFO: Open of `wrk/SHETLAND_ISLANDS.NTF'
# using driver `UK .NTF' successful.
#
# Layer name: BL2000_LINK
# Geometry: Line String
# Feature Count: 1
# Extent: (419794.100000, 1069031.000000) - (419927.900000, 1069153.500000)
# Layer SRS WKT:
# PROJCS["OSGB 1936 / British National Grid",
# GEOGCS["OSGB 1936",
# DATUM["OSGB_1936",
# SPHEROID["Airy 1830",6377563.396,299.3249646]],
# PRIMEM["Greenwich",0],
# UNIT["degree",0.0174532925199433]],
# PROJECTION["Transverse_Mercator"],
# PARAMETER["latitude_of_origin",49],
# PARAMETER["central_meridian",-2],
# PARAMETER["scale_factor",0.999601272],
# PARAMETER["false_easting",400000],
# PARAMETER["false_northing",-100000],
# UNIT["metre",1]]
# LINE_ID: Integer (6.0)
# GEOM_ID: Integer (6.0)
# FEAT_CODE: String (4.0)
# GLOBAL_LINK_ID: Integer (10.0)
# TILE_REF: String (10.0)
# 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,419808.300
# 1069048.800,419805.100 1069046.000,419805.000 1069040.600,419809.400
# 1069037.400,419827.400 1069035.600,419842 1069031,419859.000
# 1069032.800,419879.500 1069049.500,419886.700 1069061.400,419890.100
# 1069070.500,419890.900 1069081.800,419896.500 1069086.800,419898.400
# 1069092.900,419896.700 1069094.800,419892.500 1069094.300,419878.100
# 1069085.600,419875.400 1069087.300,419875.100 1069091.100,419872.200
# 1069094.600,419890.400 1069106.400,419907.600 1069112.800,419924.600
# 1069133.800,419927.900 1069146.300,419927.600 1069152.400,419922.600
# 1069153.500,419917.100 1069153.500,419911.500 1069153.000,419908.700
# 1069152.500,419903.400 1069150.800,419898.800 1069149.400,419894.800
# 1069149.300,419890.700 1069149.400,419890.600 1069149.400,419880.800
# 1069149.800,419876.900 1069148.900,419873.100 1069147.500,419870.200
# 1069146.400,419862.100 1069143.000,419860 1069142,419854.900
# 1069138.600,419850 1069135,419848.800 1069134.100,419843
# 1069130,419836.200 1069127.600,419824.600 1069123.800,419820.200
# 1069126.900,419815.500 1069126.900,419808.200 1069116.500,419798.700
# 1069117.600,419794.100 1069115.100,419796.300 1069109.100,419801.800
# 1069106.800,419805.000 1069107.300)
使用SQLite方言用SQL更新shapefile中属性值的示例:
ogrinfo test.shp -dialect sqlite -sql "update test set attr='bar' where attr='foo'"