| GDAL-VECTOR-COMBINE(1) | GDAL | GDAL-VECTOR-COMBINE(1) |
نام (NAME)
gdal-vector-combine - ترکیب هندسهها در مجموعههای هندسی (Geometry Collections)
در نسخه 3.13 اضافه شد.
خلاصه دستور (SYNOPSIS)
Usage: gdal vector combine [OPTIONS] <INPUT> <OUTPUT>
ترکیب عوارض در مجموعهها (Collections)
آرگومانهای موضعی (Positional arguments):
-i, --input <INPUT> مجموعهدادههای برداری ورودی [الزامی] [در خطوط لوله در دسترس نیست]
-o, --output <OUTPUT> مجموعهداده برداری خروجی [الزامی] [در خطوط لوله در دسترس نیست]
گزینههای عمومی (Common Options):
-h, --help نمایش پیام راهنما و خروج
--json-usage نمایش نحوه استفاده به صورت سند JSON و خروج
--config <KEY>=<VALUE> گزینه پیکربندی [تکرارپذیر]
-q, --quiet حالت بیصدا (بدون نوار پیشرفت یا پیام هشدار) [در خطوط لوله در دسترس نیست]
گزینهها (Options):
-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 چشمپوشی از خطاها هنگام نوشتن عوارض [در خطوط لوله در دسترس نیست]
--group-by <GROUP-BY> نام فیلد(هایی) که ورودیها باید بر اساس آنها گروهبندی شوند [تکرارپذیر]
--keep-nested جلوگیری از ترکیب اجزای هندسههای چندبخشی
--add-extra-fields <ADD-EXTRA-FIELDS> افزودن فیلدهای اضافی بر اساس اینکه آیا در هر گروه دارای مقادیر یکسان هستند یا خیر. ADD-EXTRA-FIELDS=no|sometimes-identical|always-identical (پیشفرض: no)
گزینههای پیشرفته (Advanced Options):
--if, --input-format <INPUT-FORMAT> قالبهای ورودی [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--oo, --open-option <KEY>=<VALUE> گزینههای باز کردن [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--output-oo, --output-open-option <KEY>=<VALUE> گزینههای باز کردن خروجی [تکرارپذیر] [در خطوط لوله در دسترس نیست]
--upsert درج یا بهروزرسانی (Upsert) عوارض (شامل 'append') [در خطوط لوله در دسترس نیست]
ناسازگار با --append
توضیحات (DESCRIPTION)
دستور gdal vector combine هندسهها را در مجموعههای هندسی (Geometry Collections) ترکیب میکند.
از آرگومان --group-by میتوان برای تعیین اینکه کدام عوارض با یکدیگر ترکیب شوند استفاده کرد.
بهطور پیشفرض، بخشهای هندسههای چندبخشی (Multipart Geometries) در یک مجموعه غیرتودرتو از خاصترین نوع ممکن ترکیب میشوند (به عنوان مثال، MultiPolygon بهجای GeometryCollection). برای مثال، یک Polygon و یک MultiPolygon دوبخشی در یک MultiPolygon سهبخشی ترکیب خواهند شد. این کار به این دلیل انجام میشود که بسیاری از قالبهای فایل GIS و بستههای نرمافزاری انواع GeometryCollection تودرتو را پشتیبانی نمیکنند. اگر نمایش تودرتو به شیوه ST_Collect در PostGIS ترجیح داده شود (یک GeometryCollection دو مؤلفهای شامل Polygon و MultiPolygon)، میتوان از --keep-nested استفاده کرد.
دستور combine میتواند به عنوان یک مرحله از gdal vector pipeline استفاده شود.
گزینههای اختصاصی برنامه (PROGRAM-SPECIFIC OPTIONS)
- --group-by <FIELD_NAMES>
- نام فیلدهایی که مقادیر یکتای آنها برای جمعآوری هندسههای ورودی استفاده میشود. هر فیلدی که در --group-by ذکر نشده باشد از لایه منبع حذف خواهد شد. در صورت حذف --group-by، کل لایه در یک عارضه منفرد ترکیب میشود.
- --keep-nested
- اگر هندسههای ورودی چندبخشی باشند، آنها را در یک GeometryCollection از هندسههای ورودی ترکیب میکند.
- --add-extra-fields no|sometimes-identical|always-identical
- تعیین
اینکه آیا
فیلدهایی
از عوارض
منبع که در
میان عوارض
متعلق به یک
گروه مقدار
یکسانی
دارند، به
عارضه
خروجی
متناظر کپی
شوند یا
خیر.
بهطور پیشفرض، no، تنها فیلدهای فهرستشده در --group-by به لایه خروجی کپی میشوند.
هنگام مشخص کردن sometimes-identical، فیلدهایی که برای تمام عوارض ورودی در حداقل یک گروه خروجی مقدار یکسانی دارند، به اسکیمای لایه خروجی کپی خواهند شد. مقدار فیلد برابر با مقداری است که برای تمام عوارض ورودی یک گروه مشترک است. اگر عوارض ورودی در یک گروه یکسان نباشند، مقدار فیلد در خروجی برای این گروه برابر با null قرار داده میشود.
هنگام مشخص کردن always-identical، فیلدهایی که برای تمام عوارض ورودی در یک گروه خروجی دادهشده مقدار یکسانی دارند به لایه خروجی کپی میشوند، به شرطی که این شرایط برای تمام گروههای خروجی برقرار باشد.
برای مثال، فرض کنیم چهار عارضه ورودی با محتوای زیر داریم و آنها را بر اساس country گروهبندی میکنیم:
عوارض ورودی (INPUT FEATURES)
| name | country | country_fr | type |
| Mainland France | France | France | continental |
| Corsica | France | France | island |
| Mainland USA | USA | Etats-Unis d'Amérique | continental |
| Alaska | USA | Etats-Unis d'Amérique | continental |
با مقدار sometimes-identical، خروجی به صورت زیر خواهد بود:
خروجی با SOMETIMES-IDENTICAL (OUTPUT WITH SOMETIMES-IDENTICAL)
| country | country_fr | type |
| France | France | |
| USA | Etats-Unis d'Amérique | continental |
فیلد name حذف شده است زیرا برای هر عارضه ورودی متمایز است. فیلد type به عنوان یک فیلد خروجی ظاهر میشود، زیرا حداقل برای USA، دو عارضه ورودی گروهبندیشده مقدار یکسانی دارند. برای France، مقدار آن روی null تنظیم میشود، زیرا مقدار آن در دو عارضه ورودی متفاوت است.
با مقدار always-identical، خروجی به صورت زیر خواهد بود:
خروجی با ALWAYS-IDENTICAL (OUTPUT WITH ALWAYS-IDENTICAL)
| country | country_fr |
| France | France |
| USA | Etats-Unis d'Amérique |
فیلد type
حذف شده است
زیرا مقدار
آن در دو
عارضه
ورودی
مربوط به France
متفاوت است.
کد وضعیت بازگشتی (RETURN STATUS CODE)
این برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقدار غیرصفر بازمیگرداند (خطاهای غیرمسدودکننده که به صورت هشدار صادر میشوند، به عنوان اجرای موفق در نظر گرفته میشوند).
گزینههای استاندارد (STANDARD OPTIONS)
- --append
- تعیین اینکه آیا الحاق عوارض به لایه(های) موجود مجاز است یا خیر. این گزینه همچنین در صورتی که مجموعهداده خروجی هنوز وجود نداشته باشد، آن را ایجاد میکند.
- --co, --creation-option <NAME>=<VALUE>
- بسیاری از
قالبها یک
یا چند
گزینه
اختیاری
ایجاد
مجموعهداده
دارند که
میتوان از
آنها برای
کنترل
جزئیات
فایل
ایجادشده
استفاده
کرد. برای
نمونه،
درایور GeoPackage
از
گزینههای
ایجاد برای
کنترل نسخه
پشتیبانی
میکند.
تکرارپذیر است.
گزینههای ایجاد مجموعهداده موجود بسته به درایور قالب متفاوت است و برخی از قالبهای ساده اصلاً هیچ گزینه ایجادی ندارند. فهرستی از گزینههای پشتیبانیشده برای یک قالب را میتوان با گزینه خط فرمان --formats مشاهده کرد، اما مستندات مربوط به همان قالب منبع اصلی اطلاعات درباره گزینههای ایجاد درایور است. برای گزینههای ایجاد معتبر هر قالب، مستندات اختصاصی قالب Vector drivers را ببینید.
توجه داشته باشید که گزینههای ایجاد مجموعهداده با گزینههای ایجاد لایه متفاوت هستند.
- --if, --input-format <format>
- نام
قالب/درایور
برای تلاش
جهت باز
کردن
فایل(های)
ورودی.
معمولاً
تعیین آن
ضروری
نیست، اما
میتواند
برای رد
کردن تشخیص
خودکار
درایور در
مواقعی که
در انتخاب
درایور
مناسب
ناموفق
است،
استفاده
شود. این
گزینه
میتواند
چندین بار
برای تعیین
چندین
درایور
نامزد
تکرار شود.
توجه داشته
باشید که
این گزینه
درایورها
را مجبور به
باز کردن
مجموعهداده
نمیکند؛
بهویژه،
برخی
درایورها
نیازمندیهایی
برای پسوند
فایل دارند.
تکرارپذیر است.
- --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-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، در صورتی که یک ستون با قید UNIQUE وجود داشته باشد که کلید اصلی عددی صحیح (Integer Primary Key) نباشد، امکان انجام upsert برای عوارضی که FID آنها تنظیم نشده یا فاقد اهمیت است نیز وجود دارد (گزینه --unset-fid در gdal vector edit میتواند برای نادیده گرفتن FID عارضه منبع استفاده شود).
نویسنده (AUTHOR)
Dan Baston <dbaston@gmail.com>
حق نشر (COPYRIGHT)
1998-2026
| August 18, 2026 |