| GDAL-VECTOR-EXPLODE-COLLECTIONS(1) | GDAL | GDAL-VECTOR-EXPLODE-COLLECTIONS(1) |
نام (NAME)
gdal-vector-explode-collections - تفکیک هندسههای نوع مجموعه از یک مجموعهداده برداری
اضافهشده در نسخه 3.12.
خلاصه دستور (SYNOPSIS)
کاربرد: 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 به کار رود.
خروجی GDALG (مجموعهداده در لحظه / جریانی) (GDALG OUTPUT (ON-THE-FLY / STREAMED DATASET))
این برنامه از سریالسازی خط فرمان در قالب یک فایل JSON با استفاده از قالب خروجی GDALG پشتیبانی میکند. سپس میتوان فایل حاصل را بهعنوان یک مجموعهداده برداری با استفاده از درایور GDALG: GDAL Streamed Algorithm باز کرد و خط لولهٔ تعیینشده را بهصورت در لحظه / جریانی اعمال نمود.
گزینههای اختصاصی برنامه (PROGRAM-SPECIFIC OPTIONS)
- --geometry-type <GEOMETRY-TYPE>
- تغییر نوع هندسهٔ هندسههای تفکیکشده به یکی از موارد GEOMETRY، POINT، LINESTRING، POLYGON، CIRCULARSTRING، COMPOUNDCURVE، CURVEPOLYGON، POLYHEDRALSURFACE یا TIN. میتوان پسوندهای Z، M یا ZM را برای مشخص کردن ابعاد به مقادیر بالا اضافه کرد. وجود هندسههایی که امکان تبدیل اجباری آنها به نوع مشخصشده وجود نداشته باشد باعث بروز خطا خواهد شد، مگر اینکه --skip-on-type-mismatch تعیین شده باشد.
- --skip-on-type-mismatch
- در صورتی که نوع هندسهٔ هدف عوارض با نوع مشخصشده توسط --geometry-type مطابقت نداشته باشد، عوارض خروجی تولید نشوند.
گزینههای استاندارد (STANDARD OPTIONS)
- --active-geometry <ACTIVE-GEOMETRY>
- تنظیم فیلد هندسهٔ فعال با استفاده از نام آن. وقتی این گزینه مشخص شود، تنها فیلد هندسهٔ تعیینشده پردازش خواهد شد. سایر فیلدهای هندسه تغییر نخواهند کرد. اگر این گزینه مشخص نشود، تمام فیلدهای هندسه پردازش خواهند شد. این گزینه میتواند با --active-layer ترکیب شود.
- --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
- تعیین اینکه آیا مجموعهداده خروجی موجود در حالت بهروزرسانی (update mode) باز شود یا خیر.
- --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، همچنین امکان upsert عوارضی که FID آنها تنظیم نشده یا فاقد اهمیت (غیرمعتبر) است وجود دارد (میتوان از گزینهٔ --unset-fid در gdal vector edit برای نادیده گرفتن FID عارضهٔ مبدأ استفاده کرد)، مشروط بر اینکه یک ستون با قید UNIQUE وجود داشته باشد که کلید اصلی عدد صحیح (integer primary key) نباشد.
وضعیت خروج (EXIT STATUS)
برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقداری غیر صفر برمیگرداند (خطاهای غیرمسدودکنندهای که در قالب هشدار صادر میشوند، اجرای موفقیتآمیز تلقی میگردند).
مثالها (EXAMPLES)
مثال ۱: فقط نگهداشتن بخشهایی از مجموعههای هندسی که از نوع Point هستند.
$ gdal vector explode-collections --geometry-type=POINT --skip-on-type-mismatch in.gpkg points.shp --overwrite
نویسندگان (AUTHORS)
Even Rouault <even.rouault@spatialys.com>
کپیرایت و تکثیر (COPYRIGHT)
1998-2026
| August 18, 2026 |