| GDAL-MDIM-CONVERT(1) | GDAL | GDAL-MDIM-CONVERT(1) |
نام (NAME)
gdal-mdim-convert - تبدیل یک مجموعه داده چندبُعدی
افزوده شده در نسخه 3.11.
خلاصه دستور (SYNOPSIS)
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]
توضیحات (DESCRIPTION)
دستور gdal mdim convert میتواند برای تبدیل دادههای چندبُعدی بین فرمتهای مختلف استفاده شود.
گزینههای زیر در دسترس هستند:
گزینههای استاندارد (Standard options)
- -f, --of, --format, --output-format <OUTPUT-FORMAT>
- انتخاب فرمت خروجی. این میتواند فرمتی باشد که از خروجی چندبُعدی پشتیبانی میکند (مانند NetCDF: Network Common Data Form، Multidimensional VRT)، یا یک فرمت «کلاسیک» ۲بُعدی، در صورتی که نتیجه سایر عملیات تبدیل مشخصشده تنها یک آرایه ۲بُعدی منفرد باشد. زمانی که این گزینه مشخص نشود، فرمت در صورت امکان از روی پسوند نام فایل مقصد حدس زده میشود.
- --co, --creation-option <KEY>=<VALUE>
- بسیاری از
فرمتها یک
یا چند
گزینه ساخت
اختیاری
دارند که
میتوانند
برای کنترل
ویژگیهای
خاص فایل
ایجادشده
استفاده
شوند.
گزینههای ساخت موجود بسته به درایور فرمت متفاوت هستند و برخی فرمتهای ساده هیچ گزینه ساختی ندارند. فهرستی از گزینههای پشتیبانیشده برای یک فرمت را میتوان با گزینه خط فرمان --format مشاهده کرد، اما مستندات مربوط به همان فرمت مرجع اصلی اطلاعات درباره گزینههای ساخت درایور است. برای مشاهده گزینههای مجاز ساخت هر فرمت، مستندات اختصاصی Raster drivers را ببینید.
گزینههای ساخت در سطح آرایه را میتوان با افزودن پیشوند ARRAY: ارسال کرد. برای جزئیات بیشتر درباره این گزینهها GDALGroup::CopyFrom() را ببینید.
- --overwrite
- به برنامه اجازه میدهد تا فایل یا مجموعه داده هدف موجود را بازنویسی کند. در غیر این صورت، بهطور پیشفرض، اگر فایل یا مجموعه داده هدف از قبل وجود داشته باشد gdal با خطا مواجه میشود.
- --array <array_spec>
- بهجای
تبدیل کل
مجموعه
داده، یک
آرایه را
انتخاب
کرده و در
صورت امکان
عملیاتی
روی آن
انجام
میدهد. این
گزینه را
میتوان
چندین بار
برای کار
روی
آرایههای
مختلف مشخص
کرد.
عبارت <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 که عملیات برش یا استخراج زیرمجموعه را روی یک بُعد انجام میدهد، عملیات معادل روی متغیر شاخصگذاری مربوطه نیز اعمال خواهد شد.
- --array-option <NAME>=<VALUE>
- گزینهای که برای فیلتر کردن آرایههای گزارششده به GDALGroup::GetMDArrayNames() ارسال میشود. چنین گزینهای مختص فرمت است. به مستندات درایور مراجعه کنید. این گزینه میتواند چندین بار استفاده شود.
- --group <group_spec>
- بهجای
تبدیل کل
مجموعه
داده، یک
گروه را
انتخاب
کرده و در
صورت امکان
عملیاتی
روی آن
انجام
میدهد. این
گزینه را
میتوان
چندین بار
برای کار
روی
گروههای
مختلف مشخص
کرد. اگر
فقط یک گروه
مشخص شود،
محتوای آن
مستقیماً
در گروه
ریشه هدف
کپی خواهد
شد. اگر
چندین گروه
مشخص شوند،
زیر گروه
ریشه هدف
کپی
میشوند.
عبارت <group_spec> میتواند صرفاً نام یک گروه باشد که احتمالاً از ساختار نامگذاری کامل (/group/subgroup/subsubgroup_name) استفاده میکند. یا میتواند ترکیبی از گزینهها با ساختار زیر باشد: name={src_group_name}[,dstname={dst_group_name}][,recursive=no]
- --subset <subset_spec>
- عملیات
تعیین
زیرمجموعه
(برش یا
تکهکردن)
را در
امتداد یک
بُعد انجام
میدهد، به
شرطی که آن
بُعد توسط
یک متغیر
۱بُعدی از
نوع داده
عددی یا
رشتهای
شاخصگذاری
شده باشد و
مقادیر آن
بهصورت
یکنواخت
مرتب شده
باشند.
عبارت <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 ناسازگار است.
مثال ۲ یا مثال ۳ را ببینید.
- --scale-axes <scaleaxes_spec>
- یک ضریب
مقیاس عدد
صحیح را روی
یک یا چند
بُعد اعمال
میکند،
یعنی از هر N
مقدار، ۱
مقدار را
استخراج
میکند
(بدون
بازنمونهبرداری).
عبارت <scaleaxes_spec> دقیقاً از ساختار کدگذاری KVP پارامتر SCALEAXES در OGC WCS 2.0 Scaling Extension پیروی میکند، اما به ضرایب مقیاس عدد صحیح محدود است.
یعنی <dim1_name>(<scale_factor>).
با تکرار این گزینه میتوان چندین عملیات مقیاسبندی را در امتداد ابعاد مختلف مشخص کرد.
استفاده از --scale-axes با مشخص کردن گزینه view در --array ناسازگار است.
مثال ۴ را ببینید.
- --strict
- بهطور پیشفرض، برخی از خطاها در طول تبدیل نادیده گرفته میشوند، مانند عدم امکان نوشتن ویژگیهای گروه. با تنظیم این گزینه، چنین خطاهایی باعث شکست فرآیند خواهند شد.
گزینههای پیشرفته (Advanced options)
- --oo, --open-option <NAME>=<VALUE>
- گزینه باز
کردن
مجموعه
داده (مختص
فرمت).
میتواند تکرار شود.
- --if, --input-format <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 <even.rouault@spatialys.com>
حق نشر (COPYRIGHT)
1998-2026
| August 18, 2026 |