GDAL-MDIM-CONVERT(1) GDAL GDAL-MDIM-CONVERT(1)

gdal-mdim-convert - تبدیل یک مجموعه داده چندبُعدی

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

Usage: gdal mdim convert [OPTIONS] <INPUT> <OUTPUT>
Convert a multidimensional dataset.
Positional arguments:
  -i, --input <INPUT>                                  Input raster or multidimensional raster dataset [required]
  -o, --output <OUTPUT>                                Output multidimensional raster dataset (created by algorithm) [required]
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
  --co, --creation-option <KEY>=<VALUE>                Creation option [may be repeated]
  --overwrite                                          Whether overwriting existing output dataset is allowed
  --array <ARRAY-SPEC>                                 Select a single array instead of converting the whole dataset. [may be repeated]
  --array-option <KEY>=<VALUE>                         Option passed to GDALGroup::GetMDArrayNames() to filter arrays. [may be repeated]
  --group <GROUP-SPEC>                                 Select a single group instead of converting the whole dataset. [may be repeated]
  --subset <SUBSET-SPEC>                               Select a subset of the data. [may be repeated]
  --scale-axes <SCALEAXES-SPEC>                        Applies a integral scale factor to one or several dimensions [may be repeated]
  --strict                                             Turn warnings into failures.
Advanced Options:
  --oo, --open-option <KEY>=<VALUE>                    Open options [may be repeated]
  --if, --input-format <INPUT-FORMAT>                  Input formats [may be repeated]

دستور gdal mdim convert می‌تواند برای تبدیل داده‌های چندبُعدی بین فرمت‌های مختلف استفاده شود.

گزینه‌های زیر در دسترس هستند:

انتخاب فرمت خروجی. این می‌تواند فرمتی باشد که از خروجی چندبُعدی پشتیبانی می‌کند (مانند NetCDF: Network Common Data Form، Multidimensional VRT)، یا یک فرمت «کلاسیک» ۲بُعدی، در صورتی که نتیجه سایر عملیات تبدیل مشخص‌شده تنها یک آرایه ۲بُعدی منفرد باشد. زمانی که این گزینه مشخص نشود، فرمت در صورت امکان از روی پسوند نام فایل مقصد حدس زده می‌شود.
بسیاری از فرمت‌ها یک یا چند گزینه ساخت اختیاری دارند که می‌توانند برای کنترل ویژگی‌های خاص فایل ایجادشده استفاده شوند.

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

گزینه‌های ساخت در سطح آرایه را می‌توان با افزودن پیشوند ARRAY: ارسال کرد. برای جزئیات بیشتر درباره این گزینه‌ها GDALGroup::CopyFrom() را ببینید.

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

عبارت <array_spec> می‌تواند صرفاً نام یک آرایه باشد که احتمالاً از ساختار نام‌گذاری کامل (/group/subgroup/array_name) استفاده می‌کند. یا می‌تواند ترکیبی از گزینه‌ها با ساختار زیر باشد: name={src_array_name}[,dstname={dst_array_name}][,resample=yes][,transpose=[{axis1},{axis2},...][,view={view_expr}]

گزینه‌های زیر به همین ترتیب پردازش می‌شوند:

  • گزینه resample=yes درخواست می‌کند که آرایه از طریق GDALMDArray::GetResampled() بازنمونه‌برداری شود.
[{axis1},{axis2},...] آرگومان تابع GDALMDArray::Transpose() است.
برای مثال، transpose=[1,0] ترتیب محورهای یک آرایه ۲بُعدی را جابه‌جا می‌کند. مثال ۶ را ببینید.
•
مقدار {view_expr} مقدار آرگومان viewExpr در GDALMDArray::GetView() است. مثال ۵ را ببینید.

هنگام مشخص کردن یک view_expr که عملیات برش یا استخراج زیرمجموعه را روی یک بُعد انجام می‌دهد، عملیات معادل روی متغیر شاخص‌گذاری مربوطه نیز اعمال خواهد شد.

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

عبارت <group_spec> می‌تواند صرفاً نام یک گروه باشد که احتمالاً از ساختار نام‌گذاری کامل (/group/subgroup/subsubgroup_name) استفاده می‌کند. یا می‌تواند ترکیبی از گزینه‌ها با ساختار زیر باشد: name={src_group_name}[,dstname={dst_group_name}][,recursive=no]

عملیات تعیین زیرمجموعه (برش یا تکه‌کردن) را در امتداد یک بُعد انجام می‌دهد، به شرطی که آن بُعد توسط یک متغیر ۱بُعدی از نوع داده عددی یا رشته‌ای شاخص‌گذاری شده باشد و مقادیر آن به‌صورت یکنواخت مرتب شده باشند. عبارت <subset_spec> برای زیرمجموعه‌گیری دقیقاً از OGC WCS 2.0 KVP encoding پیروی می‌کند.

به‌صورت dim_name(min_val,max_val) یا dim_name(sliced_val) ساختار اول بُعد dim_name را به مقادیر موجود در بازه [min_val,max_val] محدود می‌کند. ساختار دوم بُعد dim_name را روی مقدار sliced_val برش می‌دهد (و این بُعد از آرایه‌هایی که به آن ارجاع می‌دهند حذف خواهد شد).

توجه داشته باشید که نام بُعد به حروف بزرگ و کوچک حساس است.

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

استفاده از --subset با مشخص کردن گزینه view در --array ناسازگار است.

مثال ۲ یا مثال ۳ را ببینید.

یک ضریب مقیاس عدد صحیح را روی یک یا چند بُعد اعمال می‌کند، یعنی از هر N مقدار، ۱ مقدار را استخراج می‌کند (بدون بازنمونه‌برداری).

عبارت <scaleaxes_spec> دقیقاً از ساختار کدگذاری KVP پارامتر SCALEAXES در OGC WCS 2.0 Scaling Extension پیروی می‌کند، اما به ضرایب مقیاس عدد صحیح محدود است.

یعنی <dim1_name>(<scale_factor>).

با تکرار این گزینه می‌توان چندین عملیات مقیاس‌بندی را در امتداد ابعاد مختلف مشخص کرد.

استفاده از --scale-axes با مشخص کردن گزینه view در --array ناسازگار است.

مثال ۴ را ببینید.

به‌طور پیش‌فرض، برخی از خطاها در طول تبدیل نادیده گرفته می‌شوند، مانند عدم امکان نوشتن ویژگی‌های گروه. با تنظیم این گزینه، چنین خطاهایی باعث شکست فرآیند خواهند شد.

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

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

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

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

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

gdal mdim convert in.nc out.vrt

gdal mdim convert in.nc out.tif --subset "time(\"2010-01-01\")" --array temperature

gdal mdim convert /vsicurl/https://tgftp.nws.noaa.gov/SL.us008001/ST.opnl/DF.gr2/DC.ndfd/AR.conus/VP.001-003/ds.qpf.bin tst.tif --subset "TIME(1763164800,1763251200)" --array QPF_0-SFC --co COMPRESS=DEFLATE

gdal mdim convert in.nc out.nc --scale-axes "x(2),y(2)"

بازچینی مقادیر آرایه time,Y,X در امتداد محور Y از بالا به پایین به پایین به بالا (یا برعکس)

gdal mdim convert in.nc out.nc --array "name=temperature,view=[:,::-1,:]"

gdal mdim convert in.nc out.nc --array "name=temperature,transpose=[2,1,0]"

Even Rouault <even.rouault@spatialys.com>

1998-2026

August 18, 2026