GDAL-VECTOR-SET-FIELD-TYPE(1) GDAL GDAL-VECTOR-SET-FIELD-TYPE(1)
نام (NAME)
gdal-vector-set-field-type - تغییر نوع یک فیلد در مجموعهداده برداری
افزودهشده در نسخه 3.12.
خلاصه دستور (SYNOPSIS)
Usage: gdal vector set-field-type [OPTIONS]
تغییر نوع یک فیلد در مجموعهداده برداری.
آرگومانهای مکانی:
-i, --input مجموعهدادههای برداری ورودی [الزامی] [در خطوط لوله در دسترس نیست]
-o, --output مجموعهداده برداری خروجی [الزامی] [در خطوط لوله در دسترس نیست]
گزینههای عمومی:
-h, --help نمایش پیام راهنما و خروج
--json-usage نمایش نحوه استفاده در قالب سند JSON و خروج
--config = گزینه پیکربندی [تکرارپذیر]
-q, --quiet حالت بیصدا (بدون نوار پیشرفت یا پیام هشدار) [در خطوط لوله در دسترس نیست]
گزینهها:
-l, --layer, --input-layer نام لایه یا لایههای ورودی [تکرارپذیر] [در خطوط لوله در دسترس نیست]
-f, --of, --format, --output-format قالب خروجی (مقدار "GDALG" مجاز است) [در خطوط لوله در دسترس نیست]
--co, --creation-option = گزینه ایجاد [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--lco, --layer-creation-option = گزینه ایجاد لایه [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--overwrite امکان بازنویسی مجموعهداده خروجی موجود [در خطوط لوله در دسترس نیست]
--update باز کردن مجموعهداده موجود در حالت بهروزرسانی [در خطوط لوله در دسترس نیست]
--overwrite-layer امکان بازنویسی لایه خروجی موجود [در خطوط لوله در دسترس نیست]
--append امکان الحاق به لایه موجود [در خطوط لوله در دسترس نیست]
ناسازگار با --upsert
--output-layer نام لایه خروجی [در خطوط لوله در دسترس نیست]
--skip-errors نادیده گرفتن خطاها هنگام نوشتن عوارض [در خطوط لوله در دسترس نیست]
--active-layer تنظیم لایه فعال (در صورت عدم تعیین، همه لایهها)
--field-name نام فیلد [الزامی]
ناسازگار با --input-field-type
--input-field-type نوع یا زیرنوع فیلد مبدأ [الزامی]
ناسازگار با --field-name
--output-field-type, --field-type نوع یا زیرنوع فیلد مقصد [الزامی]
گزینههای پیشرفته:
--if, --input-format قالبهای ورودی [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--oo, --open-option = گزینههای باز کردن [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--output-oo, --output-open-option = گزینههای باز کردن خروجی [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--upsert بهروزرسانی یا درج عوارض (مستلزم 'append') [در خطوط لوله در دسترس نیست]
ناسازگار با --append
توضیحات (DESCRIPTION)
دستور gdal vector set-field-type میتواند برای تغییر نوع فیلد یک
مجموعهداده برداری استفاده شود:
دستور set-field-type همچنین میتواند به عنوان یک مرحله از gdal vector
pipeline به کار رود.
خروجی GDALG (مجموعهداده جاری / بلادرنگ) (GDALG OUTPUT (ON-THE-FLY / STREAMED
DATASET))
این برنامه از سریالیسازی خط فرمان به صورت یک فایل JSON با استفاده از
قالب خروجی GDALG پشتیبانی میکند. سپس فایل حاصل میتواند به عنوان یک
مجموعهداده برداری با استفاده از درایور GDALG: GDAL Streamed Algorithm
باز شود و خط لوله مشخصشده را به صورت بلادرنگ یا جریانی (streamed / on-
the-fly) اعمال کند.
گزینههای اختصاصی برنامه (PROGRAM-SPECIFIC OPTIONS)
--field-name
نام فیلد جهت تغییر.
ناسازگار با --input-field-type. مشخص کردن یکی از آنها الزامی
است.
--field-type, --output-field-type
نوع جدید فیلد. مقادیر معتبر عبارتند از: Integer، IntegerList،
Real، RealList، String، StringList، Binary، Date، Time،
DateTime، Integer64، Integer64List. به جای نوع فیلد میتوان
زیرنوع فیلد (subtype) را مشخص کرد. مقادیر معتبر عبارتند از:
Boolean، Int16، Float32، JSON، UUID. نوع فیلد از زیرنوع مشتق
خواهد شد.
--input-field-type
نوع فیلد فیلدهایی که باید تغییر کنند. مقادیر معتبر عبارتند از:
Integer، IntegerList، Real، RealList، String، StringList،
Binary، Date، Time، DateTime، Integer64، Integer64List. به جای
نوع فیلد میتوان زیرنوع فیلد را مشخص کرد. مقادیر معتبر عبارتند
از: Boolean، Int16، Float32، JSON، UUID.
ناسازگار با --field-name. مشخص کردن یکی از آنها الزامی است.
گزینههای استاندارد (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::UpsertFeature()
برای درج یا بهروزرسانی عوارض به جای الحاق با
OGRLayer::CreateFeature() استفاده میشود.
این قابلیت در حال حاضر تنها در چند درایور پیادهسازی شده است:
GPKG -- GeoPackage vector، Elasticsearch: Geographically Encoded
Objects for Elasticsearch و MongoDBv3 (درایورهایی که upsert را
پیادهسازی میکنند قابلیت GDAL_DCAP_UPSERT را اعلام میکنند).
عملیات upsert از FID عارضه ورودی، در صورت تنظیم بودن (و زمانی که
نام ستون FID یک رشته خالی نباشد)، به عنوان کلید جهت بهروزرسانی
عوارض موجود استفاده میکند. بسیار حیاتی است اطمینان حاصل شود که
مقادیر FID در لایههای مبدأ و مقصد سازگار هستند.
برای درایور GPKG، همچنین امکان upsert عوارضی که FID آنها تنظیم
نشده یا بیاهمیت است وجود دارد (گزینه --unset-fid از gdal vector
edit میتواند برای نادیده گرفتن FID از عارضه مبدأ استفاده شود)،
در صورتی که یک ستون با قید UNIQUE وجود داشته باشد که کلید اصلی
عددی صحیح نباشد.
کد وضعیت بازگشتی (RETURN STATUS CODE)
این برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقدار غیر صفر
بازمیگرداند (خطاهای غیرمسدودکننده که به عنوان هشدار صادر میشوند، اجرای
موفقیتآمیز در نظر گرفته میشوند).
مثالها (EXAMPLES)
مثال ۱: تغییر نوع فیلدی که نام آن مشخص است به Integer
$ gdal vector set-field-type input.gpkg output.gpkg --field-name myfield --field-type Integer
مثال ۲: تغییر نوع تمامی فیلدهای نوع Date به DateTime
$ gdal vector set-field-type input.gpkg output.gpkg --input-field-type Date --output-field-type DateTime
نویسنده (AUTHOR)
Alessandro Pasotti
حق نشر (COPYRIGHT)
1998-2026
August 18, 2026 GDAL-VECTOR-SET-FIELD-TYPE(1)