GDAL-VECTOR-EDIT(1) GDAL GDAL-VECTOR-EDIT(1)

gdal-vector-edit - ویرایش متاداده‌های یک مجموعه داده برداری

در نسخه 3.11 اضافه شد.

Usage: gdal vector edit [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>                        تنظیم لایه فعال (در صورت مشخص نشدن، تمام لایه‌ها)
  --geometry-type <GEOMETRY-TYPE>                      نوع هندسه لایه
  --crs <CRS>                                          بازنویسی CRS (بدون تغییر پیش‌افکDefault)
  --metadata <KEY>=<VALUE>                             افزودن/به‌روزرسانی آیتم متاداده مجموعه داده [قابل تکرار]
  --unset-metadata <KEY>                               حذف آیتم متاداده مجموعه داده [قابل تکرار]
  --layer-metadata <KEY>=<VALUE>                       افزودن/به‌روزرسانی آیتم متاداده لایه [قابل تکرار]
  --unset-layer-metadata <KEY>                         حذف آیتم متاداده لایه [قابل تکرار]
  --unset-fid                                          حذف شناسه هر عارضه و نام ستون FID
گزینه‌های پیشرفته:
  --if, --input-format <INPUT-FORMAT>                  قالب‌های ورودی [قابل تکرار] [در خط لوله‌ها در دسترس نیست]
  --oo, --open-option <KEY>=<VALUE>                    گزینه‌های باز کردن [قابل تکرار] [در خط لوله‌ها در دسترس نیست]
  --output-oo, --output-open-option <KEY>=<VALUE>      گزینه‌های باز کردن خروجی [قابل تکرار] [در خط لوله‌ها در دسترس نیست]
  --upsert                                             به‌روزرسانی یا درج (Upsert) عوارض (شامل 'append') [در خط لوله‌ها در دسترس نیست]
                                                       ناسازگار با --append

از gdal vector edit می‌توان برای ویرایش متاداده‌های یک مجموعه داده برداری استفاده کرد: سیستم مرجع مختصات (CRS)، نوع هندسه لایه، متاداده‌های مجموعه داده و لایه.

از edit همچنین می‌توان به عنوان یک مرحله از gdal vector pipeline استفاده نمود.

عوارض (features) دست‌نخورده باقی می‌مانند و تغییری نمی‌کنند.

این برنامه از سریالی‌سازی خط فرمان به عنوان یک فایل JSON با استفاده از قالب خروجی GDALG پشتیبانی می‌کند. فایل حاصل را می‌توان سپس با درایور GDALG: GDAL Streamed Algorithm به عنوان یک مجموعه داده برداری باز کرد و خط لوله مشخص‌شده را به صورت برخط / استریم‌شده اعمال نمود.

بازنویسی سیستم مرجع مختصات (CRS)، بدون بازپروژکت کردن عوارض.

سیستم‌های مرجع مختصاتی که می‌توان وارد کرد شامل هر موردی است که توسط فراخوانی OGRSpatialReference::SetFromUserInput() پشتیبانی می‌شود؛ از جمله CRS پیش‌افکنده EPSG، جغرافیایی یا مرکب (مانند EPSG:4296)، تعریف متنی WKT از CRS، اعلان‌های PROJ.4، یا نام یک فایل .prj حاوی تعریف WKT CRS.

می‌توان null یا none را برای حذف CRS موجود مشخص کرد.

تغییر نوع هندسه لایه به یکی از مقادیر زیر: GEOMETRY، POINT، LINESTRING، POLYGON، MULTIPOINT، MULTILINESTRING، MULTIPOLYGON، GEOMETRYCOLLECTION، CURVE، CIRCULARSTRING، COMPOUNDCURVE، SURFACE، CURVEPOLYGON، MULTICURVE، MULTISURFACE، POLYHEDRALSURFACE یا TIN. پسوندهای Z، M یا ZM را می‌توان به مقادیر فوق اضافه کرد تا بعد فضایی مشخص شود. توجه داشته باشید که هندسه خود عوارض تغییر داده نمی‌شود. بنابراین این گزینه می‌تواند برای اصلاح نوع هندسه نامناسب در سطح لایه استفاده شود.
افزودن/به‌روزرسانی آیتم متاداده در سطح لایه.
افزودن/به‌روزرسانی آیتم متاداده در سطح مجموعه داده.
در نسخه 3.12 اضافه شد.

می‌توان مشخص کرد تا از استفاده مجدد نام ستون FID و شناسه‌های عوارض منبع برای لایه مقصد جلوگیری شود. این گزینه برای مثال هنگام انتخاب عوارض منبع با عبارت ORDER BY می‌تواند مفید باشد.

حذف آیتم متاداده در سطح مجموعه داده.
حذف آیتم متاداده در سطح لایه.

تنظیم لایه فعال. وقتی مشخص شود، تنها لایه‌ای که با نامش مشخص شده تحت پردازش قرار می‌گیرد و سایر لایه‌ها تغییر نخواهند کرد. اگر این گزینه مشخص نشود، تمامی لایه‌ها پردازش خواهند شد.
مجاز بودن الحاق عوارض به لایه(های) موجود. همچنین اگر مجموعه داده خروجی هنوز وجود نداشته باشد، آن را ایجاد می‌کند.
بسیاری از قالب‌ها یک یا چند گزینه اختیاری برای ساخت مجموعه داده دارند که می‌توان برای کنترل جزئیات فایل ایجادشده از آن‌ها استفاده کرد. برای مثال، درایور GeoPackage از گزینه‌های ساخت برای کنترل نسخه پشتیبانی می‌کند.

قابل تکرار است.

گزینه‌های ساخت مجموعه داده در دسترس بسته به درایور قالب متفاوت است و برخی قالب‌های ساده هیچ گزینه ساختی ندارند. فهرستی از گزینه‌های پشتیبانی‌شده برای یک قالب را می‌توان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات مربوط به همان قالب منبع قطعی اطلاعات درباره گزینه‌های ساخت درایور است. برای گزینه‌های ساخت مجاز هر قالب به مستندات اختصاصی قالب Vector drivers مراجعه کنید.

توجه داشته باشید که گزینه‌های ساخت مجموعه داده با گزینه‌های ساخت لایه متفاوت هستند.

نام قالب/درایور برای تلاش در باز کردن فایل(های) ورودی. معمولاً نیازی به مشخص کردن آن نیست، اما در صورتی که تشخیص خودکار درایور نتواند درایور مناسب را انتخاب کند، می‌توان از این گزینه برای دور زدن تشخیص خودکار استفاده کرد. این گزینه می‌تواند چندین بار برای تعیین چندین درایور نامزد تکرار شود. توجه داشته باشید که این کار درایورها را مجبور به باز کردن مجموعه داده نمی‌کند؛ به‌ویژه برخی درایورها نیازمندی‌هایی برای پسوند فایل دارند.

قابل تکرار است.

نام یک یا چند لایه را برای پردازش مشخص می‌کند. به طور پیش‌فرض، همه لایه‌ها پردازش می‌شوند. برای خواندن و نوشتن تمام لایه‌ها اما پردازش تنها یک زیرمجموعه، از --active-layer استفاده کنید.
بسیاری از قالب‌ها یک یا چند گزینه اختیاری ساخت لایه دارند که می‌توان از آن‌ها برای کنترل جزئیات لایه ایجادشده استفاده کرد. برای مثال، درایور GeoPackage از گزینه‌های ساخت لایه برای کنترل شناسه عارضه یا نام ستون هندسه، تنظیم شناسه یا توضیحات و غیره پشتیبانی می‌کند.

قابل تکرار است.

گزینه‌های ساخت لایه موجود بسته به درایور قالب متفاوت است و برخی قالب‌های ساده اصلاً هیچ گزینه ساخت لایه‌ای ندارند. فهرستی از گزینه‌های پشتیبانی‌شده برای یک قالب را می‌توان با گزینه خط فرمان --formats فهرست کرد، اما مستندات همان قالب منبع قطعی اطلاعات درباره گزینه‌های ساخت درایور است. برای گزینه‌های مجاز ساخت هر قالب به مستندات اختصاصی قالب Vector drivers مراجعه کنید.

توجه داشته باشید که گزینه‌های ساخت لایه با گزینه‌های ساخت مجموعه داده تفاوت دارند.

گزینه باز کردن مجموعه داده (مختص هر قالب).

قابل تکرار است.

تعیین قالب برداری خروجی مورد استفاده. مقادیر مجاز را می‌توان با دستور زیر دریافت کرد: gdal --formats | grep vector | grep rw | sort
نام لایه‌ای را مشخص می‌کند که عوارض در آن نوشته خواهند شد. در صورت عدم تعیین، نام لایه‌های خروجی مشابه نام لایه‌های ورودی خواهد بود.
در نسخه 3.12 اضافه شد.

گزینه باز کردن مجموعه داده برای مجموعه داده خروجی (مختص هر قالب).

قابل تکرار است.

اجازه دادن به برنامه برای بازنویسی و جایگزینی فایل یا مجموعه داده مقصد موجود. در غیر این صورت، به طور پیش‌فرض، gdal در صورتی که فایل یا مجموعه داده مقصد از قبل وجود داشته باشد با خطا متوقف می‌شود.
--overwrite-layer
مجاز بودن بازنویسی لایه برداری خروجی موجود.
در نسخه 3.12 اضافه شد.

نادیده گرفتن خطاهای ناشی از عدم موفقیت در نوشتن عارضه(ها). توجه داشته باشید که این گزینه اندازه واحد تراکنش را به یک عارضه در هر زمان تنظیم می‌کند که ممکن است باعث کندی شدید هنگام درج در پایگاه‌های داده شود.

باز کردن یک مجموعه داده خروجی موجود در حالت به‌روزرسانی.
در نسخه 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 وجود داشته باشد که کلید اصلی عدد صحیح نباشد.

برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقداری غیر از صفر برمی‌گرداند (خطاهای غیرمسدودکننده که به صورت هشدار صادر می‌شوند به عنوان اجرای موفقیت‌آمیز در نظر گرفته می‌شوند).

$ gdal vector edit --crs=EPSG:4326 --geometry-type=POLYGONZM in.gpkg out.gpkg --overwrite

اگر یک Shapefile فایل .prj مرتبط خود را نداشته باشد، می‌توان آن را به صورت زیر ایجاد کرد:

$ gdal vector edit --crs=EPSG:3857 in.shp out.shp

Even Rouault <even.rouault@spatialys.com>

1998-2026

August 18, 2026