GDAL-VECTOR-LAYER-ALGEBRA(1) GDAL GDAL-VECTOR-LAYER-ALGEBRA(1)

gdal-vector-layer-algebra - اجرای عملیات جبری میان ۲ لایه برداری

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

کاربرد: gdal vector layer-algebra [گزینه‌ها] <OPERATION> <INPUT> <METHOD> <OUTPUT>
اجرای عملیات جبری میان ۲ لایه برداری.
آرگومان‌های موضعی:
  --operation <OPERATION>                              عملیات مورد نظر برای اجرا. OPERATION=union|intersection|sym-difference|identity|update|clip|erase [الزامی]
  -i, --input <INPUT>                                  مجموعه‌داده برداری ورودی [الزامی]
  --method <METHOD>                                    مجموعه‌داده برداری متد [الزامی]
  -o, --output <OUTPUT>                                مجموعه‌داده برداری خروجی [الزامی]
گزینه‌های عمومی:
  -h, --help                                           نمایش پیام راهنما و خروج
  --json-usage                                         نمایش شیوه استفاده به صورت سند JSON و خروج
  --config <KEY>=<VALUE>                               گزینه پیکربندی [تکرارپذیر]
  -q, --quiet                                          حالت بی‌صدا (عدم نمایش نوار پیشرفت یا پیام‌های هشدار) [در خطوط لوله در دسترس نیست]
گزینه‌ها:
  -f, --of, --format, --output-format <OUTPUT-FORMAT>  قالب خروجی
  --co, --creation-option <KEY>=<VALUE>                گزینه ایجاد مجموعه‌داده [تکرارپذیر]
  --lco, --layer-creation-option <KEY>=<VALUE>         گزینه ایجاد لایه [تکرارپذیر]
  --overwrite                                          آیا رونویسی روی مجموعه‌داده خروجی موجود مجاز است
  --update                                             آیا مجموعه‌داده موجود در حالت به‌روزرسانی باز شود
  --overwrite-layer                                    آیا رونویسی روی لایه خروجی موجود مجاز است
  --append                                             آیا الحاق به لایه موجود مجاز است
  --input-layer <INPUT-LAYER>                          نام لایه ورودی
  --method-layer <METHOD-LAYER>                        نام لایه متد
  --output-layer <OUTPUT-LAYER>                        نام لایه خروجی
  --geometry-type <GEOMETRY-TYPE>                      نوع هندسه (Geometry type)
گزینه‌های پیشرفته:
  --oo, --open-option <KEY>=<VALUE>                    گزینه‌های باز کردن [تکرارپذیر]
  --if, --input-format <INPUT-FORMAT>                  قالب‌های ورودی [تکرارپذیر]
  --input-prefix <INPUT-PREFIX>                        پیشوند برای فیلدهای مربوط به لایه ورودی
  --input-field <INPUT-FIELD>                          فیلد(های) ورودی برای افزودن به لایه خروجی [تکرارپذیر]
                                                       ناسازگار با --no-input-field، --all-input-field
  --no-input-field                                     عدم افزودن هیچ فیلد ورودی به لایه خروجی
                                                       ناسازگار با --input-field، --all-input-field
  --all-input-field                                    افزودن تمام فیلدهای ورودی به لایه خروجی
                                                       ناسازگار با --input-field، --no-input-field
  --method-prefix <METHOD-PREFIX>                      پیشوند برای فیلدهای مربوط به لایه متد
  --method-field <METHOD-FIELD>                        فیلد(های) متد برای افزودن به لایه خروجی [تکرارپذیر]
                                                       ناسازگار با --no-method-field، --all-method-field
  --no-method-field                                    عدم افزودن هیچ فیلد متد به لایه خروجی
                                                       ناسازگار با --method-field، --all-method-field
  --all-method-field                                   افزودن تمام فیلدهای متد به لایه خروجی
                                                       ناسازگار با --method-field، --no-method-field

دستور gdal vector layer-algebra عملیات مختلف جبر لایه برداری را انجام می‌دهد. این دستور یک منبع برداری ورودی و یک منبع متد (روش) دریافت کرده و خروجی عملیات را در فایل خروجی مشخص‌شده تولید می‌کند.

تغییر نوع هندسه به یکی از مقادیر زیر: GEOMETRY، POINT، LINESTRING، POLYGON، MULTIPOINT، MULTILINESTRING، MULTIPOLYGON، GEOMETRYCOLLECTION، CURVE، CIRCULARSTRING، COMPOUNDCURVE، SURFACE، CURVEPOLYGON، MULTICURVE، MULTISURFACE، POLYHEDRALSURFACE یا TIN. پسوندهای Z، M یا ZM را می‌توان به مقادیر فوق اضافه کرد تا بعد فضایی مشخص شود.
نام لایه برداری ورودی.
انتخاب عملیات مورد نظر از میان موارد زیر:
•
union
اجتماع (Union) مجموعه‌ای از عوارض است که مساحت‌های موجود در هر یک از لایه‌های عملوند را نمایش می‌دهد. این عملیات متقارن است و جای لایه‌های ورودی و متد می‌تواند با یکدیگر عوض شود. [image]
•
intersection
اشتراک (Intersection) مجموعه‌ای از عوارض است که مساحت‌های مشترک میان دو لایه را نمایش می‌دهد. این عملیات متقارن است و جای لایه‌های ورودی و متد می‌تواند با یکدیگر عوض شود. [image]
•
sym-difference
تفاضل متقارن (Symmetric difference) مجموعه‌ای از عوارض است که مساحت‌های موجود در لایه‌های عملوند را که با یکدیگر هم‌پوشانی ندارند نمایش می‌دهد. این عملیات متقارن است و جای لایه‌های ورودی و متد می‌تواند با یکدیگر عوض شود. [image]
•
identity
روش همانی (Identity) عوارض موجود در لایه ورودی را با عوارض موجود در لایه متد شناسایی می‌کند و در صورت نیاز ممکن است عوارض را به چند عارضه تقسیم کند. به طور پیش‌فرض، لایه نتیجه دارای ویژگی‌ها (Attributeها) از هر دو لایه عملوند است. [image]
•
update
روش به‌روزرسانی (Update) لایه‌ای ایجاد می‌کند که عوارض لایه متد را به لایه ورودی اضافه کرده و در صورت نیاز ممکن است عوارض لایه ورودی را برش دهد. به طور پیش‌فرض، لایه حاصل فقط دارای ویژگی‌های لایه ورودی خواهد بود. [image]
•
clip
روش برش (Clip) لایه‌ای ایجاد می‌کند که عوارض لایه ورودی را به مساحت عوارض موجود در لایه متد برش می‌دهد. به طور پیش‌فرض، لایه نتیجه ویژگی‌های لایه ورودی را حفظ می‌کند. [image]
•
erase
روش پاک کردن (Erase) لایه‌ای ایجاد می‌کند که عوارض لایه ورودی را در مناطقی که با عوارض لایه متد هم‌پوشانی دارند پاک می‌کند. به طور پیش‌فرض، لایه حاصل ویژگی‌های لایه ورودی را دارد. [image]
نام لایه برداری متد.

افزودن تمام فیلدهای ورودی به لایه خروجی. ناسازگار با --input-field و --no-input-field.
افزودن تمام فیلدهای متد به لایه خروجی. ناسازگار با --method-field و --no-method-field.
فیلد(های) ورودی برای افزودن به لایه خروجی [تکرارپذیر] ناسازگار با --no-input-field و --all-input-field.
پیشوند برای فیلدهای مربوط به لایه ورودی. اگر هر دو فیلدهای ورودی و متد وجود داشته باشند پیش‌فرض input_ است، در غیر این صورت رشته خالی است.
فیلد(های) متد برای افزودن به لایه خروجی [تکرارپذیر] ناسازگار با --no-method-field و --all-method-field.
پیشوند برای فیلدهای مربوط به لایه متد. اگر هر دو فیلدهای ورودی و متد وجود داشته باشند پیش‌فرض method_ است، در غیر این صورت رشته خالی است.
عدم افزودن هیچ فیلد ورودی به لایه خروجی. ناسازگار با --input-field و --all-input-field.
عدم افزودن هیچ فیلد متد به لایه خروجی. ناسازگار با --method-field و --all-method-field.

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

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

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

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

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

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

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

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

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

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

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

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

تعیین قالب برداری خروجی مورد استفاده. مقادیر مجاز را می‌توان با دستور زیر به دست آورد: gdal --formats | grep vector | grep rw | sort
نام لایه‌ای را مشخص می‌کند که عوارض در آن نوشته خواهند شد. در صورت عدم مشخص شدن، نام لایه‌های خروجی مشابه نام لایه‌های ورودی خواهد بود.
اجازه دادن به برنامه برای رونویسی روی فایل یا مجموعه‌داده مقصد موجود. در غیر این صورت، به طور پیش‌فرض، اگر فایل یا مجموعه‌داده مقصد از قبل وجود داشته باشد، gdal با خطا متوقف می‌شود.
--overwrite-layer
تعیین اینکه آیا رونویسی روی لایه برداری خروجی موجود مجاز است یا خیر.
تعیین اینکه آیا مجموعه‌داده خروجی موجود در حالت به‌روزرسانی (Update) باز شود یا خیر.

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

$ gdal vector layer-algebra union input.shp method.shp output.shp

Even Rouault <even.rouault@spatialys.com>

1998-2026

August 18, 2026