GDAL-VECTOR-DISSOLVE(1) GDAL GDAL-VECTOR-DISSOLVE(1)

gdal-vector-dissolve - ادغام عناصر تشکیل‌دهنده هندسه هر عارضه

افزوده شده در نسخه 3.13.

کاربرد: gdal vector dissolve [گزینه‌ها] <INPUT> <OUTPUT>
ادغام عوارض چندبخشی (Multipart features)
آرگومان‌های موضعی:
  -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>                  نام فیلد هندسه برای محدود کردن پردازش (در صورت عدم تعیین، همه فیلدها)
گزینه‌های پیشرفته:
  --if, --input-format <INPUT-FORMAT>                  قالب‌های ورودی [تکرارپذیر] [در خطوط لوله در دسترس نیست]
  --oo, --open-option <KEY>=<VALUE>                    گزینه‌های باز کردن [تکرارپذیر] [در خطوط لوله در دسترس نیست]
  --output-oo, --output-open-option <KEY>=<VALUE>      گزینه‌های باز کردن خروجی [تکرارپذیر] [در خطوط لوله در دسترس نیست]
  --upsert                                             به‌روزرسانی یا درج (Upsert) عوارض (مستلزم 'append') [در خطوط لوله در دسترس نیست]
                                                       ناسازگار با --append

دستور gdal vector dissolve یک عملیات اجتماع (Union) روی عناصر تشکیل‌دهنده هندسه هر عارضه انجام می‌دهد. این کار اثرات زیر را به همراه دارد:

  • رأس‌های تکراری حذف می‌شوند.
  • گره‌هایی در محل تقاطع خطوط ورودی اضافه می‌شوند.
  • چندضلعی‌های هم‌پوشان در یک عارضه ادغام (Dissolve) می‌شوند.

برای هندسه‌های خطی، مرحله اجتماع با یک مرحله ادغام خطوط دنبال می‌شود که در آن خطوط در نقاطی که نقطه پایانی دقیقاً دو خط هستند ادغام می‌شوند.

برای ادغام هندسه‌های چندین عارضه با یکدیگر، ابتدا با استفاده از gdal vector combine آن‌ها را در تک‌عوارض‌ها ترکیب کنید.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تعیین اینکه آیا مجموعه‌داده خروجی موجود در حالت به‌روزرسانی (Update) باز شود یا خیر.
افزوده شده در نسخه 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، در صورت وجود یک ستون با قید UNIQUE که کلید اصلی عددی صحیح نباشد، امکان درج یا به‌روزرسانی (Upsert) عوارضی که FID آن‌ها تنظیم نشده یا فاقد اهمیت است نیز وجود دارد (می‌توان از گزینه --unset-fid در gdal vector edit برای نادیده گرفتن FID از عارضه مبدأ استفاده کرد).

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

gdal vector pipeline read countries.shp !
    combine --group-by CONTINENT ! \
    dissolve ! \
    write continents.shp

Dan Baston <dbaston@gmail.com>

1998-2026

August 18, 2026