GDAL-VECTOR-SELECT(1) GDAL GDAL-VECTOR-SELECT(1)
نام (NAME)
gdal-vector-select - انتخاب زیرمجموعهای از فیلدها از یک مجموعهداده
برداری
در نسخه 3.11 اضافه شد.
خلاصه دستور (SYNOPSIS)
Usage: gdal vector select [OPTIONS]
Select a subset of fields from a vector dataset.
Positional arguments:
-i, --input Input vector datasets [required] [not available in pipelines]
-o, --output Output vector dataset [required] [not available in pipelines]
--fields Fields to select (or exclude if --exclude) [may be repeated] [required]
Common Options:
-h, --help Display help message and exit
--json-usage Display usage as JSON document and exit
--config = Configuration option [may be repeated]
-q, --quiet Quiet mode (no progress bar or warning message) [not available in pipelines]
Options:
-l, --layer, --input-layer Input layer name(s) [may be repeated] [not available in pipelines]
-f, --of, --format, --output-format Output format ("GDALG" allowed) [not available in pipelines]
--co, --creation-option = Creation option [may be repeated] [not available in pipelines]
--lco, --layer-creation-option = Layer creation option [may be repeated] [not available in pipelines]
--overwrite Whether overwriting existing output dataset is allowed [not available in pipelines]
--update Whether to open existing dataset in update mode [not available in pipelines]
--overwrite-layer Whether overwriting existing output layer is allowed [not available in pipelines]
--append Whether appending to existing layer is allowed [not available in pipelines]
Mutually exclusive with --upsert
--output-layer Output layer name
--skip-errors Skip errors when writing features [not available in pipelines]
--active-layer Set active layer (if not specified, all)
--exclude Exclude specified fields
Mutually exclusive with --ignore-missing-fields
--ignore-missing-fields Ignore missing fields
Mutually exclusive with --exclude
Advanced Options:
--if, --input-format Input formats [may be repeated] [not available in pipelines]
--oo, --open-option = Open options [may be repeated] [not available in pipelines]
--output-oo, --output-open-option = Output open options [may be repeated] [not available in pipelines]
--upsert Upsert features (implies 'append') [not available in pipelines]
Mutually exclusive with --append
توضیحات (DESCRIPTION)
دستور gdal vector select میتواند برای انتخاب زیرمجموعهای از فیلدها
استفاده شود.
همچنین select میتواند به عنوان مرحلهای از gdal vector pipeline به کار
رود.
خروجی GDALG (مجموعهداده برخط / جریانی) (GDALG OUTPUT (ON-THE-FLY / STREAMED
DATASET))
این برنامه از سریالسازی خط فرمان به صورت یک فایل JSON با استفاده از
قالب خروجی GDALG پشتیبانی میکند. فایل حاصل را میتوان سپس به عنوان یک
مجموعهداده برداری با استفاده از درایور GDALG: GDAL Streamed Algorithm
باز کرد و خط لوله مشخصشده را به صورت برخط (on-the-fly) / جریانی
(streamed) اعمال نمود.
گزینههای ویژه برنامه (PROGRAM-SPECIFIC OPTIONS)
--exclude
رفتار الگوریتم را به گونهای تغییر میدهد که همه فیلدها انتخاب
شوند، به جز مواردی که با --fields مشخص شدهاند.
--fields
فهرستی از فیلدهای لایه ورودی که با ویرگول از هم جدا شدهاند برای
کپی شدن در لایه جدید (یا مستثنی شدن در صورتی که --exclude تعیین
شده باشد).
نامهای فیلدی که دارای فاصله، ویرگول یا علامت گیومه
(double-quote) هستند باید با گیومه دوتایی در ابتدا و انتها احاطه
شوند، و نویسههای گیومه در نام یک فیلد باید با بکاسلش اسکیپ شوند.
بسته به پوسته مورد استفاده، ممکن است نقلقولهای بیشتری لازم باشد.
برای نمونه، جهت انتخاب regular_field، a_field_with space, and
comma و a field with " double quote در یک پوسته یونیکس:
--fields "regular_field,\"a_field_with space, and comma\",\"a field with \\\" double quote\""
هر فیلد حتی اگر چندین بار در فهرست ذکر شده باشد، تنها یک بار
انتخاب میشود.
فیلدهای هندسه نیز میتوانند در این فهرست مشخص شوند. اگر لایه مبدأ
هیچ نام صریحی برای فیلد هندسه نداشته باشد، باید از
_ogr_geometry_ برای انتخاب فیلد هندسه منحصربهفرد استفاده شود.
تعیین نام فیلد مبدئی که وجود ندارد، منجر به بروز خطا میشود.
--ignore-missing-fields
بهطور پیشفرض، اگر فیلد مشخصشده توسط --fields در لایه(های) ورودی
وجود نداشته باشد، خطایی صادر شده و پردازش متوقف میشود. هنگام
تعیین --ignore-missing-fields، تنها یک هشدار صادر شده و فیلدهای
ناموجود صرفاً نادیده گرفته میشوند.
گزینههای استاندارد (STANDARD OPTIONS)
--active-layer
تنظیم لایه فعال. هنگامی که این گزینه تعیین شود، تنها لایهای که
با نام آن مشخص شده است تحت پردازش قرار میگیرد. سایر لایهها
تغییری نخواهند کرد. اگر این گزینه مشخص نشود، تمامی لایهها تحت
پردازش قرار خواهند گرفت.
--append
آیا افزودن و الحاق عوارض به لایه(های) موجود مجاز است یا خیر.
این گزینه در صورتی که مجموعهداده خروجی هنوز وجود نداشته باشد، آن
را نیز ایجاد میکند.
--co, --creation-option =
بسیاری از قالبها یک یا چند گزینه اختیاری ساخت مجموعهداده دارند
که میتوانند برای کنترل ویژگیهای فایل ایجادشده استفاده شوند. برای
نمونه، درایور GeoPackage از گزینههای ساختی برای کنترل نسخه
پشتیبانی میکند.
میتواند تکرار شود.
گزینههای ساخت مجموعهداده موجود بسته به درایور قالب متفاوت است، و
برخی از قالبهای ساده هیچ گزینه ساختی ندارند. فهرستی از گزینههای
پشتیبانیشده برای یک قالب را میتوان با گزینه خط فرمان --formats
مشاهده کرد، اما مستندات قالب، مرجع قطعی اطلاعات درباره گزینههای
ساخت درایور است. برای گزینههای ساخت مجاز هر قالب، به مستندات
ویژه قالب Vector drivers مراجعه کنید.
توجه داشته باشید که گزینههای ساخت مجموعهداده با گزینههای ساخت
لایه متفاوت هستند.
--if, --input-format
نام قالب/درایوری که باید برای باز کردن فایل(های) ورودی تلاش شود.
بهطور کلی نیازی به تعیین آن نیست، اما در مواردی که تشخیص خودکار
درایور در انتخاب درایور مناسب شکست میخورد، میتواند برای نادیده
گرفتن آن استفاده شود. این گزینه میتواند چندین بار تکرار شود تا
چند درایور کاندید مشخص گردد. توجه داشته باشید که این گزینه آن
درایورها را به باز کردن مجموعهداده مجبور نمیکند. بهویژه، برخی
درایورها نیازمندیهایی برای پسوند فایل دارند.
میتواند تکرار شود.
--input-layer
نام یک یا چند لایه را برای پردازش مشخص میکند. بهطور پیشفرض، تمام
لایهها پردازش خواهند شد. برای خواندن و نوشتن تمام لایهها اما فقط
پردازش یک زیرمجموعه، از --active-layer استفاده کنید.
--lco, --layer-creation-option =
بسیاری از قالبها یک یا چند گزینه اختیاری ساخت لایه دارند که
میتوانند برای کنترل خصوصیات لایه ایجادشده استفاده شوند. برای
نمونه، درایور GeoPackage از گزینههای ساخت لایه برای کنترل شناسه
عارضه یا نام ستون هندسه، تنظیم شناسه یا توضیحات و غیره پشتیبانی
میکند.
میتواند تکرار شود.
گزینههای ساخت لایه موجود بسته به درایور قالب متفاوت است، و برخی
از قالبهای ساده هیچ گزینه ساخت لایهای ندارند. فهرستی از گزینههای
پشتیبانیشده برای یک قالب را میتوان با گزینه خط فرمان --formats
مشاهده کرد، اما مستندات قالب، مرجع قطعی اطلاعات درباره گزینههای
ساخت درایور است. برای گزینههای ساخت مجاز هر قالب، به مستندات
ویژه قالب Vector drivers مراجعه کنید.
توجه داشته باشید که گزینههای ساخت لایه با گزینههای ساخت
مجموعهداده متفاوت هستند.
--oo, --open-option =
گزینه باز کردن مجموعهداده (ویژه قالب).
میتواند تکرار شود.
-f, --of, --format, --output-format
تعیین قالب برداری خروجی مورد استفاده. مقادیر مجاز را میتوان از
طریق دستور زیر به دست آورد: gdal --formats | grep vector | grep
rw | sort
--output-layer
نام لایهای را مشخص میکند که عوارض در آن نوشته خواهند شد. اگر
مشخص نشود، نام لایههای خروجی مشابه نام لایههای ورودی خواهد بود.
--output-open-option, --output-oo =
در نسخه 3.12 اضافه شد.
گزینه باز کردن مجموعهداده برای مجموعهداده خروجی (ویژه قالب).
میتواند تکرار شود.
--overwrite
به برنامه اجازه میدهد فایل یا مجموعهداده هدف موجود را رونویسی
کند. در غیر این صورت، بهطور پیشفرض، اگر فایل یا مجموعهداده هدف
از قبل وجود داشته باشد، gdal با خطا متوقف میشود.
--overwrite-layer
آیا رونویسی لایه برداری خروجی موجود مجاز است یا خیر.
--skip-errors
در نسخه 3.12 اضافه شد.
آیا خطاهای رخداده هنگام نوشتن عارضه(ها) نادیده گرفته شوند یا
خیر. توجه داشته باشید که این گزینه اندازه واحد تراکنش را به یک
عارضه در هر زمان تنظیم میکند، که ممکن است هنگام درج دادهها در
پایگاههای داده موجب کندی شدید شود.
--update
آیا مجموعهداده خروجی موجود در حالت بهروزرسانی باز شود یا خیر.
--upsert
در نسخه 3.12 اضافه شد.
گونهای از --append که در آن به جای الحاق با
OGRLayer::CreateFeature()، از عملیات OGRLayer::UpsertFeature()
برای درج یا بهروزرسانی عوارض استفاده میشود.
این ویژگی در حال حاضر تنها در چند درایور پیادهسازی شده است: GPKG
-- GeoPackage vector، Elasticsearch: Geographically Encoded
Objects for Elasticsearch و MongoDBv3 (درایورهایی که upsert را
پیادهسازی میکنند، قابلیت GDAL_DCAP_UPSERT را ارائه میدهند).
عملیات upsert در صورت تنظیم بودن FID عارضه ورودی (و در صورتی که
نام ستون FID یک رشته خالی نباشد)، از آن به عنوان کلیدی برای
بهروزرسانی عوارض موجود استفاده میکند. بسیار حیاتی است که اطمینان
حاصل شود مقادیر FID در لایههای مبدأ و مقصد سازگار هستند.
برای درایور GPKG، همچنین امکان درج یا بهروزرسانی عوارضی که FID
آنها تنظیم نشده یا فاقد اهمیت است وجود دارد (میتوان از گزینه
--unset-fid در gdal vector edit برای نادیده گرفتن FID عارضه مبدأ
استفاده کرد)، مشروط بر اینکه یک ستون UNIQUE وجود داشته باشد که
کلید اصلی عددی صحیح نباشد.
وضعیت خروج (EXIT STATUS)
برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقدار غیر صفر را
برمیگرداند (خطاهای غیرمسدودکننده که به عنوان هشدار صادر میشوند، به
عنوان اجرای موفقیتآمیز در نظر گرفته خواهند شد).
مثالها (EXAMPLES)
مثال ۱: انتخاب فیلد EAS_ID و فیلد هندسه از یک Shapefile
$ gdal vector select in.shp out.gpkg "EAS_ID,_ogr_geometry_" --overwrite
مثال ۲: حذف فیلدهای حساس از یک لایه
$ gdal vector select in.shp out.gpkg --exclude "name,surname,address" --overwrite
نویسندگان (AUTHORS)
Even Rouault
کپیرایت و تکثیر (COPYRIGHT)
1998-2026
August 18, 2026 GDAL-VECTOR-SELECT(1)