| 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] <INPUT> <OUTPUT>
تغییر نوع یک فیلد در مجموعهداده برداری.
آرگومانهای مکانی:
-i, --input <INPUT> مجموعهدادههای برداری ورودی [الزامی] [در خطوط لوله در دسترس نیست]
-o, --output <OUTPUT> مجموعهداده برداری خروجی [الزامی] [در خطوط لوله در دسترس نیست]
گزینههای عمومی:
-h, --help نمایش پیام راهنما و خروج
--json-usage نمایش نحوه استفاده در قالب سند JSON و خروج
--config <KEY>=<VALUE> گزینه پیکربندی [تکرارپذیر]
-q, --quiet حالت بیصدا (بدون نوار پیشرفت یا پیام هشدار) [در خطوط لوله در دسترس نیست]
گزینهها:
-l, --layer, --input-layer <INPUT-LAYER> نام لایه یا لایههای ورودی [تکرارپذیر] [در خطوط لوله در دسترس نیست]
-f, --of, --format, --output-format <OUTPUT-FORMAT> قالب خروجی (مقدار "GDALG" مجاز است) [در خطوط لوله در دسترس نیست]
--co, --creation-option <KEY>=<VALUE> گزینه ایجاد [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--lco, --layer-creation-option <KEY>=<VALUE> گزینه ایجاد لایه [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--overwrite امکان بازنویسی مجموعهداده خروجی موجود [در خطوط لوله در دسترس نیست]
--update باز کردن مجموعهداده موجود در حالت بهروزرسانی [در خطوط لوله در دسترس نیست]
--overwrite-layer امکان بازنویسی لایه خروجی موجود [در خطوط لوله در دسترس نیست]
--append امکان الحاق به لایه موجود [در خطوط لوله در دسترس نیست]
ناسازگار با --upsert
--output-layer <OUTPUT-LAYER> نام لایه خروجی [در خطوط لوله در دسترس نیست]
--skip-errors نادیده گرفتن خطاها هنگام نوشتن عوارض [در خطوط لوله در دسترس نیست]
--active-layer <ACTIVE-LAYER> تنظیم لایه فعال (در صورت عدم تعیین، همه لایهها)
--field-name <FIELD-NAME> نام فیلد [الزامی]
ناسازگار با --input-field-type
--input-field-type <INPUT-FIELD-TYPE> نوع یا زیرنوع فیلد مبدأ [الزامی]
ناسازگار با --field-name
--output-field-type, --field-type <FIELD-TYPE> نوع یا زیرنوع فیلد مقصد [الزامی]
گزینههای پیشرفته:
--if, --input-format <INPUT-FORMAT> قالبهای ورودی [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--oo, --open-option <KEY>=<VALUE> گزینههای باز کردن [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--output-oo, --output-open-option <KEY>=<VALUE> گزینههای باز کردن خروجی [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--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 <FIELD-NAME>
- نام فیلد
جهت تغییر.
ناسازگار با --input-field-type. مشخص کردن یکی از آنها الزامی است.
- --field-type, --output-field-type <FIELD-TYPE>
- نوع جدید فیلد. مقادیر معتبر عبارتند از: Integer، IntegerList، Real، RealList، String، StringList، Binary، Date، Time، DateTime، Integer64، Integer64List. به جای نوع فیلد میتوان زیرنوع فیلد (subtype) را مشخص کرد. مقادیر معتبر عبارتند از: Boolean، Int16، Float32، JSON، UUID. نوع فیلد از زیرنوع مشتق خواهد شد.
- --input-field-type <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 <ACTIVE-LAYER>
- تنظیم لایه فعال. در صورت تعیین، فقط لایهای که با نام مشخص شده تحت پردازش قرار میگیرد. سایر لایهها تغییر نخواهند کرد. در صورت عدم تعیین این گزینه، تمامی لایهها تحت پردازش قرار خواهند گرفت.
- --append
- امکان الحاق عوارض به لایه یا لایههای موجود را فراهم میکند. در صورتی که مجموعهداده خروجی هنوز وجود نداشته باشد، آن را نیز ایجاد میکند.
- --co, --creation-option <NAME>=<VALUE>
- بسیاری از
قالبها یک
یا چند
گزینه
اختیاری
ایجاد
مجموعهداده
دارند که
میتوانند
برای کنترل
ویژگیهای
خاص فایل
ایجادشده
استفاده
شوند. برای
مثال،
درایور GeoPackage
از
گزینههای
ایجاد برای
کنترل نسخه
پشتیبانی
میکند.
میتواند تکرار شود.
گزینههای ایجاد مجموعهداده در دسترس بسته به درایور قالب متفاوت است و برخی قالبهای ساده اصلاً گزینه ایجادی ندارند. فهرستی از گزینههای پشتیبانیشده برای یک قالب را میتوان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات خود قالب، منبع معتبر اطلاعات درباره گزینههای ایجاد درایور است. برای مشاهده گزینههای مجاز ایجاد برای هر قالب، به مستندات اختصاصی در بخش Vector drivers مراجعه کنید.
توجه داشته باشید که گزینههای ایجاد مجموعهداده با گزینههای ایجاد لایه متفاوت هستند.
- --if, --input-format <format>
- نام قالب یا
درایور جهت
تلاش برای
باز کردن
فایل یا
فایلهای
ورودی. به
طور کلی
مشخص کردن
آن الزامی
نیست، اما
میتوان از
آن برای
چشمپوشی
از تشخیص
خودکار
درایور، در
زمانهایی
که در
انتخاب
درایور
مناسب
ناموفق
است،
استفاده
کرد. این
گزینه
میتواند
چندین بار
برای تعیین
چندین
درایور
کاندید
تکرار شود.
توجه داشته
باشید که
این گزینه
آن
درایورها
را به باز
کردن
مجموعهداده
مجبور
نمیکند؛
به ویژه
برخی
درایورها
الزامات
خاصی روی
پسوند فایل
دارند.
میتواند تکرار شود.
- --input-layer <INPUT-LAYER>
- تعیین نام یک یا چند لایه برای پردازش. به طور پیشفرض، تمامی لایهها پردازش میشوند. برای خواندن و نوشتن تمامی لایهها اما فقط پردازش یک زیرمجموعه از آنها، از --active-layer استفاده کنید.
- --lco, --layer-creation-option <NAME>=<VALUE>
- بسیاری از
قالبها یک
یا چند
گزینه
اختیاری
ایجاد لایه
دارند که
میتوانند
برای کنترل
ویژگیهای
خاص لایه
ایجادشده
به کار
روند. برای
مثال،
درایور GeoPackage
از
گزینههای
ایجاد لایه
برای کنترل
شناسه
عارضه یا
نام ستون
هندسه،
تنظیم
شناسه یا
توضیحات و
غیره
پشتیبانی
میکند.
میتواند تکرار شود.
گزینههای ایجاد لایه در دسترس بسته به درایور قالب متفاوت است و برخی قالبهای ساده اصلاً گزینه ایجاد لایه ندارند. فهرستی از گزینههای پشتیبانیشده برای یک قالب را میتوان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات خود قالب، مرجع اصلی اطلاعات درباره گزینههای ایجاد درایور است. برای مشاهده گزینههای مجاز ایجاد لایه برای هر قالب، به مستندات اختصاصی در بخش Vector drivers مراجعه کنید.
توجه داشته باشید که گزینههای ایجاد لایه با گزینههای ایجاد مجموعهداده متفاوت هستند.
- --oo, --open-option <NAME>=<VALUE>
- گزینه باز
کردن
مجموعهداده
(وابسته به
قالب).
میتواند تکرار شود.
- -f, --of, --format, --output-format <OUTPUT-FORMAT>
- تعیین قالب برداری خروجی مورد استفاده. مقادیر مجاز با اجرای دستور زیر قابل مشاهده است: gdal --formats | grep vector | grep rw | sort
- --output-layer <NAME>
- نام لایهای را مشخص میکند که عوارض در آن نوشته خواهند شد. در صورت عدم تعیین، نامهای لایه خروجی همانند نامهای لایه ورودی خواهند بود.
- --output-open-option, --output-oo <NAME>=<VALUE>
- افزودهشده
در نسخه 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 <elpaso@itopen.it>
حق نشر (COPYRIGHT)
1998-2026
| August 18, 2026 |