GDAL-RASTER-REPROJECT(1) GDAL GDAL-RASTER-REPROJECT(1)

gdal-raster-reproject - بازپرتوافکنی یا تغییر سیستم مختصات یک مجموعه داده رستر

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

Usage: gdal raster reproject [OPTIONS] <INPUT> <OUTPUT>
Reproject a raster dataset.
Positional arguments:
  -i, --input <INPUT>                                  Input raster datasets [required] [not available in pipelines]
  -o, --output <OUTPUT>                                Output raster dataset [required] [not available in pipelines]
Common Options:
  -h, --help                                           Display help message and exit
  --json-usage                                         Display usage as JSON document and exit
  --config <KEY>=<VALUE>                               Configuration option [may be repeated]
  -q, --quiet                                          Quiet mode (no progress bar or warning message) [not available in pipelines]
Options:
  -f, --of, --format, --output-format <OUTPUT-FORMAT>  Output format ("GDALG" allowed) [not available in pipelines]
  --co, --creation-option <KEY>=<VALUE>                Creation option [may be repeated] [not available in pipelines]
  --overwrite                                          Whether overwriting existing output dataset is allowed [not available in pipelines]
                                                       Mutually exclusive with --append
  --append                                             Append as a subdataset to existing output [not available in pipelines]
                                                       Mutually exclusive with --overwrite
  -s, --input-crs <INPUT-CRS>                          Input CRS
  --like <DATASET>                                     Dataset to use as a template for target bounds, CRS, size and nodata
  -d, --output-crs <OUTPUT-CRS>                        Output CRS
  -r, --resampling <RESAMPLING>                        Resampling method. RESAMPLING=nearest|bilinear|cubic|cubicspline|lanczos|average|rms|mode|min|max|med|q1|q3|sum (default: nearest)
  --resolution <xres>,<yres>                           Target resolution (in destination CRS units)
                                                       Mutually exclusive with --size
  --size <width>,<height>                              Target size in pixels
                                                       Mutually exclusive with --resolution
  --bbox <BBOX>                                        Target bounding box (in destination CRS units)
  --bbox-crs <BBOX-CRS>                                CRS of target bounding box
  -j, --num-threads <NUM-THREADS>                      Number of jobs (or ALL_CPUS) (default: ALL_CPUS)
Advanced Options:
  --if, --input-format <INPUT-FORMAT>                  Input formats [may be repeated] [not available in pipelines]
  --oo, --open-option <KEY>=<VALUE>                    Open options [may be repeated] [not available in pipelines]
  --target-aligned-pixels                              Round target extent to target resolution
  --input-nodata <INPUT-NODATA>                        Set nodata values for input bands ('None' to unset). [1.. values]
  --output-nodata <OUTPUT-NODATA>                      Set nodata values for output bands ('None' to unset). [1.. values]
  --add-alpha                                          Adds an alpha mask band to the destination when the source raster have none.
  --wo, --warp-option <NAME>=<VALUE>                   Warping option(s) [may be repeated]
  --to, --transform-option <NAME>=<VALUE>              Transform option(s) [may be repeated]
  --et, --error-threshold <ERROR-THRESHOLD>            Error threshold

دستور gdal raster reproject می‌تواند برای بازپرتوافکنی (تغییر سیستم تصویر) یک مجموعه‌داده رستر استفاده شود. این برنامه قادر است بازپرتوافکنی را به هر سیستم تصویر پشتیبانی‌شده‌ای انجام دهد.

ابتدا، در صورتی که محدوده و تفکیک‌پذیری خروجی با استفاده از گزینه‌های --bbox و --resolution مشخص نشده باشند، gdal raster reproject باید آن‌ها را تعیین کند. این مقادیر با تبدیل نمونه‌ای از نقاط از CRS مبدأ به CRS مقصد تعیین می‌شوند. جزئیات این فرآیند را می‌توان در مستندات تابع GDALSuggestedWarpOutput() یافت. اگر چندین ورودی به gdal raster reproject ارائه شود، محدوده خروجی به گونه‌ای محاسبه می‌شود که تمام آن‌ها را پوشش دهد، با تفکیک‌پذیری متناسب با ورودی دارای بالاترین تفکیک‌پذیری.

هنگامی که ابعاد تصویر خروجی مشخص شد، gdal raster reproject تصویر خروجی را به قطعاتی تقسیم می‌کند که می‌توانند به طور مستقل پردازش شوند. سپس gdal raster reproject روی خطوط پویش در این قطعات پیمایش می‌کند، و برای هر پیکسل خروجی، یک ناحیه مستطیلی از پیکسل‌های مبدأ را که در مقدار پیکسل خروجی نقش دارند مشخص می‌سازد. ابعاد این ناحیه مستطیلی معمولاً با تخمین مقیاس‌های نسبی رستر مبدأ و مقصد تعیین می‌شود، اما می‌توان آن را به صورت دستی نیز مشخص کرد (به مستندات پارامتر XSCALE در GDALWarpOptions::papszWarpOptions مراجعه کنید). از آنجا که ناحیه مبدأ یک مستطیل ساده است، این امکان وجود ندارد که یک پیکسل خروجی با پیکسل‌های مبدأ از هر دو سوی ضدنصف‌النهار (antimeridian) یا قطب مرتبط باشد (هنگام تبدیل از مختصات جغرافیایی).

سپس ناحیه مستطیلی پیکسل‌های مبدأ به تابعی تحویل داده می‌شود که الگوریتم نمونه‌برداری مجدد انتخاب‌شده با --resampling را اجرا می‌کند. بسته به الگوریتم نمونه‌برداری مجدد و مقیاس‌های نسبی رسترهای مبدأ و مقصد، پیکسل‌های مبدأ ممکن است یا بر اساس کسر تقریبی پیکسل مبدأ که توسط پیکسل مقصد پوشش داده شده است وزن‌دهی شوند (مانند نمونه‌برداری مجدد "mean" و "sum")، یا بر اساس فاصله‌های دکارتی افقی و عمودی بین مرکز پیکسل مبدأ و مرکز پیکسل هدف (مانند نمونه‌برداری مجدد دوخطی یا اسپلاین مکعبی). در حالت دوم، وزن نسبی یک پیکسل مبدأ منفرد با حاصل‌ضرب وزن‌های تعیین‌شده برای سطر و ستون آن مشخص می‌شود؛ فاصله دکارتی قطری محاسبه نمی‌شود.

این زیردستور همچنین به عنوان یک گام احتمالی در gdal raster pipeline در دسترس است.

ایجاد یک باند آلفای خروجی برای شناسایی پیکسل‌های بدون‌داده (nodata - تنظیم‌نشده/شفاف). مقدار 0 برای پیکسل‌های کاملاً شفاف استفاده می‌شود. بیشینه مقدار برای باند آلفا، برای پیکسل‌های کاملاً کدر، به نوع داده و وجود آیتم متادیتای باند NBITS بستگی دارد. اگر موجود باشد، بیشینه مقدار 2^NBITS-1 است. در غیر این صورت، اگر NBITS تنظیم نشده باشد و باند آلفا از نوع UInt16 (یا به ترتیب Int16) باشد، مقدار 65535 (یا به ترتیب 32767) استفاده می‌شود. در غیر این صورت، 255 به کار می‌رود. بیشینه مقدار را می‌توان با --wo DST_ALPHA_MAX=<value>; نیز بازنویسی کرد.
تنظیم محدوده‌های زمین‌مرجع‌شده فایل خروجی برای ایجاد (به صورت پیش‌فرض در SRS هدف، یا در SRS مشخص‌شده با --bbox-crs).
سیستم مرجع مکانی (SRS) را برای تفسیر مختصات ارائه‌شده با --bbox مشخص می‌کند.

سیستم‌های مرجع مختصاتی که می‌توانند ارسال شوند شامل هر موردی است که توسط فراخوانی OGRSpatialReference.SetFromUserInput() پشتیبانی می‌شود؛ از جمله CRS تصویرشده، جغرافیایی یا ترکیبی EPSG (مانند EPSG:4296)، تعریف CRS به صورت متن شناخته‌شده (WKT)، اعلان‌های PROJ.4، یا نام یک فایل .prj حاوی تعریف WKT CRS.

اگر SRS دارای یک مبنای ارتفاعی صریح باشد که به یک شبکه ژئوئید اشاره دارد، و مجموعه‌داده ورودی یک مجموعه‌داده تک‌باند باشد، تصحیح قائم بر مقادیر مجموعه‌داده اعمال خواهد شد.

این گزینه نباید با --output-crs که SRS هدف مجموعه‌داده خروجی است اشتباه گرفته شود. --bbox-crs به عنوان یک تسهیل است؛ مثلاً هنگامی که مختصات خروجی در یک SRS ژئودتیک طول/عرض جغرافیایی مشخص است، اما همچنان نتیجه‌ای در یک سیستم مختصات تصویرشده مورد نظر است.

نام مجموعه‌داده ورودی GDAL که به عنوان قالب برای مقادیر پیش‌فرض گزینه‌های --size، --resolution، --output-crs و --bbox عمل می‌کند. توجه داشته باشید که مقادیر پیکسل‌ها کپی نخواهند شد، و ثبت مکانی مجموعه‌داده الگو از طریق سازوکارهایی نظیر GCP، RPC یا آرایه مکان‌یابی جغرافیایی نادیده گرفته می‌شود.
آستانه خطا برای تقریب تبدیل، که بر حسب تعداد پیکسل‌های مبدأ بیان می‌شود. مقدار پیش‌فرض 0.125 پیکسل است مگر اینکه گزینه تبدیل‌کننده RPC_DEM مشخص شده باشد، که در این صورت از تبدیل‌کننده دقیق، یعنی --error-threshold=0 استفاده خواهد شد.
افزوده‌شده در نسخه 3.12.

تعداد وظایف پردازشی (jobs) برای اجرا به صورت همزمان. پیش‌فرض: تعداد پردازنده‌های شناسایی‌شده.

تنظیم مرجع مکانی ورودی. اگر مشخص نشود، از SRS یافت‌شده در مجموعه‌داده ورودی استفاده خواهد شد.

سیستم‌های مرجع مختصاتی که می‌توانند ارسال شوند شامل هر موردی است که توسط فراخوانی OGRSpatialReference.SetFromUserInput() پشتیبانی می‌شود؛ از جمله CRS تصویرشده، جغرافیایی یا ترکیبی EPSG (مانند EPSG:4296)، تعریف CRS به صورت متن شناخته‌شده (WKT)، اعلان‌های PROJ.4، یا نام یک فایل .prj حاوی تعریف WKT CRS.

اگر SRS دارای یک مبنای ارتفاعی صریح باشد که به یک شبکه ژئوئید اشاره دارد، و مجموعه‌داده ورودی یک مجموعه‌داده تک‌باند باشد، تصحیح قائم بر مقادیر مجموعه‌داده اعمال خواهد شد.

تنظیم مقادیر ماسک بدون‌داده (nodata) برای باندهای ورودی (می‌توان مقادیر متفاوتی برای هر باند ارائه داد). اگر بیش از یک مقدار ارائه شود، تمام مقادیر باید درون علامت نقل‌قول قرار گیرند تا به عنوان یک آرگومان واحد سیستم‌عامل در نظر گرفته شوند. مقادیر ماسک‌شده در درون‌یابی استفاده نخواهند شد (جزئیات در بخش مدیریت داده‌های نامعتبر / ماسک اعتبار منبع آمده است).

برای نادیده گرفتن تنظیمات ذاتی nodata در مجموعه‌داده مبدأ، از مقدار None استفاده کنید.

هنگامی که این گزینه روی مقداری غیر از None تنظیم شود، باعث می‌شود گزینه اعوجاج‌زدایی UNIFIED_SRC_NODATA (به GDALWarpOptions::papszWarpOptions مراجعه کنید) در صورت عدم تنظیم صریح، روی YES تنظیم شود.

اگر --input-nodata به طور صریح تنظیم نشده باشد، اما مجموعه‌داده مبدأ دارای مقادیر nodata باشد، این مقادیر لحاظ خواهند شد و UNIFIED_SRC_NODATA به صورت پیش‌فرض روی PARTIAL خواهد بود.

تنظیم مرجع مکانی خروجی. اگر مشخص نشود، از SRS یافت‌شده در مجموعه‌داده ورودی استفاده خواهد شد.

سیستم‌های مرجع مختصاتی که می‌توانند ارسال شوند شامل هر موردی است که توسط فراخوانی OGRSpatialReference.SetFromUserInput() پشتیبانی می‌شود؛ از جمله CRS تصویرشده، جغرافیایی یا ترکیبی EPSG (مانند EPSG:4296)، تعریف CRS به صورت متن شناخته‌شده (WKT)، اعلان‌های PROJ.4، یا نام یک فایل .prj حاوی تعریف WKT CRS.

اگر SRS دارای یک مبنای ارتفاعی صریح باشد که به یک شبکه ژئوئید اشاره دارد، و مجموعه‌داده ورودی یک مجموعه‌داده تک‌باند باشد، تصحیح قائم بر مقادیر مجموعه‌داده اعمال خواهد شد.

تنظیم مقادیر بدون‌داده (nodata) برای باندهای خروجی (می‌توان مقادیر متفاوتی برای هر باند ارائه داد). اگر بیش از یک مقدار ارائه شود، تمام مقادیر باید درون علامت نقل‌قول قرار گیرند تا به عنوان یک آرگومان واحد سیستم‌عامل در نظر گرفته شوند. فایل‌های جدید با این مقدار مقداردهی اولیه می‌شوند و در صورت امکان مقدار nodata در فایل خروجی ثبت خواهد شد. برای اطمینان از تعریف نشدن nodata، از مقدار None استفاده کنید. اگر این آرگومان استفاده نشود، مقادیر nodata از مجموعه‌داده مبدأ کپی خواهند شد. توجه داشته باشید که تعدادی از قالب‌های خروجی، از جمله GeoTIFF، از مقادیر متفاوت nodata برای هر باند پشتیبانی نمی‌کنند، بلکه یک مقدار واحد را برای همه باندها به کار می‌برند.
روش نمونه‌برداری مجدد (resampling) برای استفاده. روش‌های موجود عبارتند از:

nearest: نمونه‌برداری مجدد نزدیک‌ترین همسایه (پیش‌فرض، سریع‌ترین الگوریتم، کمترین کیفیت درون‌یابی).

bilinear: نمونه‌برداری مجدد دوخطی.

cubic: نمونه‌برداری مجدد مکعبی.

cubicspline: نمونه‌برداری مجدد اسپلاین مکعبی.

lanczos: نمونه‌برداری مجدد سینک پنجره‌ای لانچوش.

average: نمونه‌برداری مجدد میانگین، میانگین وزن‌دار تمام پیکسل‌های مؤثر غیر از NODATA را محاسبه می‌کند.

rms: جذر میانگین مربعات / میانگین درجه دوم تمام پیکسل‌های مؤثر غیر از NODATA.

mode: نمونه‌برداری مجدد مد (نما)، مقداری را انتخاب می‌کند که بیشترین تکرار را در تمام نقاط نمونه‌برداری‌شده دارد. در صورت تساوی، اولین مقداری که به عنوان مد شناسایی شود انتخاب خواهد شد.

max: نمونه‌برداری مجدد بیشینه، بیشترین مقدار را از میان تمام پیکسل‌های مؤثر غیر از NODATA انتخاب می‌کند.

min: نمونه‌برداری مجدد کمینه، کمترین مقدار را از میان تمام پیکسل‌های مؤثر غیر از NODATA انتخاب می‌کند.

med: نمونه‌برداری مجدد میانه، مقدار میانه تمام پیکسل‌های مؤثر غیر از NODATA را انتخاب می‌کند.

q1: نمونه‌برداری مجدد چارک اول، مقدار چارک اول تمام پیکسل‌های مؤثر غیر از NODATA را انتخاب می‌کند.

q3: نمونه‌برداری مجدد چارک سوم، مقدار چارک سوم تمام پیکسل‌های مؤثر غیر از NODATA را انتخاب می‌کند.

sum: محاسبه مجموع وزن‌دار تمام پیکسل‌های مؤثر غیر از NODATA.

نکته:

هنگامی که کاهش نمونه‌برداری (downsampling) انجام می‌شود (استفاده از --resolution یا --size)، پیش‌نماهای موجود (اعم از درونی/ضمنی یا بیرونی) در تصویر مبدأ به طور پیش‌فرض با انتخاب نزدیک‌ترین پیش‌نما به تفکیک‌پذیری خروجی مورد نظر استفاده خواهند شد. روش نمونه‌برداری مجددی که برای ایجاد آن پیش‌نماها استفاده شده است، معمولاً روشی نیست که شما از طریق گزینه -r مشخص می‌کنید.
تنظیم تفکیک‌پذیری فایل خروجی (بر حسب واحدهای زمین‌مرجع هدف).

اگر مشخص نشود (یا از --size استنتاج نگردد)، برنامه در حالت کلی، یک رستر خروجی با xres=yres تولید خواهد کرد.

اگر نه --resolution و نه --size مشخص نشده باشند، و هیچ بازپرتوافکنی در کار نباشد (شامل در نظر گرفتن آرایه‌های مکان‌یابی جغرافیایی یا RPC)، تفکیک‌پذیری فایل(های) مبدأ حفظ خواهد شد (در نسخه‌های پیشین، همواره یک رستر خروجی با xres=yres تولید می‌شد).

مانعة‌الجمع با گزینه --size.

تنظیم اندازه فایل خروجی بر حسب پیکسل‌ها و خطوط. اگر عرض یا ارتفاع روی 0 تنظیم شود، بعد دیگر از روی تفکیک‌پذیری محاسبه‌شده حدس زده خواهد شد.

مانعة‌الجمع با گزینه --resolution.

تراز کردن مختصات محدوده فایل خروجی با مقادیر --resolution، به گونه‌ای که محدوده تراز‌شده شامل کمینه محدوده باشد (خطوط/ستون‌های لبه که قبل از اعوجاج‌زدایی واقعی به عنوان خالی شناسایی می‌شوند، حذف خواهند شد). تراز بودن به این معنی است که xmin / resx، ymin / resy، xmax / resx و ymax / resy مقادیر صحیحی باشند.
تنظیم یک گزینه تبدیل‌کننده مناسب برای ارسال به GDALCreateGenImgProjTransformer2(). برای گزینه‌های خاص RPC به GDALCreateRPCTransformerV2() مراجعه کنید.

برای تطابق با گزینه rpc- در gdalwarp، از --to METHOD=RPC استفاده کنید.

تنظیم یک گزینه اعوجاج‌زدایی. مستندات GDALWarpOptions::papszWarpOptions تمام گزینه‌ها را نشان می‌دهد. می‌توان چندین گزینه را مشخص کرد.

الحاق رستر ورودی به عنوان یک زیرمجموعه‌داده جدید به یک فایل خروجی موجود. تنها با درایورهایی کار می‌کند که از افزودن زیرمجموعه‌داده‌ها پشتیبانی می‌کنند، مانند GTiff -- GeoTIFF File Format و GPKG -- GeoPackage raster. همچنین در صورتی که مجموعه‌داده خروجی هنوز وجود نداشته باشد، آن را ایجاد می‌کند.
بسیاری از قالب‌ها یک یا چند گزینه اختیاری ایجاد دارند که می‌توان از آن‌ها برای کنترل جزئیات فایل ایجادشده استفاده کرد. برای نمونه، درایور GeoTIFF از گزینه‌های ایجاد برای کنترل فشرده‌سازی و کاشی‌بندی شدن فایل پشتیبانی می‌کند.

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

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

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

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

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

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

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

مقادیر نامعتبر در پیکسل‌های مبدأ، چه از طریق متادیتای مقدار nodata تنظیم‌شده روی باند مبدأ، باند ماسک، باند آلفا (برای باند آلفا، مقدار 0 به معنای نامعتبر است؛ سایر مقادیر برای ترکیب مقادیر استفاده می‌شوند) یا استفاده از --input-nodata شناسایی شده باشند، در درون‌یابی استفاده نخواهند شد. جزئیات چگونگی اعمال این مقادیر به هسته (کرنل) نمونه‌برداری مجدد بستگی دارد:

  • برای نمونه‌برداری مجدد نزدیک‌ترین همسایه (nearest)، برای هر پیکسل هدف، مختصات مرکز آن به مختصات مبدأ تصویر بازگردانده می‌شود و پیکسل مبدأ حاوی آن مختصات شناسایی می‌گردد. اگر این پیکسل مبدأ نامعتبر باشد، پیکسل هدف به عنوان nodata در نظر گرفته می‌شود.
  • برای روش‌های دوخطی (bilinear)، مکعبی (cubic)، اسپلاین مکعبی (cubicspline) و لانچوش (lanczos)، برای هر پیکسل هدف، مختصات مرکز آن به مختصات مبدأ تصویر بازگردانده شده و پیکسل مبدأ متناظر شناسایی می‌شود. اگر این پیکسل مبدأ نامعتبر باشد، پیکسل هدف به عنوان nodata در نظر گرفته می‌شود (در این حالت، پیکسل‌های معتبر درون شعاع هسته در نظر گرفته نخواهند شد). با توجه به اینکه این هسته‌های نمونه‌برداری مجدد دارای شعاع هسته غیرصفر هستند، این پیکسل مبدأ تنها یکی از چندین پیکسل مبدأ است، و این امکان وجود دارد که مقادیر نامعتبر در سایر پیکسل‌های مبدأ مؤثر نیز وجود داشته باشد. وزن‌های مورداستفاده برای لحاظ کردن آن مقادیر نامعتبر روی صفر تنظیم می‌شوند تا نادیده گرفته شوند.
  • برای سایر روش‌های نمونه‌برداری مجدد، پیکسل‌های مبدأ مؤثر در پیکسل هدف در صورت نامعتبر بودن نادیده گرفته می‌شوند. تنها مقادیر معتبر لحاظ می‌گردند. اگر هیچ مقدار معتبری وجود نداشته باشد، پیکسل هدف به عنوان nodata در نظر گرفته می‌شود.

به طور پیش‌فرض gdal raster reproject از یک تقریب‌زننده خطی برای تبدیلات با خطای مجاز 0.125 پیکسل در مجموعه‌داده مبدأ استفاده می‌کند. برای هر قطعه پردازشی، تقریب‌زننده سه نقطه را در هر خط پویش خروجی (ابتدا، وسط و انتها) به طور دقیق از یک سطر و ستون در مجموعه‌داده خروجی به یک سطر و ستون در مجموعه‌داده مبدأ تبدیل می‌کند. سپس تقریب خطی مختصات نقطه مرکزی را با مقدار تبدیل‌شده دقیق مقایسه می‌کند. اگر مجموع خطاهای افقی و عمودی کمتر از آستانه خطا باشد، نقاط باقی‌مانده مبدأ با استفاده از درون‌یابی خطی بین نقطه شروع و وسط، و بین نقطه وسط و انتها تقریب زده می‌شوند. اگر خطا از آستانه بیشتر شود، خط پویش به دو بخش تقسیم می‌شود و تقریب‌زننده به صورت بازگشتی بر روی هر بخش اعمال می‌شود تا زمانی که خطا کمتر از آستانه شود یا تمام نقاط به طور دقیق محاسبه شوند.

توجه داشته باشید که یک قطعه پردازشی لزوماً با کل یک خط پویش مقصد مطابقت ندارد. اگر مجموعه‌داده خروجی کاشی‌بندی‌شده (tiled) باشد، شکل آن معمولاً یک یا چند کاشی خواهد بود. گزینه اعوجاج‌زدایی OPTIMIZE_SIZE نیز می‌تواند بر شکل قطعه پردازشی تأثیر بگذارد. در نتیجه، برای یک مقدار واحد (غیرصفر) آستانه خطا، تقریب خطی ممکن است به مقادیر کمی متفاوت در تبدیل مختصات منجر شود، اما همه آن‌ها در محدوده خطای مجاز خواهند بود.

آستانه خطا (بر حسب پیکسل‌های مجموعه‌داده مبدأ) را می‌توان با سوییچ --error-threshold کنترل کرد. اگر می‌خواهید یک بازپرتوافکنی پیکسل‌به‌پیکسل واقعی را مقایسه کنید، از --error-threshold=0 استفاده کنید که این تقریب‌زننده را به طور کامل غیرفعال می‌کند.

پرسش ۱: چرا کیفیت خروجی بسیار نامناسب به نظر می‌رسد (بدون صاف‌سازی لبه‌ها / anti-aliasing)؟

آیا روش نمونه‌برداری مجددی غیر از روش پیش‌فرضِ نزدیک‌ترین همسایه را با --resampling مشخص کرده‌اید؟

پرسش ۲: چرا بسته به اینکه مجموعه‌داده خروجی کاشی‌بندی‌شده باشد یا خیر، نتایج کمی متفاوت دریافت می‌کنم؟

این موضوع مربوط به این واقعیت است که به طور پیش‌فرض برای افزایش سرعت محاسبات از یک تبدیل مختصات تقریبی استفاده می‌شود. اگر می‌خواهید صرف‌نظر از کاشی‌بندی بودن یا نبودن خروجی نتایج یکسانی بگیرید، --error-threshold را روی صفر تنظیم کنید. با این حال توجه داشته باشید که این کار تنها برای تصاویر نسبتاً کوچک مؤثر خواهد بود؛ سایر عوامل همچنان می‌توانند به نتایج متفاوتی منجر شوند. به پرسش بعدی (پرسش ۳) مراجعه کنید.

پرسش ۳: چرا هنگام اعوجاج‌زدایی رسترهای به اندازه کافی بزرگ، به ویژه در مناطقی که بازپرتوافکنی شامل تغییر شکل قابل توجهی است و تنها با روش‌های نمونه‌برداری غیر از نزدیک‌ترین همسایه، مصنوعاتی بصری مشاهده می‌کنم که شبیه به تغییرات تفکیک‌پذیری هستند و با نواحی مستطیلی رستر خروجی تراز شده‌اند؟

موتور اعوجاج‌زدایی بر روی نواحی مستطیلی مجموعه‌داده خروجی عمل می‌کند (که معمولاً برای یک مجموعه‌داده کاشی‌بندی‌شده فشرده با مرزهای کاشی تراز است).

در حین بازپرتوافکنی، یک پیکسل منفرد مبدأ معمولاً با یک پیکسل منفرد خروجی مطابقت ندارد. بنابراین روش نمونه‌برداری مجدد باید این موضوع را به درستی لحاظ کند و نسبتی بین تعداد پیکسل‌های مبدأ و هدف در جهت‌های افقی (X) و عمودی (Y) محاسبه نماید. این نسبت‌ها به ازای هر قطعه اعوجاج‌زدایی محاسبه می‌شوند. این کار کیفیت محلی اعوجاج‌زدایی را به حداکثر می‌رساند اما این ایراد را دارد که باعث ایجاد ناپیوستگی‌های بصری بین قطعات اعوجاج‌زدایی می‌شود.

اگر ترجیح می‌دهید نتیجه‌ای یکپارچه و بدون درز داشته باشید، می‌توانید گزینه‌های اعوجاج‌زدایی XSCALE و YSCALE را به صورت دستی با --wo تعیین کنید. مقدار XSCALE (و به ترتیب YSCALE) نسبتی است که ضریب نمونه‌برداری مجدد را بیان می‌کند، یعنی تعداد پیکسل‌های مقصد به ازای هر پیکسل مبدأ در امتداد محور افقی (و به ترتیب عمودی). این مقدار در صورت عدم نمونه‌برداری مجدد برابر با ۱ است، برای کاهش نمونه‌برداری کمتر از ۱، و برای افزایش نمونه‌برداری بیشتر از ۱ می‌باشد.

این برنامه از سریالی‌سازی خط فرمان به عنوان یک فایل JSON با استفاده از قالب خروجی GDALG پشتیبانی می‌کند. سپس فایل حاصل می‌تواند به عنوان یک مجموعه‌داده رستر با استفاده از درایور GDALG: GDAL Streamed Algorithm باز شود و خط لوله مشخص‌شده را به صورت بلادرنگ / جریانی اعمال کند.

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

$ gdal raster reproject --output-crs=EPSG:32632 in.tif out.tif --overwrite

در این مثال، فایل ورودی دارای یک CRS جاسازی‌شده تعریف‌شده در WKT2 اما بدون شناسه مرتبط است، و به شناسه شناخته‌شده CRS با مشخصه ESRI:54052 بازپرتوافکنی خواهد شد.

استفاده از "PROFILE=BASELINE" یک فایل PAM ایجاد می‌کند که CRS را با استفاده از شناسه ESRI:54052 ذخیره می‌نماید، به جای اینکه اطلاعات CRS در برچسب‌های متادیتای GeoTIFF جاسازی شود. به GTiff PROFILE مراجعه کنید.

$ gdal raster reproject --creation-option "PROFILE=BASELINE" --output-crs=ESRI:54052 input.tif output.tif --overwrite

Even Rouault <even.rouault@spatialys.com>

1998-2026

August 18, 2026