GDAL-RASTER-RECLASSIFY(1) GDAL GDAL-RASTER-RECLASSIFY(1)

gdal-raster-reclassify - بازطبقه‌بندی یک مجموعه‌داده رستر

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

Usage: gdal raster reclassify [OPTIONS] <INPUT> <OUTPUT>
Reclassify values in 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
  -m, --mapping <MAPPING>                                  Reclassification mappings (or specify a @<filename> to point to a file containing mappings [required]
  --ot, --datatype, --output-data-type <OUTPUT-DATA-TYPE>  Output data type. OUTPUT-DATA-TYPE=UInt8|Int8|UInt16|Int16|UInt32|Int32|UInt64|Int64|CInt16|CInt32|Float16|Float32|Float64|CFloat32|CFloat64
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]

دستور gdal raster reclassify مقادیر موجود در یک مجموعه‌داده ورودی را بازطبقه‌بندی می‌کند. یک فایل (یا رشته متنی) نگاشت مقادیر یا بازه‌های پیکسلی ورودی به فایل‌های خروجی را مشخص می‌کند.

بازه‌های مقادیر را می‌توان با استفاده از براکت‌ها مشخص کرد:

نشانه‌گذاری مفهوم
[a,b] بازه بسته؛ شامل هر دو مقدار a و b
[a,b) چپ‌بسته، راست‌باز؛ شامل a اما بدون b
(a,b] چپ‌باز، راست‌بسته؛ بدون a اما شامل b
(a,b) بازه باز؛ بدون هر دو مقدار a و b

یک نمونه فایل در زیر نمایش داده شده است.

# remap land cover types
0       = 10      # land
[2,4]   = 20      # freshwater
1       = 40      # ocean
(4,6]   = 50      # forest (excludes 4, includes 5 and 6)
NO_DATA = NO_DATA # leave NoData pixels unmodified

نویسه # نشان‌دهنده کامنت (توضیح) است که توسط مفسر نادیده گرفته می‌شود اما خواندن فایل را آسان‌تر می‌کند. در این حالت:

  • مقادیر ورودی 0 در خروجی به 10 تبدیل می‌شوند
  • مقادیر ورودی بین 2 و 4 (شامل خود آن‌ها) در خروجی به 20 تبدیل می‌شوند
  • مقادیر ورودی 1 در خروجی به 40 تبدیل می‌شوند
  • مقادیر ورودی بین 5 و 6 در خروجی به 50 تبدیل می‌شوند (4 شامل نمی‌شود)
  • مقادیر NoData به عنوان NoData حفظ می‌شوند

وجود هرگونه مقدار دیگری در ورودی موجب بروز خطا خواهد شد. اگر این رفتار مطلوب نیست، می‌توان از بازه ورودی DEFAULT برای مشخص کردن یک مقدار خروجی برای پیکسل‌هایی که تحت پوشش هیچ بازه ورودی دیگری نیستند استفاده کرد. این پیکسل‌ها می‌توانند به NoData تبدیل شوند (DEFAULT = NO_DATA)، به یک مقدار ثابت دیگر تبدیل شوند (مثلاً DEFAULT = 50)، یا بدون تغییر باقی بمانند (DEFAULT = PASS_THROUGH).

[تصویر] مجموعه‌داده رستر قبل (چپ) و بعد (راست) از بازطبقه‌بندی با gdal raster reclassify --mapping "[1,3]= 101; [4, 5)= 102; 7=102; NO_DATA=103; DEFAULT=NO_DATA".

نکته:

دستور gdal raster reclassify از نوشتن در فرمت VRT پشتیبانی می‌کند؛ با این حال، فایل‌های VRT تولیدشده به این روش تنها با GDAL نسخه 3.11 یا بالاتر قابل باز شدن هستند.

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

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

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

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

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

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

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

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

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

مشخص می‌کند از کدام فرمت رستر خروجی استفاده شود. مقادیر مجاز را می‌توان با دستور زیر به دست آورد: gdal --formats | grep raster | grep rw | sort
نوع داده خروجی از میان Byte، Int8، UInt16، Int16، UInt32، Int32، UInt64، Int64، CInt16، CInt32، Float32، Float64، CFloat32 و CFloat64.
به برنامه اجازه می‌دهد تا فایل یا مجموعه‌داده مقصد موجود را بازنویسی کند. در غیر این صورت، به‌طور پیش‌فرض اگر فایل یا مجموعه‌داده مقصد از قبل وجود داشته باشد، gdal خطا می‌دهد.

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

$ gdal raster reclassify -m "0=10; [2,4]=20; 1=40" -i wbm.tif -o typ.tif

Dan Baston <dbaston@gmail.com>

1998-2026

August 18, 2026