GDAL-MDIM-CONVERT(1) GDAL GDAL-MDIM-CONVERT(1)
نام (NAME)
gdal-mdim-convert - تبدیل یک مجموعه داده چندبُعدی
افزوده شده در نسخه 3.11.
خلاصه دستور (SYNOPSIS)
Usage: gdal mdim convert [OPTIONS]
Convert a multidimensional dataset.
Positional arguments:
-i, --input Input raster or multidimensional raster dataset [required]
-o, --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 = 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
--co, --creation-option = Creation option [may be repeated]
--overwrite Whether overwriting existing output dataset is allowed
--array Select a single array instead of converting the whole dataset. [may be repeated]
--array-option = Option passed to GDALGroup::GetMDArrayNames() to filter arrays. [may be repeated]
--group Select a single group instead of converting the whole dataset. [may be repeated]
--subset Select a subset of the data. [may be repeated]
--scale-axes Applies a integral scale factor to one or several dimensions [may be repeated]
--strict Turn warnings into failures.
Advanced Options:
--oo, --open-option = Open options [may be repeated]
--if, --input-format Input formats [may be repeated]
توضیحات (DESCRIPTION)
دستور gdal mdim convert میتواند برای تبدیل دادههای چندبُعدی بین فرمتهای
مختلف استفاده شود.
گزینههای زیر در دسترس هستند:
گزینههای استاندارد (Standard options)
-f, --of, --format, --output-format
انتخاب فرمت خروجی. این میتواند فرمتی باشد که از خروجی چندبُعدی
پشتیبانی میکند (مانند NetCDF: Network Common Data Form،
Multidimensional VRT)، یا یک فرمت «کلاسیک» ۲بُعدی، در صورتی که
نتیجه سایر عملیات تبدیل مشخصشده تنها یک آرایه ۲بُعدی منفرد باشد.
زمانی که این گزینه مشخص نشود، فرمت در صورت امکان از روی پسوند
نام فایل مقصد حدس زده میشود.
--co, --creation-option =
بسیاری از فرمتها یک یا چند گزینه ساخت اختیاری دارند که میتوانند
برای کنترل ویژگیهای خاص فایل ایجادشده استفاده شوند.
گزینههای ساخت موجود بسته به درایور فرمت متفاوت هستند و برخی
فرمتهای ساده هیچ گزینه ساختی ندارند. فهرستی از گزینههای
پشتیبانیشده برای یک فرمت را میتوان با گزینه خط فرمان --format
مشاهده کرد، اما مستندات مربوط به همان فرمت مرجع اصلی اطلاعات
درباره گزینههای ساخت درایور است. برای مشاهده گزینههای مجاز ساخت
هر فرمت، مستندات اختصاصی Raster drivers را ببینید.
گزینههای ساخت در سطح آرایه را میتوان با افزودن پیشوند ARRAY:
ارسال کرد. برای جزئیات بیشتر درباره این گزینهها
GDALGroup::CopyFrom() را ببینید.
--overwrite
به برنامه اجازه میدهد تا فایل یا مجموعه داده هدف موجود را
بازنویسی کند. در غیر این صورت، بهطور پیشفرض، اگر فایل یا مجموعه
داده هدف از قبل وجود داشته باشد gdal با خطا مواجه میشود.
--array
بهجای تبدیل کل مجموعه داده، یک آرایه را انتخاب کرده و در صورت
امکان عملیاتی روی آن انجام میدهد. این گزینه را میتوان چندین بار
برای کار روی آرایههای مختلف مشخص کرد.
عبارت میتواند صرفاً نام یک آرایه باشد که احتمالاً از
ساختار نامگذاری کامل (/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 که عملیات برش یا استخراج زیرمجموعه
را روی یک بُعد انجام میدهد، عملیات معادل روی متغیر شاخصگذاری
مربوطه نیز اعمال خواهد شد.
--array-option =
گزینهای که برای فیلتر کردن آرایههای گزارششده به
GDALGroup::GetMDArrayNames() ارسال میشود. چنین گزینهای مختص فرمت
است. به مستندات درایور مراجعه کنید. این گزینه میتواند چندین بار
استفاده شود.
--group
بهجای تبدیل کل مجموعه داده، یک گروه را انتخاب کرده و در صورت
امکان عملیاتی روی آن انجام میدهد. این گزینه را میتوان چندین بار
برای کار روی گروههای مختلف مشخص کرد. اگر فقط یک گروه مشخص شود،
محتوای آن مستقیماً در گروه ریشه هدف کپی خواهد شد. اگر چندین گروه
مشخص شوند، زیر گروه ریشه هدف کپی میشوند.
عبارت میتواند صرفاً نام یک گروه باشد که احتمالاً از
ساختار نامگذاری کامل (/group/subgroup/subsubgroup_name) استفاده
میکند. یا میتواند ترکیبی از گزینهها با ساختار زیر باشد:
name={src_group_name}[,dstname={dst_group_name}][,recursive=no]
--subset
عملیات تعیین زیرمجموعه (برش یا تکهکردن) را در امتداد یک بُعد
انجام میدهد، به شرطی که آن بُعد توسط یک متغیر ۱بُعدی از نوع داده
عددی یا رشتهای شاخصگذاری شده باشد و مقادیر آن بهصورت یکنواخت
مرتب شده باشند. عبارت برای زیرمجموعهگیری دقیقاً از
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 ناسازگار
است.
مثال ۲ یا مثال ۳ را ببینید.
--scale-axes
یک ضریب مقیاس عدد صحیح را روی یک یا چند بُعد اعمال میکند، یعنی از
هر N مقدار، ۱ مقدار را استخراج میکند (بدون بازنمونهبرداری).
عبارت دقیقاً از ساختار کدگذاری KVP پارامتر
SCALEAXES در OGC WCS 2.0 Scaling Extension پیروی میکند، اما به
ضرایب مقیاس عدد صحیح محدود است.
یعنی ().
با تکرار این گزینه میتوان چندین عملیات مقیاسبندی را در امتداد
ابعاد مختلف مشخص کرد.
استفاده از --scale-axes با مشخص کردن گزینه view در --array
ناسازگار است.
مثال ۴ را ببینید.
--strict
بهطور پیشفرض، برخی از خطاها در طول تبدیل نادیده گرفته میشوند،
مانند عدم امکان نوشتن ویژگیهای گروه. با تنظیم این گزینه، چنین
خطاهایی باعث شکست فرآیند خواهند شد.
گزینههای پیشرفته (Advanced options)
--oo, --open-option =
گزینه باز کردن مجموعه داده (مختص فرمت).
میتواند تکرار شود.
--if, --input-format
نام فرمت/درایور که برای باز کردن فایل(های) ورودی بررسی میشود.
بهطور کلی مشخص کردن آن ضروری نیست، اما میتواند برای رد کردن
تشخیص خودکار درایور، در مواقعی که درایور مناسب را انتخاب نمیکند،
استفاده شود. این گزینه میتواند چندین بار برای تعیین چندین
درایور کاندید تکرار شود. توجه داشته باشید که این گزینه آن
درایورها را مجبور به باز کردن مجموعه داده نمیکند. بهویژه، برخی
از درایورها الزاماتی برای پسوند فایل دارند.
میتواند تکرار شود.
کد وضعیت بازگشتی (RETURN STATUS CODE)
برنامه در صورت موفقیت کد وضعیت ۰ و در صورت بروز خطا کد غیر صفر
برمیگرداند (خطاهای غیرمسدودکننده که به عنوان هشدار صادر میشوند، به
عنوان اجرای موفق در نظر گرفته میشوند).
مثالها (EXAMPLES)
مثال ۱: تبدیل یک فایل netCDF به یک فایل VRT چندبُعدی
gdal mdim convert in.nc out.vrt
مثال ۲: استخراج یک برش ۲بُعدی از یک آرایه time,Y,X
gdal mdim convert in.nc out.tif --subset "time(\"2010-01-01\")" --array temperature
مثال ۳: استخراج یک قطعه ۳بُعدی از یک فایل GRIB دارای شاخص زمانی به یک
GeoTIFF چندبانده
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
مثال ۴: زیرنمونهبرداری در امتداد محورهای x و y
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,:]"
مثال ۶: ترانهادن یک آرایه با ترتیب ابعاد X,Y,time به time,Y,X
gdal mdim convert in.nc out.nc --array "name=temperature,transpose=[2,1,0]"
نویسنده (AUTHOR)
Even Rouault
حق نشر (COPYRIGHT)
1998-2026
August 18, 2026 GDAL-MDIM-CONVERT(1)