.\" 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 "GDALWARP" "1" "Aug 18, 2026" "" "GDAL" .SH "نام (NAME)" gdalwarp \- ابزار تغییر سیستم مختصات، بازنمونه‌برداری و موزاییک کردن تصاویر رستری .SH "خلاصه دستور (SYNOPSIS)" .INDENT 0.0 .INDENT 3.5 .sp .EX Usage: gdalwarp [\-\-help] [\-\-long\-usage] [\-\-help\-general] [\-\-quiet] [\-overwrite] [\-of ] [\-co =]... [\-s_srs ] [\-t_srs ] [[\-srcalpha]|[\-nosrcalpha]] [\-dstalpha] [\-tr |square] [\-ts ] [\-te ] [\-te_srs ] [\-r near|bilinear|cubic|cubicspline|lanczos|average|rms|mode|min|max|med|q1|q3|sum] [\-ot Byte|Int8|[U]Int{16|32|64}|CInt{16|32}|[C]Float{32|64}] ... Advanced options: [\-wo =]... [\-multi] [\-s_coord_epoch ] [\-t_coord_epoch ] [\-ct ] [[\-tps]|[\-rpc]|[\-geoloc]] [\-order <1|2|3>] [\-refine_gcps []] [\-to =]... [\-et ] [\-wm ] [\-srcnodata \(dq[ ]...\(dq] [\-dstnodata \(dq[ ]...\(dq] [\-tap] [\-wt Byte|Int8|[U]Int{16|32|64}|CInt{16|32}|[C]Float{32|64}] [\-cutline |] [\-cutline_srs ] [\-cwhere ] [[\-cl ]|[\-csql ]] [\-cblend ] [\-crop_to_cutline] [\-nomd] [\-cvmd ] [\-setci] [\-oo =]... [\-doo =]... [\-ovr |AUTO|AUTO\-|NONE] [[\-vshift]|[\-novshiftgrid]] [\-if ]... [\-srcband ]... [\-dstband ]... .EE .UNINDENT .UNINDENT .SH "توضیحات (DESCRIPTION)" .sp ابزار \fBgdalwarp\fP برنامه‌ای برای موزاییک کردن، بازپرافکنی (تغییر سیستم تصویر) و بازنمونه‌برداری تصاویر رستری است. این برنامه می‌تواند تصاویر را به هر سیستم تصویر پشتیبانی‌شده‌ای تغییر دهد و همچنین در صورتی که تصویر به صورت خام و دارای اطلاعات کنترلی باشد، نقاط کنترل زمینی (GCP) ذخیره‌شده با تصویر را اعمال کند. .sp \fBنکته:\fP .INDENT 0.0 .INDENT 3.5 معادل‌ها در رابط خط فرمان جدید \(dqgdal\(dq: .INDENT 0.0 .IP \(bu 2 \fI\%gdal raster reproject\fP برای تغییر سیستم مختصات .IP \(bu 2 \fI\%gdal raster update\fP برای به‌روزرسانی محتوای یک رستر با رستری دیگر .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-help نمایش این پیام راهنما و خروج .UNINDENT .INDENT 0.0 .TP .B \-\-help\-general نمایش پیام خلاصه نحوه استفاده از گزینه‌های عمومی خط فرمان GDAL و خروج .UNINDENT .INDENT 0.0 .TP .B \-q, \-\-quiet سرکوب پیام‌های پیشرفت و سایر خروجی‌های غیرخطا .UNINDENT .INDENT 0.0 .TP .B \-b .UNINDENT .INDENT 0.0 .TP .B \-srcband در نسخه 3.7 اضافه شد. .sp تعیین شماره باند ورودی برای تغییر و تبدیل (بین ۱ و تعداد باندهای مجموعه داده مبدأ). .sp این گزینه برای اعمال تبدیل روی زیرمجموعه‌ای از باندهای ورودی به کار می‌رود. در صورت عدم تعیین، از تمام باندهای ورودی استفاده می‌شود. .sp این گزینه می‌تواند چندین بار تکرار شود تا چند باند ورودی انتخاب گردد. ترتیبی که باندها مشخص می‌شوند، همان ترتیبی خواهد بود که در مجموعه داده خروجی ظاهر می‌شوند (مگر اینکه \fI\%\-dstband\fP مشخص شده باشد). .sp باند آلفا نباید در این فهرست مشخص شود، زیرا به صورت خودکار بازیابی خواهد شد (مگر اینکه \fI\%\-nosrcalpha\fP مشخص شده باشد). .sp دستور زیر یک مجموعه داده ورودی با باندهای به ترتیب آبی، سبز، قرمز، مادون قرمز نزدیک را به یک مجموعه داده خروجی با باندهای به ترتیب قرمز، سبز، آبی تبدیل می‌کند. .INDENT 7.0 .INDENT 3.5 .sp .EX gdalwarp in_bgrn.tif out_rgb.tif \-b 3 \-b 2 \-b 1 \-overwrite .EE .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-dstband در نسخه 3.7 اضافه شد. .sp تعیین شماره باند خروجی که تبدیل در آن نوشته می‌شود. در عمل، این گزینه تنها هنگام به‌روزرسانی یک مجموعه داده موجود، مثلاً برای تبدیل یک باند در هر زمان، کاربرد دارد. .INDENT 7.0 .INDENT 3.5 .sp .EX gdal_create \-if in_red.tif \-bands 3 out_rgb.tif gdalwarp in_red.tif out_rgb.tif \-srcband 1 \-dstband 1 gdalwarp in_green.tif out_rgb.tif \-srcband 1 \-dstband 2 gdalwarp in_blue.tif out_rgb.tif \-srcband 1 \-dstband 3 .EE .UNINDENT .UNINDENT .sp اگر \fI\%\-srcband\fP مشخص شده باشد، باید تعداد تکرار \fI\%\-dstband\fP دقیقاً برابر با تعداد تکرار \fI\%\-srcband\fP باشد. .sp باند آلفای خروجی نباید مشخص شود، زیرا اگر مجموعه داده ورودی دارای باند آلفا باشد یا اگر \fI\%\-dstalpha\fP مشخص شده باشد، به صورت خودکار ایجاد خواهد شد. .sp اگر \fI\%\-dstband\fP مشخص نشود، آنگاه \fB\-dstband 1 \-dstband 2 ... \-dstband N\fP فرض می‌شود که در آن N تعداد باندهای ورودی است (که به صورت صریح با \fI\%\-srcband\fP یا به صورت ضمنی مشخص شده است). .UNINDENT .INDENT 0.0 .TP .B \-s_srs تنظیم مرجع مکانی مبدأ. اگر مشخص نشود، از SRS موجود در مجموعه داده ورودی استفاده خواهد شد. .sp سیستم‌های مرجع مختصاتی قابل پذیرش، هر موردی است که توسط فراخوانی OGRSpatialReference.SetFromUserInput() پشتیبانی شود، که شامل CRSهای پیش‌بینی‌شده، جغرافیایی یا مرکب EPSG (مانند EPSG:4296)، یک تعریف متنی WKT از CRS، اعلان‌های PROJ.4 یا نام یک فایل .prj حاوی تعریف WKT CRS است. .sp اگر SRS دارای یک دیتوم قائم صریح باشد که به یک شبکه ژئوئید اشاره کند، و مجموعه داده ورودی یک مجموعه داده تک‌باند باشد، یک تصحیح قائم روی مقادیر مجموعه داده اعمال خواهد شد. .UNINDENT .INDENT 0.0 .TP .B \-s_coord_epoch در نسخه 3.4 اضافه شد. .sp تخصیص یک دوره مرجع مختصاتی، متصل به SRS مبدأ. زمانی مفید است که SRS مبدأ یک CRS دینامیک باشد. تنها زمانی لحاظ می‌شود که \fI\%\-s_srs\fP استفاده شده باشد. .sp پیش از PROJ 9.4، گزینه‌های \fI\%\-s_coord_epoch\fP و \fI\%\-t_coord_epoch\fP به دلیل عدم پشتیبانی از تبدیل بین دو CRS دینامیک، با یکدیگر ناسازگار بودند. .UNINDENT .INDENT 0.0 .TP .B \-t_srs تنظیم مرجع مکانی مقصد (هدف). .sp برای انجام تبدیل سیستم مختصات، یک SRS مبدأ باید در دسترس باشد. SRS مبدأ به‌طور پیش‌فرض همانی خواهد بود که در مجموعه داده ورودی یافت می‌شود (در صورت موجود بودن)، یا مقداری که توسط کاربر با \fI\%\-s_srs\fP تعیین شده است. .sp سیستم‌های مرجع مختصاتی قابل انتقال، هر موردی است که توسط فراخوانی OGRSpatialReference.SetFromUserInput() پشتیبانی شود، شامل CRSهای تصویرشده، جغرافیایی یا مرکب EPSG (مانند EPSG:4296)، تعریف متنی WKT از CRS، اعلان‌های PROJ.4 یا نام یک فایل .prj حاوی تعریف WKT CRS. .sp اگر SRS دارای یک دیتوم قائم صریح باشد که به یک شبکه ژئوئید اشاره کند و مجموعه داده ورودی تک‌باند باشد، یک تصحیح قائم روی مقادیر مجموعه داده اعمال خواهد شد. .UNINDENT .INDENT 0.0 .TP .B \-t_coord_epoch در نسخه 3.4 اضافه شد. .sp تخصیص یک دوره مرجع مختصاتی، متصل به SRS مقصد. زمانی مفید است که SRS مقصد یک CRS دینامیک باشد. تنها در صورت استفاده از \fI\%\-t_srs\fP لحاظ می‌شود. .sp پیش از PROJ 9.4، گزینه‌های \fI\%\-s_coord_epoch\fP و \fI\%\-t_coord_epoch\fP با یکدیگر ناسازگار بودند. .UNINDENT .INDENT 0.0 .TP .B \-ct یک رشته PROJ (عملیات تک‌مرحله‌ای یا رشته چندمرحله‌ای که با +proj=pipeline شروع می‌شود)، یک رشته WKT2 که یک CoordinateOperation را توصیف می‌کند، یا یک URN به فرم \fI\%urn:ogc:def:coordinateOperation:EPSG::XXXX\fP که تبدیل پیش‌فرض از CRS مبدأ به مقصد را لغو می‌کند. .sp باید ترتیب محورهای CRS مبدأ و مقصد را در نظر بگیرد؛ به این معنی که معمولاً اگر CRS مبدأ دارای ترتیب محورهای northing/easting باشد، یک \fBstep proj=axisswap order=2,1\fP در ابتدای خط لوله، و/یا اگر CRS مقصد دارای ترتیب محورهای northing/easting باشد در انتهای خط لوله قرار دهد. .sp هنگام ساخت یک فایل خروجی جدید، استفاده از \fI\%\-t_srs\fP همچنان برای درج CRS مقصد در متادیتای فایل خروجی لازم است، اما پارامترهای CoordinateOperation جایگزین پارامترهای تبدیل استاندارد خواهند شد. .sp در نسخه 3.0 اضافه شد. .UNINDENT .INDENT 0.0 .TP .B \-to = تنظیم یک گزینه ترانسفورمر مناسب برای انتقال به \fI\%GDALCreateGenImgProjTransformer2()\fP. برای گزینه‌های ویژه RPC به \fI\%GDALCreateRPCTransformerV2()\fP مراجعه کنید. .UNINDENT .INDENT 0.0 .TP .B \-vshift اجبار به استفاده از شیفت قائم (vertical shift). این گزینه معمولاً لازم نیست، مگر هنگام استفاده از یک تبدیل مختصات صریح (\fI\%\-ct\fP) بدون مشخص کردن صریح SRS مبدأ و مقصد. .sp در نسخه 3.4 اضافه شد. .UNINDENT .INDENT 0.0 .TP .B \-novshift غیرفعال کردن استفاده از شیفت قائم هنگامی که یکی از SRSهای مبدأ یا مقصد دارای دیتوم قائم صریح است و مجموعه داده ورودی یک مجموعه داده تک‌باند است. .sp \fBنکته:\fP .INDENT 7.0 .INDENT 3.5 این گزینه تا GDAL 3.3 به نام \fB\-novshiftgrid\fP بود. .UNINDENT .UNINDENT .sp در نسخه 3.4 اضافه شد. .UNINDENT .INDENT 0.0 .TP .B \-order درجه چندجمله‌ای مورد استفاده برای تبدیل هندسی (۱ تا ۳). پیش‌فرض، انتخاب درجه چندجمله‌ای بر اساس تعداد GCPها است. .UNINDENT .INDENT 0.0 .TP .B \-tps اجبار به استفاده از ترانسفورمر چندجمله‌ای صفحه نازک (Thin Plate Spline) بر اساس GCPهای موجود. .sp \fBهشدار:\fP .INDENT 7.0 .INDENT 3.5 استفاده از ترانسفورمر Thin Plate Spline با بیش از چند هزار GCP نیازمند حافظه رم قابل‌توجه (دست‌کم \fBnumGCPs\fP * \fBnumGCPs\fP * 8 بایت) و زمان پردازش بسیار بالا است. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-rpc اجبار به استفاده از RPCها. .UNINDENT .INDENT 0.0 .TP .B \-geoloc اجبار به استفاده از آرایه‌های موقعیت مکانی (Geolocation Arrays). .UNINDENT .INDENT 0.0 .TP .B \-et آستانه خطا برای تقریب تبدیل، بیان‌شده بر حسب تعداد پیکسل‌های مبدأ. پیش‌فرض ۰.۱۲۵ پیکسل است مگر اینکه گزینه ترانسفورمر \fBRPC_DEM\fP مشخص شده باشد، که در این حالت از یک ترانسفورمر دقیق، یعنی \fBerr_threshold=0\fP، استفاده خواهد شد. .UNINDENT .INDENT 0.0 .TP .B \-refine_gcps [] پالایش نقاط GCP با حذف خودکار نقاط پرت (outliers). نقاط پرت تا رسیدن به minimum_gcps یا زمانی که هیچ نقطه پرتی شناسایی نشود، حذف خواهند شد. میزان تلرانس برای تنظیم شرایط حذف یک GCP داده می‌شود. توجه داشته باشید که پالایش GCP تنها با میان‌یابی چندجمله‌ای کار می‌کند. اگر هیچ سیستم مرجع مکانی در دسترس نباشد، تلرانس بر حسب واحدهای پیکسل و در غیر این صورت بر حسب واحدهای SRS است. اگر minimum_gcps مشخص نشود، حداقل GCPها بر اساس مدل چندجمله‌ای به کار گرفته می‌شود. .UNINDENT .INDENT 0.0 .TP .B \-te تنظیم محدوده جغرافیایی فایل خروجی مورد نظر (به‌طور پیش‌فرض در SRS مقصد، یا در SRS مشخص‌شده با \fI\%\-te_srs\fP). .UNINDENT .INDENT 0.0 .TP .B \-te_srs تعیین SRSای که مختصات ارائه‌شده با \-te باید بر اساس آن تفسیر شوند. مقدار می‌تواند هر یک از قالب‌های معمول GDAL/OGR، شامل WKT کامل، PROJ.4، EPSG:n یا فایلی حاوی WKT باشد. این گزینه نباید با \-t_srs که SRS مقصد مجموعه داده خروجی است اشتباه گرفته شود. گزینه \fI\%\-te_srs\fP ابزاری کمکی است، مثلاً زمانی که مختصات خروجی در یک SRS طول/عرض جغرافیایی ژئودتیک دانسته شده، اما نتیجه در یک سیستم مختصات تصویرشده (projected) خواسته شده باشد. .UNINDENT .INDENT 0.0 .TP .B \-tr | \-tr square تنظیم تفکیک‌پذیری (رزولوشن) فایل خروجی (در واحدهای مرجع مکانی مقصد). .sp اگر مشخص نشود (یا از \-te و \-ts استنتاج نشود)، gdalwarp در حالت عمومی، یک رستر خروجی با xres=yres تولید خواهد کرد. .sp از نسخه GDAL 3.7 به بعد، اگر هیچ‌یک از \fI\%\-tr\fP یا \fI\%\-ts\fP مشخص نشوند و تغییری در سیستم مختصات وجود نداشته باشد (شامل لحاظ کردن آرایه‌های موقعیت مکانی یا RPC)، رزولوشن فایل(های) مبدأ حفظ خواهد شد (در نسخه‌های پیشین، همواره یک رستر خروجی با xres=yres تولید می‌شد). می‌توان با مشخص کردن مقدار \fBsquare\fP برای \fI\%\-tr\fP درخواست کرد که همچنان پیکسل‌های مربعی تولید شوند. .UNINDENT .INDENT 0.0 .TP .B \-tap (target aligned pixels) تراز کردن مختصات محدوده فایل خروجی با مقادیر \fI\%\-tr\fP، به گونه‌ای که محدوده تراز‌شده شامل حداقل محدوده باشد (خطوط/ستون‌های حاشیه‌ای که پیش از تبدیل واقعی به عنوان خالی شناسایی شوند، از GDAL 3.8 حذف خواهند شد). تراز کردن به این معناست که xmin / resx، ymin / resy، xmax / resx و ymax / resy مقادیر صحیح باشند. این امر لزوماً به این معنی نیست که شبکه خروجی با شبکه ورودی تراز است. .UNINDENT .INDENT 0.0 .TP .B \-ts تنظیم اندازه فایل خروجی بر حسب پیکسل و خط (عرض و ارتفاع). اگر عرض یا ارتفاع روی ۰ تنظیم شود، بعد دیگر از روی رزولوشن محاسبه‌شده حدس زده خواهد شد. توجه داشته باشید که \fI\%\-ts\fP نمی‌تواند همراه با \fI\%\-tr\fP استفاده شود. .UNINDENT .INDENT 0.0 .TP .B \-ovr |AUTO|AUTO\-|NONE مشخص کردن اینکه کدام سطح بازنگری (overview) از فایل‌های مبدأ باید استفاده شود. انتخاب پیش‌فرض، AUTO، سطحی را انتخاب می‌کند که رزولوشن آن نزدیک‌ترین به رزولوشن مقصد است. یک مقدار عدد صحیح (مبتنی بر ۰، یعنی 0=سطح اول بازنگری) برای انتخاب یک سطح خاص مشخص کنید. مقدار AUTO-n که در آن n عددی صحیح بزرگتر یا مساوی ۱ است را برای انتخاب سطح بازنگری پایین‌تر از سطح AUTO مشخص کنید. یا NONE را مشخص کنید تا رزولوشن پایه اجبار شود (می‌تواند زمانی مفید باشد که سطوح بازنگری با یک روش بازنمونه‌برداری با کیفیت پایین ایجاد شده‌اند و تبدیل با یک روش بازنمونه‌برداری با کیفیت بالاتر انجام می‌شود). .UNINDENT .INDENT 0.0 .TP .B \-wo = تنظیم یک گزینه تبدیل (warp option). مستندات \fI\%GDALWarpOptions::papszWarpOptions\fP تمام گزینه‌ها را نشان می‌دهد. گزینه‌های متعدد \fI\%\-wo\fP می‌توانند فهرست شوند. .UNINDENT .INDENT 0.0 .TP .B \-ot اجبار باندهای تصویر خروجی به داشتن نوع داده‌ای خاص که توسط درایور پشتیبانی می‌شود؛ می‌تواند یکی از موارد زیر باشد: \fBByte\fP، \fBInt8\fP، \fBUInt16\fP، \fBInt16\fP، \fBUInt32\fP، \fBInt32\fP، \fBUInt64\fP، \fBInt64\fP، \fBFloat32\fP، \fBFloat64\fP، \fBCInt16\fP، \fBCInt32\fP، \fBCFloat32\fP یا \fBCFloat64\fP. .UNINDENT .INDENT 0.0 .TP .B \-wt نوع داده پیکسل کاری. نوع داده پیکسل‌ها در بافرهای تصویر مبدأ و تصویر مقصد. .UNINDENT .INDENT 0.0 .TP .B \-r روش بازنمونه‌برداری (Resampling method) مورد استفاده. روش‌های موجود عبارتند از: .sp \fBnear\fP: بازنمونه‌برداری نزدیک‌ترین همسایه (پیش‌فرض برای درایورهای غیر COG، سریع‌ترین الگوریتم، کمترین کیفیت میان‌یابی). .sp \fBbilinear\fP: بازنمونه‌برداری دوسطحی (دوخطی). .sp \fBcubic\fP: بازنمونه‌برداری مکعبی (پیش‌فرض برای درایور COG). .sp \fBcubicspline\fP: بازنمونه‌برداری اسپلاین مکعبی. .sp \fBlanczos\fP: بازنمونه‌برداری پنجره‌ای سینک لنچوز (Lanczos windowed sinc). .sp \fBaverage\fP: بازنمونه‌برداری میانگین، میانگین وزن‌دار تمام پیکسل‌های دخیل غیر NODATA را محاسبه می‌کند. .sp \fBrms\fP: جذر میانگین مربعات / میانگین درجه دوم تمام پیکسل‌های دخیل غیر NODATA (در GDAL >= 3.3). .sp \fBmode\fP: بازنمونه‌برداری مد (نما)، مقداری را انتخاب می‌کند که بیشترین تکرار را در میان نقاط نمونه‌برداری‌شده دارد. در صورت تساوی، اولین مقداری که به عنوان مد شناسایی شود انتخاب می‌گردد. .sp \fBmax\fP: بازنمونه‌برداری بیشینه، حداکثر مقدار را از تمام پیکسل‌های دخیل غیر NODATA انتخاب می‌کند. .sp \fBmin\fP: بازنمونه‌برداری کمینه، حداقل مقدار را از تمام پیکسل‌های دخیل غیر NODATA انتخاب می‌کند. .sp \fBmed\fP: بازنمونه‌برداری میانه، مقدار میانه تمام پیکسل‌های دخیل غیر NODATA را انتخاب می‌کند. .sp \fBq1\fP: بازنمونه‌برداری چارک اول، مقدار چارک اول تمام پیکسل‌های دخیل غیر NODATA را انتخاب می‌کند. .sp \fBq3\fP: بازنمونه‌برداری چارک سوم، مقدار چارک سوم تمام پیکسل‌های دخیل غیر NODATA را انتخاب می‌کند. .sp \fBsum\fP: محاسبه مجموع وزن‌دار تمام پیکسل‌های دخیل غیر NODATA (از GDAL 3.1). .sp \fBنکته:\fP .INDENT 7.0 .INDENT 3.5 هنگام کاهش نمونه‌برداری (downsampling - استفاده از \fI\%\-tr\fP یا \fI\%\-ts\fP)، سطوح بازنگری موجود (چه داخلی/ضمنی و چه خارجی) روی تصویر مبدأ به‌طور پیش‌فرض با انتخاب نزدیک‌ترین نما به تفکیک‌پذیری خروجی مورد نظر استفاده خواهند شد. روش بازنمونه‌برداری استفاده‌شده برای ساخت آن نماها معمولاً روشی نیست که شما از طریق گزینه \fI\%\-r\fP مشخص می‌کنید. برخی قالب‌ها مانند JPEG2000 به دلیل نحوه کارکرد فشرده‌سازی موجک (wavelet)، می‌توانند حاوی داده‌های پرت چشمگیری باشند. بنابراین ممکن است در این موقعیت‌ها استفاده از گزینه \fI\%\-ovr\fP \fBNONE\fP برای جلوگیری از استفاده از نماهای موجود سودمند باشد. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-srcnodata \(dq[ ]...\(dq تنظیم مقادیر ماسک nodata برای باندهای ورودی (می‌توان مقادیر متفاوتی برای هر باند ارائه داد). در صورت ارائه بیش از یک مقدار، تمام مقادیر باید درون نقل‌قول قرار گیرند تا به عنوان یک آرگومان واحد سیستم‌عامل در نظر گرفته شوند. مقادیر ماسک‌شده در میان‌یابی استفاده نخواهند شد (جزئیات در بخش \fI\%مدیریت NODATA و ماسک اعتبارسنجی مبدأ\fP آمده است). .sp از مقدار \fBNone\fP برای نادیده گرفتن تنظیمات ذاتی nodata در مجموعه داده مبدأ استفاده کنید. .sp هنگامی که این گزینه روی مقداری غیر از \fBNone\fP تنظیم شود، باعث می‌شود گزینه تبدیل \fBUNIFIED_SRC_NODATA\fP (به \fI\%GDALWarpOptions::papszWarpOptions\fP مراجعه کنید) روی \fBYES\fP تنظیم گردد، مگر اینکه صریحاً تنظیم شده باشد. .sp اگر \fB\-srcnodata\fP صریحاً تعیین نشود اما مجموعه داده مبدأ دارای مقادیر nodata باشد، این مقادیر با مقدار پیش‌فرض \fBPARTIAL\fP برای \fBUNIFIED_SRC_NODATA\fP لحاظ خواهند شد. .UNINDENT .INDENT 0.0 .TP .B \-dstnodata \(dq[ ]...\(dq تنظیم مقادیر nodata برای باندهای خروجی (می‌توان مقادیر متفاوتی برای هر باند ارائه داد). اگر بیش از یک مقدار داده شود، تمام مقادیر باید درون نقل‌قول قرار گیرند تا به عنوان یک آرگومان واحد سیستم‌عامل در نظر گرفته شوند. فایل‌های جدید با این مقدار مقداردهی اولیه می‌شوند و در صورت امکان مقدار nodata در فایل خروجی ثبت خواهد شد. برای اطمینان از تعریف نشدن nodata، مقدار \fBNone\fP را به کار ببرید. اگر از این آرگومان استفاده نشود، مقادیر nodata از مجموعه داده مبدأ کپی خواهند شد. .UNINDENT .INDENT 0.0 .TP .B \-srcalpha اجبار به در نظر گرفتن آخرین باند تصویر مبدأ به عنوان باند آلفای مبدأ. .UNINDENT .INDENT 0.0 .TP .B \-nosrcalpha جلوگیری از در نظر گرفتن باند آلفای تصویر مبدأ به عنوان باند آلفا (مانند یک باند معمولی تبدیل خواهد شد). .UNINDENT .INDENT 0.0 .TP .B \-dstalpha ایجاد یک باند آلفای خروجی برای شناسایی پیکسل‌های nodata (تنظیم‌نشده/شفاف). .UNINDENT .INDENT 0.0 .TP .B \-wm تنظیم میزان حافظه‌ای که API تبدیل (warp) مجاز است برای حافظه پنهان (کَش) استفاده کند. پیش‌فرض 64 MB است. از GDAL 3.10، مقدار را می‌توان به صورت یک مقدار ثابت حافظه (مانند \fB\-wm 200MB\fP، \fB\-wm 1G\fP) یا به صورت درصدی از RAM قابل استفاده (\fB\-wm 10%\fP) مشخص کرد. در نسخه‌های پیشین، یا اگر واحدی مشخص نشود، چنانچه مقدار کمتر از 10000 باشد بر حسب مگابایت و برای مقادیر >=10000 بر حسب بایت تفسیر می‌شود. .sp موتور تبدیل، حافظه مورد نیاز برای نگه‌داری آرایه‌های تصویر ورودی و خروجی و هرگونه آرایه ماسک کمکی را محاسبه می‌کند و اگر بزرگتر از حافظه مجاز تبدیل باشد، قطعه را به قطعات کوچکتری تقسیم کرده و دوباره تلاش می‌کند. .sp اگر مقدار \-wm بسیار کوچک باشد، به دلیل پردازش قطعات کوچک متعدد سربار اضافی ایجاد می‌شود، بنابراین بزرگتر قرار دادن آن بهتر است اما با بازده نزولی همراه خواهد بود. .UNINDENT .INDENT 0.0 .TP .B \-multi استفاده از پیاده‌سازی تبدیل چندریسمانی (multithreaded). از دو ریسمان (thread) برای پردازش قطعات تصویر و انجام همزمان عملیات ورودی/خروجی استفاده خواهد شد. توجه داشته باشید که خود محاسبات چندریسمانی نیستند. برای چندریسمانی کردن محاسبات، می‌توانید از گزینه \fI\%\-wo\fP NUM_THREADS=val/ALL_CPUS استفاده کنید که می‌تواند با \fI\%\-multi\fP ترکیب شود. .UNINDENT .INDENT 0.0 .TP .B \-if نام قالب/درایور برای تلاش جهت باز کردن فایل(های) ورودی. معمولاً نیازی به تعیین آن نیست، اما می‌تواند برای رد کردن تشخیص خودکار درایور، در صورتی که نتواند درایور مناسب را انتخاب کند، استفاده شود. این گزینه می‌تواند چندین بار برای تعیین چندین درایور کاندید تکرار شود. توجه داشته باشید که درایورها را مجبور به باز کردن مجموعه داده نمی‌کند؛ به‌ویژه برخی درایورها نیازمندی‌هایی برای پسوند فایل دارند. .sp در نسخه 3.2 اضافه شد. .UNINDENT .INDENT 0.0 .TP .B \-of انتخاب قالب خروجی. اگر مشخص نشود، قالب از روی پسوند فایل حدس زده می‌شود. از نام کوتاه قالب استفاده کنید. .UNINDENT .INDENT 0.0 .TP .B \-co = بسیاری از قالب‌ها یک یا چند گزینه اختیاری ساخت فایل دارند که می‌توان از آنها برای کنترل ویژگی‌های فایل ایجادشده استفاده کرد. برای مثال، درایور GeoTIFF از گزینه‌های ساخت برای کنترل فشرده‌سازی و تایل‌بندی شدن فایل پشتیبانی می‌کند. .sp گزینه‌های ساخت موجود بسته به درایور قالب متفاوت است و برخی قالب‌های ساده اصلاً گزینه ساختی ندارند. فهرستی از گزینه‌های پشتیبانی‌شده برای یک قالب را می‌توان با گزینه خط فرمان \fI\%\-\-format\fP مشاهده کرد، اما مستندات خود قالب، منبع قطعی اطلاعات درباره گزینه‌های ساخت درایور است. برای مشاهده گزینه‌های مجاز ساخت هر قالب به مستندات \fI\%درایورهای رستر\fP مراجعه کنید. .UNINDENT .INDENT 0.0 .TP .B \-cutline | فعال‌سازی استفاده از خط برش (cutline) محوشونده از روی نام یک مجموعه داده برداری. از GDAL 3.9، یک رشته هندسی WKT که با POLYGON یا MULTIPOLYGON شروع می‌شود نیز می‌تواند مشخص گردد. .UNINDENT .INDENT 0.0 .TP .B \-cutline_srs در نسخه 3.9 اضافه شد. .sp تنظیم یا لغو SRS خط برش. .UNINDENT .INDENT 0.0 .TP .B \-cl انتخاب لایه نام‌برده‌شده از منبع داده خط برش. .UNINDENT .INDENT 0.0 .TP .B \-cwhere محدود کردن عوارض خط برش بر اساس پرس‌وجوی توصیفی (attribute query). .UNINDENT .INDENT 0.0 .TP .B \-csql انتخاب عوارض خط برش با استفاده از یک پرس‌وجوی SQL به جای انتخاب از یک لایه با \fI\%\-cl\fP. .UNINDENT .INDENT 0.0 .TP .B \-cblend تنظیم فاصله محوشدگی (blend distance) برای محو کردن روی خطوط برش (به پیکسل). .UNINDENT .INDENT 0.0 .TP .B \-crop_to_cutline برش دادن محدوده مجموعه داده مقصد به محدوده خط برش. .UNINDENT .INDENT 0.0 .TP .B \-overwrite بازنویسی روی مجموعه داده مقصد در صورتی که از قبل وجود داشته باشد. بازنویسی در اینجا باید به عنوان حذف و ایجاد مجدد فایل از ابتدا درک شود. توجه داشته باشید که اگر این گزینه مشخص \fIنشود\fP و فایل خروجی از قبل وجود داشته باشد، در همان جا به‌روزرسانی خواهد شد. .UNINDENT .INDENT 0.0 .TP .B \-nomd کپی نکردن متادیتا. بدون این گزینه، متادیتای مجموعه داده و باند (و همچنین برخی اطلاعات باند) از اولین مجموعه داده مبدأ کپی خواهد شد. مواردی که میان مجموعه‌های داده مبدأ متفاوت هستند روی * تنظیم می‌شوند (گزینه \fI\%\-cvmd\fP را ببینید). .UNINDENT .INDENT 0.0 .TP .B \-cvmd مقداری که برای موارد متادیتای دارای مغایرت بین مجموعه‌های داده مبدأ تنظیم می‌شود (پیش‌فرض \(dq*\(dq است). از \(dq\(dq برای حذف موارد مغایر استفاده کنید. .UNINDENT .INDENT 0.0 .TP .B \-setci تنظیم تفسیر رنگی (color interpretation) باندهای مجموعه داده مقصد بر اساس مجموعه داده مبدأ. .UNINDENT .INDENT 0.0 .TP .B \-oo = گزینه باز کردن مجموعه داده (ویژه قالب) .UNINDENT .INDENT 0.0 .TP .B \-doo = گزینه باز کردن مجموعه داده خروجی (ویژه قالب) .UNINDENT .INDENT 0.0 .TP .B نام فایل(های) مبدأ. .UNINDENT .INDENT 0.0 .TP .B نام فایل مقصد. .UNINDENT .SH "نمای کلی (OVERVIEW)" .sp ابزار \fBgdalwarp\fP تصاویر را میان سیستم‌های مرجع مختصات و تفکیک‌پذیری‌های مکانی مختلف تبدیل می‌کند. .sp ابتدا، در صورتی که محدوده و تفکیک‌پذیری با استفاده از \fI\%\-te\fP و \fI\%\-tr\fP مشخص نشده باشند، \fBgdalwarp\fP باید محدوده و تفکیک‌پذیری خروجی را تعیین کند. این مقادیر با تبدیل نمونه‌ای از نقاط از CRS مبدأ به CRS مقصد تعیین می‌شوند. جزئیات این فرآیند را می‌توان در مستندات \fI\%GDALSuggestedWarpOutput()\fP یافت. اگر چندین ورودی به \fBgdalwarp\fP داده شود، محدوده خروجی به گونه‌ای محاسبه می‌شود که تمام آنها را در بر بگیرد، با تفکیک‌پذیری که با ورودی دارای بالاترین تفکیک‌پذیری مطابقت دارد. .sp پس از تعیین ابعاد تصویر خروجی، \fBgdalwarp\fP تصویر خروجی را به قطعاتی تقسیم می‌کند که می‌توانند به طور مستقل در محدوده حافظه مشخص‌شده با \fI\%\-wm\fP پردازش شوند. سپس \fBgdalwarp\fP روی خطوط روبش (scanlines) در این قطعات پیمایش می‌کند و برای هر پیکسل خروجی، یک ناحیه مستطیلی از پیکسل‌های مبدأ را که در مقدار پیکسل خروجی سهم دارند تعیین می‌نماید. ابعاد این ناحیه مستطیلی معمولاً با تخمین مقیاس‌های نسبی رستر مبدأ و مقصد تعیین می‌شود، اما می‌تواند به صورت دستی نیز مشخص گردد (به مستندات پارامتر \fBXSCALE\fP در \fI\%GDALWarpOptions::papszWarpOptions\fP مراجعه کنید). از آنجا که ناحیه مبدأ یک مستطیل ساده است، این امکان وجود ندارد که یک پیکسل خروجی با پیکسل‌های مبدأ از هر دو طرف ضدنصف‌النهار یا قطب (هنگام تبدیل از مختصات جغرافیایی) مرتبط شود. .sp سپس ناحیه مستطیلی پیکسل‌های مبدأ به تابعی داده می‌شود که الگوریتم بازنمونه‌برداری انتخاب‌شده با \fI\%\-r\fP را اجرا می‌کند. بسته به الگوریتم بازنمونه‌برداری و مقیاس‌های نسبی رسترهای مبدأ و مقصد، پیکسل‌های مبدأ ممکن است بر اساس کسر تقریبی پیکسل مبدأ که توسط پیکسل مقصد پوشش داده شده است وزن‌دهی شوند (مانند بازنمونه‌برداری \(dqmean\(dq و \(dqsum\(dq)، یا بر اساس فواصل دکارتی افقی و عمودی بین مرکز پیکسل مبدأ و مرکز پیکسل مقصد (مانند بازنمونه‌برداری دوخطی یا اسپلاین مکعبی). در حالت اخیر، وزن نسبی یک پیکسل مبدأ به صورت منفرد با حاصل‌ضرب وزن‌های تعیین‌شده برای سطر و ستون آن مشخص می‌شود؛ فاصله دکارتی قطری محاسبه نمی‌شود. .SH "چندین فایل ورودی (MULTIPLE INPUT FILES)" .sp هنگامی که چندین ورودی به \fBgdalwarp\fP ارائه می‌شود، آنها به طور مستقل و به ترتیبی که فهرست شده‌اند پردازش می‌شوند. این امر ممکن است اثرات لبه‌ای (edge effects) در نزدیکی مرزهای فایل‌های ورودی ایجاد کند، زیرا مقادیر پیکسل خروجی تنها از ورودی نهایی به دست می‌آیند. برای جلوگیری از این مشکل، فایل‌های ورودی غیرهم‌پوشان ممکن است ابتدا در یک \fI\%فایل VRT\fP (مثلاً با استفاده از \fI\%gdalbuildvrt\fP) ترکیب شوند. این کار به \fBgdalwarp\fP اجازه می‌دهد هنگام محاسبه مقادیر پیکسل خروجی، از پیکسل‌های تمام ورودی‌ها استفاده کند. .SH "نوشتن در یک فایل موجود (WRITING TO AN EXISTING FILE)" .sp موزاییک کردن در یک فایل خروجی موجود، در صورتی که فایل خروجی از قبل وجود داشته باشد، پشتیبانی می‌شود. محدوده مکانی فایل موجود برای تطبیق با داده‌های جدید تغییر نخواهد کرد، بنابراین در این حالت ممکن است لازم باشد آن را حذف کنید یا از گزینه \fI\%\-overwrite\fP استفاده نمایید. .sp خطوط برش چندضلعی (Polygon cutlines) ممکن است به عنوان ماسک برای محدود کردن ناحیه‌ای از فایل مقصد که می‌تواند به‌روزرسانی شود، از جمله ترکیب محوشونده (blending)، استفاده شوند. اگر لایه OGR حاوی عوارض خط برش فاقد SRS صریح باشد، فرض می‌شود که عوارض خط برش در SRS فایل مقصد هستند. هنگام نوشتن در یک مجموعه داده مقصد که هنوز وجود ندارد، محدوده آن برابر با محدوده رستر اصلی خواهد بود مگر اینکه \fI\%\-te\fP یا \fI\%\-crop_to_cutline\fP مشخص شده باشند. .SH "مدیریت NODATA و ماسک اعتبارسنجی مبدأ (NODATA / SOURCE VALIDITY MASK HANDLING)" .sp مقادیر نامعتبر در پیکسل‌های مبدأ، چه از طریق متادیتای مقدار nodata تنظیم‌شده روی باند مبدأ شناسایی شوند، چه از طریق یک باند ماسک، یک باند آلفا یا استفاده از \fI\%\-srcnodata\fP، در میان‌یابی استفاده نخواهند شد. جزئیات چگونگی در نظر گرفتن آن به هسته بازنمونه‌برداری بستگی دارد: .INDENT 0.0 .IP \(bu 2 برای بازنمونه‌برداری نزدیک‌ترین همسایه (nearest): برای هر پیکسل مقصد، مختصات مرکز آن به مختصات مبدأ تصویر می‌شود و پیکسل مبدأ حاوی آن مختصات شناسایی می‌گردد. اگر این پیکسل مبدأ نامعتبر باشد، پیکسل مقصد به عنوان nodata در نظر گرفته می‌شود. .IP \(bu 2 برای bilinear، cubic، cubicspline و lanczos: برای هر پیکسل مقصد، مختصات مرکز آن به مختصات مبدأ بازتصویر می‌شود و یک پیکسل مبدأ متناظر شناسایی می‌گردد. اگر این پیکسل مبدأ نامعتبر باشد، پیکسل مقصد به عنوان nodata در نظر گرفته می‌شود (در این حالت، پیکسل‌های معتبر در شعاع هسته در نظر گرفته نمی‌شوند). با توجه به اینکه این هسته‌های بازنمونه‌برداری دارای شعاع هسته غیرصفر هستند، این پیکسل مبدأ تنها یکی از چند پیکسل مبدأ دخیل است و ممکن است مقادیر نامعتبر در سایر پیکسل‌های مبدأ دخیل وجود داشته باشد. وزن‌های مورد استفاده برای لحاظ کردن آن مقادیر نامعتبر صفر خواهند شد تا نادیده گرفته شوند. .IP \(bu 2 برای سایر روش‌های بازنمونه‌برداری: پیکسل‌های مبدأ دخیل در پیکسل مقصد در صورت نامعتبر بودن نادیده گرفته می‌شوند. تنها موارد معتبر لحاظ می‌گردند. اگر هیچ مورد معتبری نباشد، پیکسل مقصد به عنوان nodata در نظر گرفته می‌شود. .UNINDENT .sp اگر برای چندین تصویر با مقادیر نامعتبر مختلف از \fI\%\-srcnodata\fP استفاده می‌کنید، باید یا (الف) آنها را پیش‌پردازش کنید تا مقدار نادیده‌گرفته‌شونده یکسانی داشته باشند، یا (ب) فلگ nodata را برای هر فایل تنظیم نمایید. در صورتی که لازم است مقادیر اصلی را به دلایلی حفظ کنید، از (ب) استفاده نمایید؛ برای مثال: .INDENT 0.0 .INDENT 3.5 .sp .EX # برای این تصویر می‌خواهیم رنگ سیاه (0) نادیده گرفته شود gdalwarp \-srcnodata 0 \-dstnodata 0 orig\-ignore\-black.tif black\-nodata.tif # و اکنون می‌خواهیم رنگ سفید (255) نادیده گرفته شود gdalwarp \-srcnodata 255 \-dstnodata 255 orig\-ignore\-white.tif white\-nodata.tif # و در نهایت نادیده گرفتن یک رنگ خاکستری-آبی خاص (RGB 125 125 150) gdalwarp \-srcnodata \(dq125 125 150\(dq \-dstnodata \(dq125 125 150\(dq orig\-ignore\-grey.tif grey\-nodata.tif # اکنون می‌توانیم همه آنها را موزاییک کنیم بدون نگرانی درباره پارامترهای nodata gdalwarp black\-nodata.tif grey\-nodata.tif white\-nodata.tif final\-mosaic.tif .EE .UNINDENT .UNINDENT .SH "تبدیل تقریبی (APPROXIMATE TRANSFORMATION)" .sp به‌طور پیش‌فرض \fBgdalwarp\fP از یک تقریب‌زننده خطی برای تبدیلات با خطای مجاز ۰.۱۲۵ پیکسل در مجموعه داده مبدأ استفاده می‌کند. برای هر قطعه پردازشی، تقریب‌زننده دقیقاً سه نقطه در هر خط روبش خروجی (ابتدا، وسط و انتها) را از یک سطر و ستون در مجموعه داده خروجی به یک سطر و ستون در مجموعه داده مبدأ تبدیل می‌کند. سپس یک تقریب خطی از مختصات نقطه مرکزی را با مقدار دقیقاً تبدیل‌شده مقایسه می‌کند. اگر مجموع خطاهای افقی و عمودی کمتر از آستانه خطا باشد، نقاط مبدأ باقی‌مانده با استفاده از میان‌یابی خطی بین نقاط ابتدا و وسط، و بین نقاط وسط و انتها تقریب زده می‌شوند. اگر خطا از آستانه فراتر رود، خط روبش به دو بخش تقسیم می‌شود و تقریب‌زننده به صورت بازگشتی روی هر بخش اعمال می‌گردد تا زمانی که خطا کمتر از آستانه شود یا تمام نقاط دقیقاً محاسبه گردند. .sp توجه داشته باشید که یک قطعه پردازشی لزوماً با یک خط روبش مقصد کامل مطابقت ندارد. اگر مجموعه داده خروجی تایل‌بندی شده باشد، شکل آن معمولاً یک یا چند تایل خواهد بود. گزینه تبدیل \fBOPTIMIZE_SIZE\fP و مقدار گزینه \fI\%\-wm\fP نیز می‌توانند بر شکل قطعه پردازشی اثر بگذارند. در نتیجه، برای یک مقدار منفرد (غیرصفر) از آستانه خطا، تقریب خطی ممکن است به مقادیر کمی متفاوت در تبدیل مختصات منجر شود، اما همگی در محدوده خطای مجاز خواهند بود. .sp آستانه خطا (بر حسب پیکسل‌های مجموعه داده مبدأ) را می‌توان با سوییچ \fI\%\-et\fP در gdalwarp کنترل کرد. اگر می‌خواهید با یک تبدیل واقعی پیکسل‌به‌پیکسل مقایسه کنید، از \fI\%\-et 0\fP استفاده کنید که این تقریب‌زننده را کاملاً غیرفعال می‌کند. .SH "تبدیل قائم (VERTICAL TRANSFORMATION)" .sp در حالی که gdalwarp معمولاً برای انجام تبدیلات مختصاتی در فضای دوبعدی (2D) استفاده می‌شود، می‌تواند تبدیلات قائم را نیز انجام دهد. تبدیلات قائم زمانی به طور خودکار انجام می‌شوند که دو شرط زیر برآورده شوند: .INDENT 0.0 .IP \(bu 2 دست‌کم یکی از CRSهای مبدأ یا مقصد دارای یک CRS قائم صریح باشد (به عنوان بخشی از یک CRS مرکب) یا یک CRS سه‌بعدی (3D، عموماً جغرافیایی) باشد، و .IP \(bu 2 رستر تک‌باند باشد .UNINDENT .sp این حالت همچنین می‌تواند با استفاده از \fI\%\-vshift\fP اجبار شود (این کار اساساً زمانی مفید است که CRSهای مربوطه صریحاً سه‌بعدی نباشند، اما یک خط لوله تبدیل با \fI\%\-ct\fP مشخص شده باشد)، یا با \fI\%\-novshift\fP غیرفعال گردد. .sp هنگامی که یک تبدیل قائم دخیل باشد، معمولاً یک مقدار شیفت خوانده‌شده از یک شبکه ژئوئید اعمال خواهد شد. این ممکن است نیازمند نصب چنین شبکه‌ای باشد یا نیاز به فعال‌سازی قابلیت‌های شبکه در PROJ داشته باشد. برای جزئیات بیشتر به مستندات \X'tty: link https://proj.org'\fI\%PROJ\fP\X'tty: link' مراجعه کنید. علاوه بر شیفت، مقادیر رستر ممکن است در یک ضریب ضرب شوند تا تغییرات واحد قائم را لحاظ کنند. در اولویت، مقدار بازگردانده‌شده توسط \fI\%GDALRasterBand::GetUnitType()\fP استفاده می‌شود. مقادیر زیر در حال حاضر شناخته می‌شوند: \fBm\fP، \fBmetre\fP، \fBft\fP، \fBfoot\fP، \fBUS survey foot\fP. اگر واحد تعریف‌شده‌ای در سطح باند وجود نداشته باشد، از واحد قائم CRS مبدأ استفاده می‌شود. واحد قائم CRS مقصد نیز برای تعیین ضریب تبدیل استفاده می‌شود. ضریب تبدیل ممکن است با تنظیم گزینه تبدیل \fBMULT_FACTOR_VERTICAL_SHIFT\fP با \fI\%\-wo\fP لغو شود؛ برای مثال \fB\-wo MULT_FACTOR_VERTICAL_SHIFT=1\fP برای غیرفعال کردن هرگونه تغییر واحد قائم. .SH "مصرف حافظه (MEMORY USAGE)" .sp افزودن رم تقریباً به‌طور قطع سرعت \fBgdalwarp\fP را افزایش خواهد داد. اما این به هیچ وجه به معنای آن نیست که ارزشش را دارد، یا اینکه افزایش سرعت چشمگیر خواهد بود. دیسک‌ها کندترین بخش فرآیند هستند. به‌طور پیش‌فرض \fBgdalwarp\fP بهره زیادی از رم نخواهد برد. استفاده از فلگ \fI\%\-wm 500\fP در هر زمان روی قطعات ۵۰۰ مگابایتی کار می‌کند که بهتر از مقدار پیش‌فرض است. حافظه تبدیل مشخص‌شده با \fI\%\-wm\fP بین تمام ریسمان‌ها به اشتراک گذاشته می‌شود، بنابراین افزایش این مقدار هنگام اجرای \fBgdalwarp\fP با \fI\%\-wo NUM_THREADS\fP (یا معادل آن \fI\%GDAL_NUM_THREADS\fP) بزرگتر از ۱ بسیار سودمند است. .sp افزایش اندازه بافر بلوک ورودی/خروجی (I/O block cache) نیز ممکن است کمک کند. این کار را می‌توان با تنظیم پیکربندی \fI\%GDAL_CACHEMAX\fP انجام داد، مانند: .INDENT 0.0 .INDENT 3.5 .sp .EX gdalwarp \-\-config GDAL_CACHEMAX 500 \-wm 500 ... .EE .UNINDENT .UNINDENT .sp این دستور از ۵۰۰ مگابایت رم برای کش خواندن/نوشتن و ۵۰۰ مگابایت رم برای بافرهای کاری حین تبدیل استفاده می‌کند. فراتر از آن بعید است حافظه بیشتر تفاوت چشمگیری ایجاد کند. .sp هنگام اجرای \fBgdalwarp\fP مصرف پردازنده (CPU) را بررسی کنید. اگر به طور قابل توجهی کمتر از ۱۰۰٪ باشد، نشان می‌دهد که عملیات به ورودی/خروجی (I/O) وابسته است، در غیر این صورت به پردازنده وابسته است. گزینه \fB\-\-debug\fP نیز ممکن است اطلاعات مفیدی ارائه دهد. برای مثال، پس از اجرای دستور زیر: .INDENT 0.0 .INDENT 3.5 .sp .EX gdalwarp \-\-debug on abc.tif def.tif .EE .UNINDENT .UNINDENT .sp پیامی مانند زیر نمایش داده خواهد شد: .INDENT 0.0 .INDENT 3.5 .sp .EX GDAL: 224 block reads on 32 block band 1 of utm.tif .EE .UNINDENT .UNINDENT .sp در این حالت می‌گوید که باند ۱ از \fButm.tif\fP دارای ۳۲ بلوک است، اما ۲۲۴ خواندن بلوک انجام شده است، که نشان می‌دهد داده‌های زیادی مجبور به خواندن مجدد شده‌اند، احتمالاً به دلیل محدود بودن کش I/O. همچنین پیام‌هایی مانند زیر را مشاهده خواهید کرد: .INDENT 0.0 .INDENT 3.5 .sp .EX GDAL: GDALWarpKernel()::GWKNearestNoMasksByte() Src=0,0,512x512 Dst=0,0,512x512 .EE .UNINDENT .UNINDENT .sp پنجره‌های Src/Dst به شما "اندازه قطعه" (chunk size) مورد استفاده را نشان می‌دهند. در این حالت کل تصویر من که بسیار کوچک است. اگر متوجه شدید که موارد به قطعات زیادی تقسیم می‌شوند، افزایش \fI\%\-wm\fP ممکن است تا حدی کمک کند. .sp اما بسیار مهم‌تر از حافظه، اطمینان از این است که شما از یک مسیر بهینه‌سازی‌شده در موتور تبدیل عبور می‌کنید. اگر دیدید که گزارش می‌دهد \fBGDALWarpKernel()::GWKGeneralCase()\fP بدانید که پردازش نسبتاً کند پیش خواهد رفت. در اصل، سریع‌ترین شرایط زمانی است که بازنمونه‌برداری نزدیک‌ترین همسایه روی داده‌های ۸ بیتی بدون ماسک nodata یا آلفا انجام شود. .SH "خروجی فشرده‌شده (COMPRESSED OUTPUT)" .sp در برخی موارد، خروجی \fBgdalwarp\fP ممکن است بسیار بزرگتر از نسخه اصلی باشد، حتی اگر از همان الگوریتم فشرده‌سازی استفاده شود. به‌طور پیش‌فرض، \fBgdalwarp\fP روی قطعاتی کار می‌کند که لزوماً با مرزهای بلوک‌ها/تایل‌ها/نوارهای قالب خروجی تراز نیستند، بنابراین این امر ممکن است باعث فشرده‌سازی/فشرده‌زدایی مکرر بلوک‌های جزئی شده و به هدر رفتن فضا در قالب خروجی منجر شود. .sp این وضعیت را می‌توان با استفاده از گزینه تبدیل \fBOPTIMIZE_SIZE\fP بهبود بخشید (\fI\%\-wo OPTIMIZE_SIZE=YES\fP)، اما توجه داشته باشید که بسته به سیستم‌های تصویر مبدأ و مقصد، ممکن است فرآیند تبدیل را به طور چشمگیری کند سازد. .sp امکان دیگر استفاده از \fBgdalwarp\fP بدون فشرده‌سازی و سپس ادامه‌دادن با \fBgdal_translate\fP همراه با فشرده‌سازی است: .INDENT 0.0 .INDENT 3.5 .sp .EX gdalwarp infile tempfile.tif ...options... gdal_translate tempfile.tif outfile.tif \-co compress=lzw ...etc. .EE .UNINDENT .UNINDENT .sp به عنوان جایگزین، می‌توانید از یک فایل VRT به عنوان قالب خروجی \fBgdalwarp\fP استفاده کنید. فایل VRT صرفاً یک فایل XML است که بلافاصله ایجاد خواهد شد. البته عملیات \fBgdal_translate\fP کمی کندتر خواهد بود زیرا عملیات تبدیل واقعی را انجام خواهد داد. .INDENT 0.0 .INDENT 3.5 .sp .EX gdalwarp \-of VRT infile tempfile.vrt ...options... gdal_translate tempfile.vrt outfile.tif \-co compress=lzw ...etc. .EE .UNINDENT .UNINDENT .SH "پرسش‌های متداول (FREQUENTLY ASKED QUESTIONS)" .sp پرسش ۱: چرا کیفیت خروجی این‌قدر بد به نظر می‌رسد (بدون anti\-aliasing)؟ .sp آیا با \fI\%\-r\fP روش بازنمونه‌برداری دیگری غیر از نزدیک‌ترین همسایه پیش‌فرض مشخص کرده‌اید؟ .sp پرسش ۲: چرا بسته به اینکه مجموعه داده خروجی تایل‌بندی شده است یا خیر، نتایج کمی متفاوت دریافت می‌کنم؟ .sp این موضوع به این واقعیت مربوط است که برای سرعت بخشیدن به محاسبات، به‌طور پیش‌فرض از یک تبدیل مختصات تقریبی استفاده می‌شود. اگر می‌خواهید بدون توجه به اینکه خروجی تایل‌بندی شده است یا خیر نتایج یکسانی بگیرید، \fI\%\-et\fP را روی صفر تنظیم کنید. با این حال توجه داشته باشید که این تنها برای تصاویر نسبتاً کوچک کار خواهد کرد؛ عوامل دیگر همچنان می‌توانند به نتایج متفاوت منجر شوند. پرسش زیر (پرسش ۳) را ببینید. .sp پرسش ۳: چرا هنگام تبدیل رسترهای به اندازه کافی بزرگ، به‌ویژه در مناطقی که تغییر سیستم مختصات شامل اعوجاج قابل‌توجهی است و تنها با بازنمونه‌برداری غیر نزدیک‌ترین همسایه، مصنوعاتی (آرتیفکت‌هایی) را مشاهده می‌کنم که شبیه به تغییرات تفکیک‌پذیری به نظر می‌رسند و با نواحی مستطیلی رستر خروجی هم‌تراز هستند؟ .sp موتور تبدیل روی نواحی مستطیلی مجموعه داده خروجی کار می‌کند (عموماً هم‌تراز با مرزهای تایل‌ها برای یک مجموعه داده تایلی فشرده‌شده). .sp در طول تغییر سیستم مختصات، یک تک‌پیکسل مبدأ عموماً با یک تک‌پیکسل خروجی مطابقت ندارد. بنابراین روش بازنمونه‌برداری باید این موضوع را به‌درستی لحاظ کرده و نسبتی بین تعداد پیکسل‌های مبدأ و مقصد در جهت‌های افقی (X) و عمودی (Y) محاسبه کند. این نسبت‌ها به ازای هر قطعه تبدیل محاسبه می‌شوند. این کار کیفیت محلی تبدیل را به حداکثر می‌رساند، اما نکته منفی آن ایجاد ناپیوستگی‌های بصری بین قطعات تبدیل است. .sp اگر نتیجه‌ای یکدست و پیوسته را ترجیح می‌دهید، می‌توانید گزینه‌های تبدیل XSCALE و YSCALE را به صورت دستی با \fI\%\-wo\fP مشخص کنید. مقدار XSCALE (و به همین ترتیب YSCALE) نسبتی است که ضریب بازنمونه‌برداری را بیان می‌کند؛ یعنی تعداد پیکسل‌های مقصد به ازای هر پیکسل مبدأ، در امتداد محور افقی (و به همین ترتیب عمودی). این مقدار برای عدم بازنمونه‌برداری برابر با ۱، برای کاهش نمونه‌برداری (downsampling) زیر ۱، و برای افزایش نمونه‌برداری (upsampling) بالای ۱ است. .SH "مثال‌ها (EXAMPLES)" .INDENT 0.0 .IP \(bu 2 تبدیل پایه‌ای: .UNINDENT .INDENT 0.0 .INDENT 3.5 .sp .EX gdalwarp \-t_srs EPSG:4326 input.tif output.tif .EE .UNINDENT .UNINDENT .INDENT 0.0 .IP \(bu 2 برای مثال، یک صحنه spot هشت بیتی ذخیره‌شده در GeoTIFF با نقاط کنترلی نگاشت گوشه‌ها به طول/عرض جغرافیایی می‌تواند با دستوری مانند زیر به یک سیستم تصویر UTM تبدیل شود: .UNINDENT .INDENT 0.0 .INDENT 3.5 .sp .EX gdalwarp \-t_srs \(aq+proj=utm +zone=11 +datum=WGS84\(aq \-overwrite raw_spot.tif utm11.tif .EE .UNINDENT .UNINDENT .INDENT 0.0 .IP \(bu 2 برای مثال، کانال دوم یک تصویر ASTER ذخیره‌شده در HDF با نقاط کنترلی نگاشت گوشه‌ها به طول/عرض جغرافیایی می‌تواند با دستوری مانند زیر به یک سیستم تصویر UTM تبدیل شود: .UNINDENT .INDENT 0.0 .INDENT 3.5 .sp .EX gdalwarp \-overwrite HDF4_SDS:ASTER_L1B:\(dqpg\-PR1B0000\-2002031402_100_001\(dq:2 \e pg\-PR1B0000\-2002031402_100_001_2.tif .EE .UNINDENT .UNINDENT .INDENT 0.0 .IP \(bu 2 برای اعمال خط برش روی یک تصویر فاقد مرجع مکانی و برش از پیکسل (220,60) تا پیکسل (1160,690): .UNINDENT .INDENT 0.0 .INDENT 3.5 .sp .EX gdalwarp \-overwrite \-to SRC_METHOD=NO_GEOTRANSFORM \-to DST_METHOD=NO_GEOTRANSFORM \e \-te 220 60 1160 690 \-cutline cutline.csv in.png out.tif .EE .UNINDENT .UNINDENT .sp که در آن محتوای cutline.csv به صورت زیر است: .INDENT 0.0 .INDENT 3.5 .sp .EX id,WKT 1,\(dqPOLYGON((....))\(dq .EE .UNINDENT .UNINDENT .INDENT 0.0 .IP \(bu 2 برای تبدیل یک مدل رقومی ارتفاع (DEM) از ارتفاعات ژئوئید (با استفاده از EGM96) به ارتفاعات بیضوی WGS84: .UNINDENT .INDENT 0.0 .INDENT 3.5 .sp .EX gdalwarp \-overwrite in_dem.tif out_dem.tif \-s_srs EPSG:4326+5773 \-t_srs EPSG:4979 .EE .UNINDENT .UNINDENT .SH "کد وضعیت خروج (RETURN STATUS CODE)" .sp این برنامه در صورت موفقیت کد وضعیت ۰ و در صورت بروز خطا مقدار غیرصفر را برمی‌گرداند (خطاهای غیرمسدودکننده که به صورت هشدار صادر می‌شوند، به عنوان اجرای موفق در نظر گرفته می‌شوند). .SH "رابط سی (C API)" .sp این ابزار همچنین از طریق زبان C با تابع \fI\%GDALWarp()\fP قابل فراخوانی است. .SH "نویسندگان (AUTHORS)" Frank Warmerdam , Silke Reimer .SH "حق نشر (COPYRIGHT)" 1998-2026 .\" Generated by docutils manpage writer. .