| OGRINFO(1) | GDAL | OGRINFO(1) |
نام (NAME)
ogrinfo - فهرست کردن اطلاعات درباره یک منبع داده با پشتیبانی OGR
خلاصه دستور (SYNOPSIS)
Usage: ogrinfo [--help] [--long-usage] [--help-general]
[-json] [-ro] [-update] [--quiet] [-fid <FID>]
[-spat <xmin> <ymin> <xmax> <ymax>] [-geomfield <field>]
[-where <restricted_where>]
[[-sql <statement|@filename>]|[-rl]]
[-dialect <dialect>] [-al]
[[-summary]|[-features]]
[-limit <nb_features>] [-fields YES|NO]
[-geom YES|NO|SUMMARY|WKT|ISO_WKT] [-oo <NAME=VALUE>]... [-nomd]
[-listmdd] [-mdd <domain>]... [-nocount] [-noextent] [-extent3D]
[-nogeomtype] [-wkt_format WKT1|WKT2|WKT2_2015|WKT2_2019]
[-fielddomain <name>] [-if <format>]...
filename [<layer_name>]...
توضیحات (DESCRIPTION)
برنامه ogrinfo اطلاعات مختلفی را درباره یک منبع داده با پشتیبانی OGR در خروجی استاندارد (ترمینال) فهرست میکند. همچنین با اجرای دستورات SQL امکان ویرایش دادهها نیز وجود دارد.
نکته:
دستور gdal vector info را ببینید.
گزینهها (OPTIONS)
- --help
- نمایش این پیام راهنما و خروج.
- --help-general
- نمایش پیام خلاصه نحوه استفاده برای گزینههای عمومی خط فرمان GDAL و خروج.
- -if <format>
- نام
فرمت/درایور
برای تلاش
جهت باز
کردن فایل
(یا
فایلهای)
ورودی.
معمولاً
نیازی به
تعیین آن
نیست، اما
میتوان
برای
صرفنظر از
تشخیص
خودکار
درایور،
هنگامی که
درایور
مناسب
انتخاب
نمیشود،
از آن
استفاده
کرد. این
گزینه
میتواند
چندین بار
برای تعیین
چند درایور
نامزد
تکرار شود.
توجه داشته
باشید که
این گزینه،
درایورها
را مجبور به
باز کردن
مجموعه
داده
نمیکند؛
بهویژه
برخی
درایورها
نیازمندیهایی
روی پسوند
فایل دارند.
افزوده شده در نسخه 3.2.
- -json
- نمایش
خروجی در
قالب JSON،
مطابق با
طرحواره
ogrinfo_output.schema.json.
افزوده شده در نسخه 3.7.
- -ro
- باز کردن منبع داده در حالت فقطخواندنی (read-only).
- -al
- فهرست کردن تمام لایهها (به جای نیاز به ارسال نام لایهها به عنوان آرگومان استفاده میشود). در خروجی متنی پیشفرض، این گزینه همچنین فهرست کردن تمام عوارض (features) را فعال میکند که میتوان با گزینه -so آن را غیرفعال کرد. در خروجی JSON، گزینه -al به طور ضمنی فعال است، اما فهرست کردن عوارض باید صریحاً با گزینه -features فعال شود.
- -rl
- فعال کردن حالت خواندن تصادفی لایهها؛ یعنی پیمایش روی عوارض به ترتیبی که در مجموعه داده قرار دارند، نه به صورت لایه به لایه. این کار میتواند برای برخی فرمتها (مانند OSM و GMLAS) به طور چشمگیری سریعتر باشد. گزینه -rl نمیتواند همزمان با -sql استفاده شود.
- -so
- فقط خلاصه (Summary Only): جلوگیری از فهرست کردن تکتک عوارض و نمایش فقط اطلاعات خلاصهای مانند سیستم تصویر، طرحواره (schema)، تعداد عوارض و محدودهها (extents). در خروجی JSON، گزینه -so به طور ضمنی فعال است و فهرست کردن عوارض میتواند با -features فعال شود.
- -features
- فعال کردن
فهرستبندی
عوارض. این
گزینه اثر
معکوس -so را
دارد.
در صورت استفاده از تابع کتابخانهای GDALVectorInfo() و/یا گزینه -json، این گزینه باید با احتیاط استفاده شود؛ زیرا کل خروجی ogrinfo در حافظه ساخته خواهد شد. در نتیجه، هنگام استفاده روی مجموعه بزرگی از عوارض، ممکن است حافظه RAM تمام شود.
افزوده شده در نسخه 3.7.
- -limit <nb_features>
- افزوده شده
در نسخه 3.9.
محدود کردن تعداد عوارض در هر لایه.
- -q
- حالت بیصدا: غیرفعال کردن گزارش پرجزئیات اطلاعات مختلف شامل دستگاه مختصات، طرحواره لایه، محدودهها و تعداد عوارض.
- -where <restricted_where>
- یک
پرسوجوی
ویژگی (attribute query)
به شکل
محدودشده
از
پرسوجوهای
مورد
استفاده در
عبارت WHERE در
SQL. تنها
عوارضی که
با این
پرسوجوی
ویژگی
مطابقت
داشته
باشند
گزارش
خواهند شد.
دستور
نگارش @<filename>
میتواند
برای مشخص
کردن اینکه
محتوا در
فایلی با
نام
مشخصشده
قرار دارد
استفاده
شود.
مثالی از -where و استفاده از نقلقول:
-where "\"Corner Point Identifier\" LIKE '%__00_00'"
نکته: گزینه -dialect همراه با -where نادیده گرفته میشود. اگر میخواهید از -dialect استفاده کنید، به جای -where از -sql استفاده نمایید.
- -sql <statement>|@<filename>
- اجرای دستور SQL مشخصشده و بازگرداندن نتیجه. دستور نگارش @<filename> میتواند برای نشان دادن این موضوع استفاده شود که محتوا در فایل مشخصشده قرار دارد (برای مثال @my_select.txt که در آن my_select.txt فایلی در دایرکتوری جاری است). دادهها همچنین میتوانند با دستورات INSERT ،UPDATE ،DELETE ،DROP TABLE ،ALTER TABLE و غیره در SQL ویرایش شوند. قابلیتهای ویرایش به گویش (dialect) انتخابشده با گزینه -dialect بستگی دارد.
- -dialect <dialect>
- گویش SQL. در برخی موارد با ارسال مقدار گویش OGRSQL میتوان به جای SQL بومی یک RDBMS، از گویش OGR SQL (بهینهسازینشده) استفاده کرد. گویش SQLite در SQL را میتوان با مقادیر گویش SQLITE و INDIRECT_SQLITE انتخاب کرد، و این گویش میتواند با هر منبع دادهای استفاده شود. نکته: گزینه -dialect همراه با -where نادیده گرفته میشود. اگر میخواهید از -dialect استفاده کنید، به جای -where از -sql استفاده نمایید.
- -spat <xmin> <ymin> <xmax> <ymax>
- محدوده جغرافیایی مورد نظر. تنها عوارض درون این مستطیل گزارش خواهند شد.
- -geomfield <field>
- نام فیلد هندسهای که فیلتر مکانی روی آن اعمال میشود.
- -fid <fid>
- در صورت تعیین، تنها عارضهای با این شناسه عارضه (feature id) گزارش خواهد شد. به صورت انحصاری نسبت به پرسوجوهای مکانی یا توصیفی عمل میکند. نکته: اگر میخواهید چندین عارضه را بر اساس شناسه آنها انتخاب کنید، میتوانید از این واقعیت استفاده کنید که 'fid' یک فیلد ویژه شناختهشده توسط OGR SQL است. بنابراین، -where "fid in (1,3,5)" عوارض ۱، ۳ و ۵ را انتخاب خواهد کرد.
- -fields=YES|NO
- اگر روی NO تنظیم شود، خروجی عوارض مقادیر فیلدها را نمایش نخواهد داد. مقدار پیشفرض YES است.
- -fielddomain <domain_name>
- افزوده شده
در نسخه 3.3.
نمایش جزئیات درباره یک دامنه فیلد (field domain).
- -geom=YES|NO|SUMMARY|WKT|ISO_WKT
- اگر روی NO تنظیم شود، خروجی عوارض اطلاعات هندسه را نمایش نخواهد داد. اگر روی SUMMARY تنظیم شود، تنها خلاصهای از هندسه نمایش داده میشود. اگر روی YES یا ISO_WKT تنظیم شود، هندسه در فرمت کامل OGC WKT گزارش خواهد شد. اگر روی WKT تنظیم شود، هندسه در قالب سنتی WKT گزارش خواهد شد. مقدار پیشفرض YES است.
- -oo <NAME>=<VALUE>
- گزینه باز
کردن
مجموعه
داده (مختص
فرمت).
اگر یک درایور از گزینه باز کردن OGR_SCHEMA پشتیبانی کند، میتوان از آن برای بازنویسی جزئی یا کامل طرحواره شناساییشده خودکار (یعنی اینکه چه فیلدهایی با چه نوعها، زیرنوعها، طول، دقت و غیره خوانده شوند) مجموعه داده استفاده کرد.
مقدار این گزینه یک رشته JSON یا مسیری به یک فایل JSON است که با تعریف طرحواره گزینه باز کردن OGR_SCHEMA مطابقت دارد.
- -nomd
- جلوگیری از چاپ متاداده (فرادهاده). برخی مجموعههای داده ممکن است حاوی تعداد زیادی رشته متاداده باشند.
- -listmdd
- فهرست کردن تمام دامنههای متاداده موجود برای مجموعه داده.
- -mdd <domain>
- گزارش متاداده برای دامنه مشخصشده. از all میتوان برای گزارش متاداده در تمام دامنهها استفاده کرد.
- -nocount
- جلوگیری از چاپ تعداد عوارض.
- -noextent
- جلوگیری از چاپ محدوده مکانی.
- -extent3D
- افزوده شده
در نسخه 3.9.
درخواست گزارش محدوده سهبعدی (3D) (حالت پیشفرض فقط دوبعدی 2D است). توجه داشته باشید که این عملیات بسته به قابلیتهای فرمت و درایور ممکن است کندتر از درخواست محدوده دوبعدی باشد.
- -nogeomtype
- جلوگیری از
چاپ نوع
هندسه لایه.
افزوده شده در نسخه 3.1.
- --formats
- فهرست کردن تمام فرمتهای برداری پشتیبانیشده توسط این ساخت GDAL (فقطخواندنی و خواندن/نوشتن) و خروج. پشتیبانی از فرمت به شرح زیر نشان داده میشود:
- ro درایور فقطخواندنی است
- rw خواندن یا نوشتن است (یعنی از GDALDriver::CreateCopy() پشتیبانی میکند)
- rw+ خواندن، نوشتن و بهروزرسانی است (یعنی از GDALDriver::Create() پشتیبانی میکند)
- حرف v برای فرمتهایی که از ورودی/خروجی مجازی (/vsimem، /vsigzip، /vsizip و غیره) پشتیبانی میکنند الحاق میشود.
- حرف s برای فرمتهایی که از زیرمجموعهدادهها پشتیبانی میکنند الحاق میشود.
ترتیبی که درایورها فهرست میشوند همان ترتیبی است که در سیستم ثبت شدهاند، که تعیینکننده ترتیبی است که هنگام باز کردن یک مجموعه داده به صورت پیاپی بررسی میشوند. در بیشتر مواقع این ترتیب اهمیتی ندارد، اما در برخی شرایط ممکن است چندین درایور یک فایل یکسان را شناسایی کنند. گزینه -if در برخی ابزارها میتواند برای محدود کردن باز کردن مجموعه داده به زیرمجموعهای از درایورها (معمولاً یکی) تعیین شود. توجه داشته باشید که این کار، آن درایورها را مجبور به باز کردن مجموعه داده نمیکند؛ بهویژه برخی درایورها الزاماتی برای پسوند فایل دارند. به عنوان روشی دیگر، گزینه پیکربندی GDAL_SKIP نیز میتواند برای مستثنی کردن یک یا چند درایور استفاده شود.
- -wkt_format <format>
- فرمت WKT مورد
استفاده
برای نمایش
SRS (دستگاه
مرجع
مکانی).
مقادیر
پشتیبانیشده
کنونی برای
format عبارتند
از:
WKT1
WKT2 (جدیدترین نسخه WKT، در حال حاضر WKT2_2018)
WKT2_2015
WKT2_2018
افزوده شده در نسخه 3.0.0.
- <datasource_name>
- منبع دادهای که باید باز شود. میتواند نام فایل، دایرکتوری یا نامهای مجازی دیگر باشد. برای منابع داده پشتیبانیشده، فهرست OGR Vector Formats را ببینید.
- <layer>
- یک یا چند
نام لایه
میتوانند
گزارش شوند.
اگر هیچ نام
لایهای
ارسال
نشود، ogrinfo
فهرستی از
لایههای
موجود (و
نوع هندسه
سراسری
آنها) را
گزارش
میدهد. اگر
نام لایه
(یا
لایهها)
داده شود،
آنگاه
محدودهها،
دستگاه
مختصات،
تعداد
عوارض، نوع
هندسه،
طرحواره و
تمام عوارض
مطابق با
پارامترهای
پرسوجو به
ترمینال
گزارش داده
میشوند.
اگر هیچ
پارامتر
پرسوجویی
ارائه
نشود، تمام
عوارض
گزارش داده
خواهند شد.
هندسهها در قالب OGC WKT گزارش میشوند.
کد وضعیت بازگشتی (RETURN STATUS CODE)
برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقداری غیر صفر برمیگرداند (خطاهای غیرمسدودکننده که به صورت هشدار اعلام میشوند، اجرای موفقیتآمیز در نظر گرفته میشوند).
رابط برنامهنویسی سی (C API)
این ابزار همچنین از طریق زبان C با تابع GDALVectorInfo() قابل فراخوانی است.
افزوده شده در نسخه 3.7.
مثالها (EXAMPLES)
مثال ۱: گزارش کردن نام لایهها در یک فایل 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,...
مثال ۵: بهروزرسانی مقدار یک ویژگی در یک Shapefile با SQL و استفاده از گویش SQLite
ogrinfo test.shp -dialect sqlite -sql "update test set attr='bar' where attr='foo'"
مثال ۶: افزودن یک ستون به فایل ورودی
ogrinfo input.shp -sql "ALTER TABLE input ADD fieldX float"
مثال ۷: اجرای یک پرسوجوی SQL بدون فایل ورودی
گاهی اوقات هیچ فایل ورودی در محاسبات درگیر نیست. در چنین مواردی میتوان از فایل ورودی :memory: استفاده کرد که یک فایل SQLite خالی در حافظه است (و گویش SQLite SQL به طور ضمنی استفاده خواهد شد).
ogrinfo :memory: -sql "SELECT ST_Buffer(ST_GeomFromText('POINT(0 0)'), 1)"
نویسندگان (AUTHORS)
Frank Warmerdam <warmerdam@pobox.com>, Silke Reimer <silke@intevation.de>
حق نشر (COPYRIGHT)
1998-2026
| August 18, 2026 |