.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "GDAL-VECTOR-BUFFER" "1" "Aug 18, 2026" "" "GDAL" .SH "نام (NAME)" gdal-vector-buffer \- محاسبه حریم در اطراف هندسه‌های یک مجموعه‌داده برداری .sp در نسخه 3.12 اضافه شد. .SH "خلاصه دستور (SYNOPSIS)" .INDENT 0.0 .INDENT 3.5 .sp .EX Usage: gdal vector buffer [OPTIONS] محاسبه حریم در اطراف هندسه‌های یک مجموعه‌داده برداری. آرگومان‌های موضعی (Positional arguments): \-i, \-\-input مجموعه‌داده‌های برداری ورودی [الزامی] [در خطوط لوله در دسترس نیست] \-o, \-\-output مجموعه‌داده برداری خروجی [الزامی] [در خطوط لوله در دسترس نیست] \-\-distance فاصله‌ای که هندسه تا آن گسترش می‌یابد. [الزامی] گزینه‌های عمومی (Common Options): \-h, \-\-help نمایش پیام راهنما و خروج \-\-json\-usage نمایش نحوه استفاده به صورت سند JSON و خروج \-\-config = گزینه پیکربندی [تکرارپذیر] \-q, \-\-quiet حالت بی‌صدا (بدون نوار پیشرفت یا پیام هشدار) [در خطوط لوله در دسترس نیست] گزینه‌ها (Options): \-l, \-\-layer, \-\-input\-layer نام لایه(های) ورودی [تکرارپذیر] [در خطوط لوله در دسترس نیست] \-f, \-\-of, \-\-format, \-\-output\-format قالب خروجی (مجاز بودن \(dqGDALG\(dq) [در خطوط لوله در دسترس نیست] \-\-co, \-\-creation\-option = گزینه ایجاد [تکرارپذیر] [در خطوط لوله در دسترس نیست] \-\-lco, \-\-layer\-creation\-option = گزینه ایجاد لایه [تکرارپذیر] [در خطوط لوله در دسترس نیست] \-\-overwrite آیا بازنویسی روی مجموعه‌داده خروجی موجود مجاز است [در خطوط لوله در دسترس نیست] \-\-update آیا مجموعه‌داده موجود در حالت به‌روزرسانی باز شود [در خطوط لوله در دسترس نیست] \-\-overwrite\-layer آیا بازنویسی روی لایه خروجی موجود مجاز است [در خطوط لوله در دسترس نیست] \-\-append آیا الحاق به لایه موجود مجاز است [در خطوط لوله در دسترس نیست] ناسازگار با \-\-upsert \-\-output\-layer نام لایه خروجی [در خطوط لوله در دسترس نیست] \-\-skip\-errors چشم‌پوشی از خطاها هنگام نوشتن عوارض [در خطوط لوله در دسترس نیست] \-\-active\-layer تنظیم لایه فعال (در صورت عدم تعیین، همه) \-\-active\-geometry نام فیلد هندسه برای محدود کردن پردازش به آن (در صورت عدم تعیین، همه) \-\-endcap\-style سبک سرپوش انتهایی.. ENDCAP\-STYLE=round|flat|square (پیش‌فرض: round) \-\-join\-style سبک اتصال.. JOIN\-STYLE=round|mitre|bevel (پیش‌فرض: round) \-\-mitre\-limit حد نسبت گوشه تیز/فارسی (فقط بر سبک اتصال فارسی تأثیر می‌گذارد). (پیش‌فرض: 5) \-\-quadrant\-segments تعداد پاره‌خط‌های مورداستفاده برای تقریب یک ربع دایره. (پیش‌فرض: 8) \-\-side تعیین اینکه آیا حریم محاسبه‌شده یک‌طرفه باشد یا خیر.. SIDE=both|left|right (پیش‌فرض: both) گزینه‌های پیشرفته (Advanced Options): \-\-if, \-\-input\-format قالب‌های ورودی [تکرارپذیر] [در خطوط لوله در دسترس نیست] \-\-oo, \-\-open\-option = گزینه‌های باز کردن [تکرارپذیر] [در خطوط لوله در دسترس نیست] \-\-output\-oo, \-\-output\-open\-option = گزینه‌های باز کردن خروجی [تکرارپذیر] [در خطوط لوله در دسترس نیست] \-\-upsert درج یا به‌روزرسانی (Upsert) عوارض (شامل \(aqappend\(aq) [در خطوط لوله در دسترس نیست] ناسازگار با \-\-append .EE .UNINDENT .UNINDENT .SH "توضیحات (DESCRIPTION)" .sp دستور \fBgdal vector buffer\fP یک \fBPOLYGON\fP یا \fBMULTIPOLYGON\fP را محاسبه می‌کند که نمایانگر تمام نقاطی است که فاصله آن‌ها از یک هندسه/جغرافیا کمتر یا مساوی یک فاصله مشخص است. یک فاصله منفی به‌جای گسترش هندسه، آن را منقبض و کوچک‌تر می‌کند. یک فاصله منفی ممکن است یک چندضلعی را به‌طور کامل منقبض و محو کند، که در این حالت \fBPOLYGON EMPTY\fP بازگردانده می‌شود. برای نقاط و خطوط، فاصله‌های منفی همواره نتایج خالی بازمی‌گردانند. .sp برای مشاهده تصویرسازی‌های نگاره‌ای بیشتر از اثر پارامترهای مختلف، \X'tty: link https://postgis.net/docs/ST_Buffer.html'\fI\%مستندات PostGIS ST_Buffer\fP\X'tty: link' را ببینید. .sp مجموعه‌داده خروجی همواره به عنوان \fBMULTIPOLYGON\fP نوشته می‌شود، حتی زمانی که ورودی فقط شامل هندسه‌های ساده \fBPOLYGON\fP باشد. توجه داشته باشید که فاصله‌های حریم منفی نیز ممکن است نتایج \fBMULTIPOLYGON\fP تولید کنند. .sp استفاده از فاصله حریم 0 گاهی اوقات می‌تواند هندسه‌های نامعتبر را ترمیم کند، اما روش توصیه‌شده استفاده از \fBgdal vector make\-valid\fP برای اعتبارسنجی و ترمیم مطمئن هندسه است. .sp این دستور همچنین می‌تواند به عنوان یک مرحله از \fI\%gdal vector pipeline\fP به کار رود\&. .SH "خروجی GDALG (مجموعه‌داده درجا / جریانی) (GDALG OUTPUT (ON-THE-FLY / STREAMED DATASET))" .sp این برنامه از سریال‌سازی خط فرمان به عنوان یک فایل JSON با استفاده از قالب خروجی \fBGDALG\fP پشتیبانی می‌کند. سپس فایل حاصل می‌تواند با استفاده از درایور \fI\%GDALG: GDAL Streamed Algorithm\fP به عنوان یک مجموعه‌داده برداری باز شود و خط لوله مشخص‌شده را به صورت درجا (on\-the\-fly) یا جریانی (streamed) اعمال نماید. .sp \fBنکته:\fP .INDENT 0.0 .INDENT 3.5 این دستور نیازمند بیلد GDAL همگردانی‌شده همراه با کتابخانه GEOS است. .UNINDENT .UNINDENT .SH "گزینه‌های اختصاصی برنامه (PROGRAM-SPECIFIC OPTIONS)" .INDENT 0.0 .TP .B \-\-distance شعاع حریم (بافر) در اطراف هندسه ورودی. واحد فاصله بر حسب واحدهای زمین‌مرجع لایه مبدا است. .UNINDENT .INDENT 0.0 .TP .B \-\-endcap\-style round|flat|square سبک سرپوش انتهایی حریم تولیدشده را مشخص می‌کند. مقدار پیش‌فرض \fBround\fP (گرد) است\&. .INDENT 7.0 .INDENT 2.5 [تصویر] خطوط دارای حریم با \fBendcap\-style=round\fP، \fBendcap\-style=flat\fP و \fBendcap\-style=square\fP\&. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-join\-style round|mitre|bevel سبک اتصال را برای گوشه‌های بیرونی (محدب) بین پاره‌خط‌ها تعیین می‌کند. مقدار پیش‌فرض \fBround\fP (گرد) است\&. .INDENT 7.0 .INDENT 2.5 [تصویر] خطوط دارای حریم با \fBjoin\-style=round\fP، \fBjoin\-style=mitre\fP و \fBjoin\-style=bevel\fP\&. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-input\-layer یک یا چند نام لایه را برای خواندن و پردازش مشخص می‌کند. به‌طور پیش‌فرض، تمام لایه‌ها خوانده و پردازش خواهند شد. برای خواندن و نوشتن تمام لایه‌ها اما پردازش تنها یک زیرمجموعه، از \fI\%\-\-active\-layer\fP استفاده کنید\&. .UNINDENT .INDENT 0.0 .TP .B \-\-mitre\-limit حد نسبت فارسی‌بُر/تیز (mitre ratio) مورداستفاده برای گوشه‌های بسیار تند را تعیین می‌کند. این گزینه تنها زمانی اعمال می‌شود که از \fBjoin\-style=mitre\fP استفاده شود. .sp مقدار پیش‌فرض 5 است. .INDENT 7.0 .INDENT 2.5 [تصویر] خطوطی با حریم \fBdistance=2\fP، همراه با \fBmitre\-limit=5\fP در سمت چپ و \fBmitre\-limit=1\fP در سمت راست. .UNINDENT .UNINDENT .sp نسبت گوشه فارسی (mitre ratio) نسبت فاصله از گوشه تا انتهای گوشه بیرونی حریم امتدادیافته است. هنگامی که دو پاره‌خط در یک زاویه تند به هم می‌رسند، اتصال فارسی بسیار فراتر از هندسه اصلی امتداد می‌یابد (و در موارد حاد می‌تواند تا بی‌نهایت ادامه یابد). برای جلوگیری از تولید هندسه‌های غیرمنطقی، حد نسبت فارسی امکان کنترل حداکثر طول گوشه اتصال را فراهم می‌کند. گوشه‌هایی با نسبتی که از این حد فراتر رود، به صورت پخ‌خورده (bevel) درمی‌آیند. .UNINDENT .INDENT 0.0 .TP .B \-\-output\-layer نام لایه‌ای که خروجی باید در آن نوشته شود. در صورت عدم تعیین، لایه خروجی همان نام لایه ورودی را خواهد داشت. .UNINDENT .INDENT 0.0 .TP .B \-\-quadrant\-segments تعداد پاره‌خط‌های مورداستفاده برای تقریب زدن یک انحنا در اتصالات گرد را تعیین می‌کند. .sp این مقدار، حداکثر خطای تقریب نسبت به منحنی حریم واقعی را تعیین می‌کند. مقدار پیش‌فرض 8 خطای حداکثری کمتر از ۲٪ را در فاصله حریم فراهم می‌آورد. برای خطای حداکثری کمتر از ۱٪، از QS = 12 استفاده کنید. برای خطای حداکثری کمتر از ۰.۱٪، از QS = 18 استفاده کنید. خطا همیشه کمتر از فاصله حریم است (به عبارت دیگر، منحنی حریم محاسبه‌شده همیشه در داخل منحنی واقعی قرار می‌گیرد). .INDENT 7.0 .INDENT 2.5 [تصویر] نقاط دارای حریم با \fBquadrant\-segments=4\fP و \fBquadrant\-segments=20\fP\&. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-side both|left|right تعیین می‌کند که حریم محاسبه‌شده یک‌طرفه باشد یا در هر دو طرف (پیش‌فرض). .sp مقدار \fBleft\fP نشان می‌دهد که حریم در سمت چپ خط ایجاد می‌شود، و \fBright\fP نشان می‌دهد که حریم در سمت راست خط ایجاد می‌شود؛ این جهت بر اساس ترتیب رأس‌های خط (یعنی جهتی که خط رسم شده است) تعیین می‌گردد. .sp ایجاد حریم یک‌طرفه تنها برای هندسه LINESTRING کاربرد دارد و بر هندسه‌های POINT یا POLYGON تأثیری ندارد، و سبک سرپوش انتهایی اجباراً به مربع (square) تبدیل می‌شود. .INDENT 7.0 .INDENT 2.5 [تصویر] خطوط دارای حریم با \fBside=both\fP، \fBside=left\fP و \fBside=right\fP\&. .UNINDENT .UNINDENT .UNINDENT .SH "گزینه‌های استاندارد (STANDARD OPTIONS)" .INDENT 0.0 .TP .B \-\-append تعیین اینکه آیا افزودن عوارض به لایه(های) موجود مجاز است یا خیر. این گزینه همچنین در صورتی که مجموعه‌داده خروجی هنوز وجود نداشته باشد، آن را ایجاد می‌کند. .UNINDENT .INDENT 0.0 .TP .B \-\-active\-layer تنظیم لایه فعال. هنگامی که مشخص شود، تنها لایه‌ای که با نام آن تعیین شده است تحت پردازش قرار می‌گیرد. سایر لایه‌ها دست‌نخورده باقی می‌مانند. در صورت عدم تعیین این گزینه، تمام لایه‌ها پردازش خواهند شد. .UNINDENT .INDENT 0.0 .TP .B \-\-active\-geometry تنظیم فیلد هندسه فعال از روی نام آن. هنگامی که مشخص شود، تنها فیلد هندسه تعیین‌شده تحت پردازش قرار خواهد گرفت. سایر فیلدهای هندسه دست‌نخورده باقی می‌مانند. در صورت عدم تعیین این گزینه، تمام فیلدهای هندسه پردازش خواهند شد. این گزینه می‌تواند همراه با \fI\%\-\-active\-layer\fP ترکیب شود\&. .UNINDENT .INDENT 0.0 .TP .B \-\-co, \-\-creation\-option = بسیاری از قالب‌ها یک یا چند گزینه اختیاری ایجاد مجموعه‌داده دارند که می‌توان از آن‌ها برای کنترل جزئیات فایل ایجادشده استفاده کرد. برای نمونه، درایور GeoPackage از گزینه‌های ایجاد برای کنترل نسخه پشتیبانی می‌کند. .sp می‌تواند تکرار شود. .sp گزینه‌های ایجاد مجموعه‌داده موجود بسته به درایور قالب متفاوت هستند، و برخی قالب‌های ساده اصلاً هیچ گزینه ایجادی ندارند. فهرستی از گزینه‌های پشتیبانی‌شده برای یک قالب را می‌توان با گزینه خط فرمان \fI\%\-\-formats\fP مشاهده کرد، اما مستندات مربوط به همان قالب مرجع قطعی اطلاعات درباره گزینه‌های ایجاد درایور است. مستندات اختصاصی قالب \fI\%Vector drivers\fP را برای گزینه‌های مجاز ایجاد هر قالب ببینید. .sp توجه داشته باشید که گزینه‌های ایجاد مجموعه‌داده با گزینه‌های ایجاد لایه متفاوت هستند. .UNINDENT .INDENT 0.0 .TP .B \-\-if, \-\-input\-format نام قالب/درایور برای باز کردن فایل(های) ورودی. عموماً نیازی به تعیین آن نیست، اما زمانی که تشخیص خودکار درایور در انتخاب درایور مناسب ناموفق باشد، می‌توان از آن برای چشم‌پوشی از تشخیص خودکار استفاده کرد. این گزینه می‌تواند چندین بار برای تعیین چندین درایور کاندید تکرار شود. توجه داشته باشید که این گزینه درایورها را مجبور به باز کردن مجموعه‌داده نمی‌کند؛ به‌ویژه برخی از درایورها نیازمندی‌هایی برای پسوند فایل دارند. .sp می‌تواند تکرار شود. .UNINDENT .INDENT 0.0 .TP .B \-\-lco, \-\-layer\-creation\-option = بسیاری از قالب‌ها یک یا چند گزینه اختیاری ایجاد لایه دارند که می‌توان از آن‌ها برای کنترل ویژگی‌های مربوط به لایه ایجادشده استفاده کرد. برای مثال، درایور GeoPackage از گزینه‌های ایجاد لایه برای کنترل شناسه عارضه یا نام ستون هندسه، تنظیم شناسه یا توضیحات و غیره پشتیبانی می‌کند. .sp می‌تواند تکرار شود. .sp گزینه‌های ایجاد لایه بسته به درایور قالب متفاوت هستند، و برخی قالب‌های ساده اصلاً گزینه ایجاد لایه ندارند. فهرستی از گزینه‌های پشتیبانی‌شده برای یک قالب را می‌توان با گزینه خط فرمان \fI\%\-\-formats\fP مشاهده کرد، اما مستندات آن قالب مرجع قطعی اطلاعات درباره گزینه‌های ایجاد لایه درایور است. برای گزینه‌های مجاز ایجاد لایه در هر قالب، مستندات اختصاصی قالب \fI\%Vector drivers\fP را ببینید. .sp توجه داشته باشید که گزینه‌های ایجاد لایه با گزینه‌های ایجاد مجموعه‌داده متفاوت هستند. .UNINDENT .INDENT 0.0 .TP .B \-\-oo, \-\-open\-option = گزینه باز کردن مجموعه‌داده (مختص قالب). .sp می‌تواند تکرار شود. .UNINDENT .INDENT 0.0 .TP .B \-f, \-\-of, \-\-format, \-\-output\-format تعیین اینکه کدام قالب برداری خروجی استفاده شود. مقادیر مجاز را می‌توان با دستور زیر به دست آورد: \fBgdal \-\-formats | grep vector | grep rw | sort\fP .UNINDENT .INDENT 0.0 .TP .B \-\-output\-open\-option, \-\-output\-oo = در نسخه 3.12 اضافه شد. .sp گزینه باز کردن مجموعه‌داده برای مجموعه‌داده خروجی (مختص قالب). .sp می‌تواند تکرار شود. .UNINDENT .INDENT 0.0 .TP .B \-\-overwrite به برنامه اجازه می‌دهد تا روی فایل یا مجموعه‌داده مقصد موجود بازنویسی کند. در غیر این صورت، به‌طور پیش‌فرض اگر فایل یا مجموعه‌داده مقصد از قبل وجود داشته باشد، \fBgdal\fP با خطا مواجه می‌شود. .UNINDENT .INDENT 0.0 .TP .B \-\-overwrite\-layer تعیین اینکه آیا بازنویسی روی لایه برداری خروجی موجود مجاز است یا خیر. .UNINDENT .INDENT 0.0 .TP .B \-\-skip\-errors در نسخه 3.12 اضافه شد. .sp تعیین اینکه آیا باید از خطاهای نوشتن عارضه(ها) چشم‌پوشی شود یا خیر. توجه داشته باشید که این گزینه اندازه واحد تراکنش را به یک عارضه در هر بار تنظیم می‌کند، که ممکن است هنگام درج در پایگاه‌های داده باعث کاهش شدید سرعت شود. .UNINDENT .INDENT 0.0 .TP .B \-\-update تعیین اینکه آیا یک مجموعه‌داده خروجی موجود در حالت به‌روزرسانی باز شود یا خیر. .UNINDENT .INDENT 0.0 .TP .B \-\-upsert در نسخه 3.12 اضافه شد. .sp گونه‌ای از \fI\%\-\-append\fP که در آن عملیات \fI\%OGRLayer::UpsertFeature()\fP برای درج یا به‌روزرسانی عوارض به‌جای الحاق با \fI\%OGRLayer::CreateFeature()\fP استفاده می‌شود\&. .sp این قابلیت در حال حاضر تنها در چند درایور پیاده‌سازی شده است: \fI\%GPKG \-\- GeoPackage vector\fP، \fI\%Elasticsearch: Geographically Encoded Objects for Elasticsearch\fP و \fI\%MongoDBv3\fP (درایورهایی که upsert را پیاده‌سازی کرده‌اند، قابلیت \fI\%GDAL_DCAP_UPSERT\fP را ارائه می‌دهند). .sp عملیات درج/به‌روزرسانی (upsert) از FID عارضه ورودی، هنگامی که تنظیم شده باشد (و نام ستون FID یک رشته خالی نباشد)، به عنوان کلید به‌روزرسانی عوارض موجود استفاده می‌کند. بسیار حیاتی است که اطمینان حاصل شود مقادیر FID در لایه‌های مبدا و مقصد با یکدیگر سازگار هستند. .sp برای درایور GPKG، همچنین امکان درج/به‌روزرسانی عوارضی که FID آن‌ها تنظیم نشده یا فاقد اهمیت است (گزینه \fB\-\-unset\-fid\fP در \fI\%gdal vector edit\fP می‌تواند برای نادیده گرفتن FID از عارضه منبع استفاده شود) وجود دارد، مشروط بر اینکه یک ستون یکتا (UNIQUE) که کلید اصلی عدد صحیح نیست وجود داشته باشد. .UNINDENT .SH "کد وضعیت خروجی (RETURN STATUS CODE)" .sp برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا مقداری غیرصفر برمی‌گرداند (خطاهای غیرمسدودکننده که به صورت هشدار صادر می‌شوند، اجرای موفق در نظر گرفته می‌شوند). .SH "مثال‌ها (EXAMPLES)" .SS مثال ۱: محاسبه حریم یک کیلومتری در اطراف هندسه‌های ورودی (با فرض اینکه CRS بر حسب متر است) .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdal vector buffer \-\-distance=1000 in.gpkg out.gpkg \-\-overwrite .EE .UNINDENT .UNINDENT .SS مثال ۲: ایجاد حریم برای یک مجموعه‌داده نقطه‌ای با ۲۰ پاره‌خط در هر ربع دایره (به‌جای ۸ پیش‌فرض) برای تقریب بهتر دایره .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdal vector buffer \-\-distance=20 \-\-quadrant\-segments=20 points.gpkg point_buffers.gpkg .EE .UNINDENT .UNINDENT .SS مثال ۳: ایجاد حریم برای خطوط در سمت چپ با استفاده از سبک‌های اتصال و سرپوش انتهایی .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdal vector buffer \-\-distance=10 \-\-endcap\-style=flat \-\-side=left \-\-join\-style=mitre \-\-mitre\-limit=2 lines.gpkg lines\-buffer\-endcap.gpkg .EE .UNINDENT .UNINDENT .SS مثال ۴: برش و ایجاد حریم برای یک مجموعه‌داده خطی فشرده (zip) به عنوان بخشی از یک خط لوله Bash .INDENT 0.0 .INDENT 3.5 .sp .EX gdal vector pipeline \e ! read \(dq/vsizip/lines.zip\(dq \e ! clip \-\-bbox 647903,6863599,648703,6864399 \e ! buffer \-\-distance=5 \e ! write line\-buffer.gpkg \-\-overwrite .EE .UNINDENT .UNINDENT PowerShell .INDENT 0.0 .INDENT 3.5 .sp .EX gdal vector pipeline \(ga ! read \(dq/vsizip/lines.zip\(dq \(ga ! clip \-\-bbox 647903,6863599,648703,6864399 \(ga ! buffer \-\-distance=5 \(ga ! write line\-buffer.gpkg \-\-overwrite .EE .UNINDENT .UNINDENT .SH "نویسنده (AUTHOR)" Even Rouault .SH "حق نشر (COPYRIGHT)" 1998-2026 .\" Generated by docutils manpage writer. .