| GDALMDIMTRANSLATE(1) | GDAL | GDALMDIMTRANSLATE(1) |
نام (NAME)
gdalmdimtranslate - تبدیل دادههای چندبُعدی میان فرمتهای مختلف و استخراج زیرمجموعه
خلاصه دستور (SYNOPSIS)
Usage: gdalmdimtranslate [--help] [--long-usage] [--help-general]
[-if <format>]... [-of <output_format>]
[-co <NAME>=<VALUE>]...
[[-array <array_spec>]...]
[-arrayoption <NAME>=<VALUE>]...
[[-group <group_spec>]...]
[-subset <subset_spec>]...
[-scaleaxes <scaleaxes_spec>] [-strict]
[-oo <NAME>=<VALUE>]... [--quiet]
<src_dataset> <dst_dataset>
توضیحات (DESCRIPTION)
برنامه gdalmdimtranslate رسترهای چندبُعدی را میان فرمتهای مختلف تبدیل میکند، و/یا میتواند تبدیل انتخابی آرایهها و گروههای خاص، و/یا عملیات استخراج زیرمجموعه (subsetting) را انجام دهد.
نکته:
دستور gdal mdim convert را ببینید.
پارامترهای خط فرمان زیر میتوانند به هر ترتیبی ظاهر شوند.
- --help
- نمایش این پیام راهنما و خروج.
- --help-general
- یک پیام راهنمای خلاصه از نحوه استفاده برای گزینههای عمومی خط فرمان GDAL ارائه کرده و خارج میشود.
- -q, --quiet
- جلوگیری از نمایش پیامهای پیشرفت و سایر خروجیهای غیرخطا.
- -if <format>
- نام
فرمت/درایور
برای تلاش
جهت باز
کردن
فایل(های)
ورودی.
معمولاً
تعیین آن
ضروری
نیست، اما
میتواند
برای
صرفنظر
کردن از
تشخیص
خودکار
درایور، در
مواقعی که
درایور
مناسب را به
درستی
انتخاب
نمیکند،
استفاده
شود. این
گزینه
میتواند
چندین بار
تکرار شود
تا چند
درایور
کاندید
مشخص گردد.
توجه داشته
باشید که
این گزینه
آن
درایورها
را مجبور به
باز کردن
مجموعه
داده
نمیکند؛
بهویژه،
برخی از
درایورها
نیازمندیهایی
برای پسوند
فایل دارند.
در نسخه 3.2 اضافه شد.
- -of <format>
- فرمت خروجی را انتخاب میکند. این گزینه میتواند فرمتی باشد که از خروجی چندبُعدی پشتیبانی میکند (مانند NetCDF: Network Common Data Form، Multidimensional VRT)، یا یک فرمت دوبُعدی "کلاسیک" در صورتی که از سایر عملیات تبدیل مشخصشده تنها یک آرایه دوبُعدی منفرد حاصل شود. هنگامی که این گزینه مشخص نشده باشد، در صورت امکان فرمت از روی پسوند نام فایل مقصد حدس زده میشود.
- -co <NAME>=<VALUE>
- بسیاری از
فرمتها یک
یا چند
گزینه
اختیاری
ایجاد (creation options)
دارند که
میتوانند
برای کنترل
جزئیات
فایل
ایجادشده
استفاده
شوند.
گزینههای ایجاد موجود بر اساس درایور فرمت متفاوت هستند و برخی فرمتهای ساده اصلاً هیچ گزینه ایجادی ندارند. فهرستی از گزینههای پشتیبانیشده برای یک فرمت را میتوان با گزینه خط فرمان --format مشاهده کرد، اما مستندات مربوط به آن فرمت منبع اصلی اطلاعات درباره گزینههای ایجاد درایور است. مستندات اختصاصی فرمت در Raster drivers را برای گزینههای ایجاد مجاز هر فرمت ببینید.
گزینههای ایجاد در سطح آرایه را میتوان با افزودن پیشوند ARRAY: به آنها ارسال کرد. برای جزئیات بیشتر در رابطه با این گزینهها GDALGroup::CopyFrom() را ببینید.
- -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 که برشی یا استخراج زیرمجموعه را روی یک بُعد انجام میدهد، عملیات معادل روی متغیر شاخصگذاری مربوطه نیز اعمال خواهد شد.
- -arrayoption <NAME>=<VALUE>
- در نسخه 3.9
اضافه شد.
گزینهای که به 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
برای
استخراج
زیرمجموعه
پیروی
میکند.
یعنی dim_name(min_val,max_val) یا dim_name(sliced_val). نحو اول، بُعد dim_name را به مقادیری در محدوده [min_val,max_val] محدود میکند. نحو دوم، بُعد dim_name را روی مقدار sliced_val برش میزند (و این بُعد از آرایههایی که به آن ارجاع دارند حذف خواهد شد).
استفاده از -subset با تعیین گزینه view در -array ناسازگار است.
مثال ۲ را ببینید.
- -scaleaxes <scaleaxes_spec>
- یک ضریب
مقیاس صحیح
را روی یک
یا چند بُعد
اعمال
میکند، به
این صورت که
به ازای هر N
مقدار، ۱
مقدار را
استخراج
میکند
(بدون
بازنمونهبرداری).
مقدار <scaleaxes_spec> دقیقاً از نحو کدگذاری KVP پارامتر SCALEAXES در افزونه مقیاسبندی OGC WCS 2.0 پیروی میکند، اما به ضرایب مقیاس صحیح محدود است.
یعنی <dim1_name>(<scale_factor>)[,<dim2_name>(<scale_factor>)]...
استفاده از -scaleaxes با تعیین گزینه view در -array ناسازگار است.
مثال ۳ را ببینید.
- -strict
- بهطور پیشفرض، برخی از خطاها در حین تبدیل نادیده گرفته میشوند، مانند عدم توانایی در نوشتن ویژگیهای گروه. با تعیین این گزینه، چنین خطاهایی باعث شکست فرآیند خواهند شد.
- -oo <NAME>=<VALUE>
- در نسخه 3.4
اضافه شد.
گزینه باز کردن مجموعه داده مبدأ (مختص به فرمت).
- <src_dataset>
- نام مجموعه داده مبدأ.
- <dst_dataset>
- نام فایل مقصد.
کد وضعیت خروجی (RETURN STATUS CODE)
برنامه در صورت موفقیت کد وضعیت ۰ و در صورت بروز خطا مقدار غیرصفر برمیگرداند (خطاهای غیرمسدودکننده که به عنوان هشدار ارسال میشوند، یک اجرای موفق در نظر گرفته میشوند).
رابط سی (C API)
این ابزار از زبان C نیز با GDALMultiDimTranslate() قابل فراخوانی است.
مثالها (EXAMPLES)
مثال ۱: تبدیل یک فایل netCDF به یک فایل چندبُعدی VRT
gdalmdimtranslate in.nc out.vrt
مثال ۲: استخراج یک برش دوبُعدی از یک آرایه time,Y,X
gdalmdimtranslate in.nc out.tif -subset 'time("2010-01-01")' -array temperature
مثال ۳: زیرنمونهگیری در امتداد محورهای X و Y
gdalmdimtranslate in.nc out.nc -scaleaxes "X(2),Y(2)"
مثال ۴: مرتبسازی مجدد مقادیر یک آرایه
مرتبسازی مجدد مقادیر آرایه time,Y,X در امتداد محور Y از بالا به پایین به پایین به بالا (یا برعکس).
gdalmdimtranslate in.nc out.nc -array "name=temperature,view=[:,::-1,:]"
مثال ۵: ترانهادن یک آرایه با ترتیب ابعاد X,Y,time به time,Y,X
gdalmdimtranslate in.nc out.nc -array "name=temperature,transpose=[2,1,0]"
نویسنده (AUTHOR)
Even Rouault <even.rouault@spatialys.com>
حق نشر (COPYRIGHT)
1998-2026
| August 18, 2026 |