GDAL-VECTOR-EXPLODE-COLLECTIONS(1) GDAL GDAL-VECTOR-EXPLODE-COLLECTIONS(1)

gdal-vector-explode-collections - تفکیک هندسه‌های نوع مجموعه از یک مجموعه‌داده برداری

اضافه‌شده در نسخه 3.12.

کاربرد: gdal vector explode-collections [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>                        تنظیم لایه فعال (در صورت عدم تعیین، همه)
  --active-geometry <ACTIVE-GEOMETRY>                  نام فیلد هندسه برای محدود کردن پردازش به آن (در صورت عدم تعیین، همه)
  --geometry-type <GEOMETRY-TYPE>                      نوع هندسه
  --skip-on-type-mismatch                              نادیده گرفتن عارضه هنگام شکست در تغییر نوع هندسه عارضه
گزینه‌های پیشرفته:
  --if, --input-format <INPUT-FORMAT>                  قالب‌های ورودی [قابل تکرار] [در خط‌لوله‌ها در دسترس نیست]
  --oo, --open-option <KEY>=<VALUE>                    گزینه‌های باز کردن [قابل تکرار] [در خط‌لوله‌ها در دسترس نیست]
  --output-oo, --output-open-option <KEY>=<VALUE>      گزینه‌های باز کردن خروجی [قابل تکرار] [در خط‌لوله‌ها در دسترس نیست]
  --upsert                                             درج یا به‌روزرسانی (Upsert) عوارض (مستلزم 'append' است) [در خط‌لوله‌ها در دسترس نیست]
                                                       مانع‌الجمع با --append

دستور gdal vector explode-collections برای هر هندسه در هر نوع از مجموعه‌های هندسی، یک عارضه (feature) تولید می‌کند.

برای نمونه، اگر یک عارضه شامل هندسهٔ MULTIPOINT(1 2,3 4) باشد، دو عارضهٔ هدف متناظر تولید خواهد شد: یکی با هندسهٔ POINT(1 2) و دیگری با هندسهٔ POINT(3 4). توجه داشته باشید که مجموعه‌ها به‌صورت بازگشتی تفکیک نمی‌شوند؛ یعنی GEOMETRYCOLLECTION(GEOMETRYCOLLECTION(POINT (1 2),POINT(3 4)) به‌صورت GEOMETRYCOLLECTION(POINT (1 2),POINT(3 4)) تفکیک خواهد شد.

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

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

تغییر نوع هندسهٔ هندسه‌های تفکیک‌شده به یکی از موارد GEOMETRY، POINT، LINESTRING، POLYGON، CIRCULARSTRING، COMPOUNDCURVE، CURVEPOLYGON، POLYHEDRALSURFACE یا TIN. می‌توان پسوندهای Z، M یا ZM را برای مشخص کردن ابعاد به مقادیر بالا اضافه کرد. وجود هندسه‌هایی که امکان تبدیل اجباری آن‌ها به نوع مشخص‌شده وجود نداشته باشد باعث بروز خطا خواهد شد، مگر اینکه --skip-on-type-mismatch تعیین شده باشد.
در صورتی که نوع هندسهٔ هدف عوارض با نوع مشخص‌شده توسط --geometry-type مطابقت نداشته باشد، عوارض خروجی تولید نشوند.

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

می‌تواند تکرار شود.

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

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

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

می‌تواند تکرار شود.

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

می‌تواند تکرار شود.

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

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

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

می‌تواند تکرار شود.

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

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

می‌تواند تکرار شود.

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

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

تعیین اینکه آیا مجموعه‌داده خروجی موجود در حالت به‌روزرسانی (update mode) باز شود یا خیر.
اضافه‌شده در نسخهٔ 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، همچنین امکان upsert عوارضی که FID آن‌ها تنظیم نشده یا فاقد اهمیت (غیرمعتبر) است وجود دارد (می‌توان از گزینهٔ --unset-fid در gdal vector edit برای نادیده گرفتن FID عارضهٔ مبدأ استفاده کرد)، مشروط بر اینکه یک ستون با قید UNIQUE وجود داشته باشد که کلید اصلی عدد صحیح (integer primary key) نباشد.

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

$ gdal vector explode-collections --geometry-type=POINT --skip-on-type-mismatch in.gpkg points.shp --overwrite

Even Rouault <even.rouault@spatialys.com>

1998-2026

August 18, 2026