GDALTRANSFORM(1) GDAL GDALTRANSFORM(1)

gdaltransform - تبدیل مختصات

Usage: gdaltransform [--help] [--help-general]
       [-i] [-s_srs <srs_def>] [-t_srs <srs_def>] [-to <NAME>=<VALUE>]...
       [-s_coord_epoch <epoch>] [-t_coord_epoch <epoch>]
       [-ct <proj_string>] [-order <n>] [-tps] [-rpc] [-geoloc]
       [-gcp <pixel> <line> <easting> <northing> [elevation]]...
       [-output_xy] [-E] [-field_sep <sep>] [-ignore_extra_input]
       [<srcfile> [<dstfile>]]

ابزار gdaltransform فهرستی از مختصات را به هر سیستم تصویر پشتیبانی‌شده، از جمله تبدیل‌های مبتنی بر نقاط کنترل زمینی (GCP)، بازتصویر می‌کند.

نمایش پیام راهنما و خروج.
--help-general
نمایش خلاصه نحوه استفاده برای گزینه‌های عمومی خط فرمان GDAL و خروج.
تنظیم مرجع مکانی مبدأ. سیستم‌های مختصاتی قابل ارسال شامل هر موردی است که توسط فراخوانی OGRSpatialReference.SetFromUserInput() پشتیبانی می‌شود؛ از جمله EPSG PCS و GCSها (مانند EPSG:4296)، تعاریف PROJ.4 یا نام یک فایل .prj حاوی متن شناخته‌شده (WKT).
در نسخه 3.8 اضافه شد.

تخصیص مبدأ زمانی مختصات (Epoch)، متصل به SRS مبدأ. زمانی مفید است که SRS مبدأ یک CRS پویا باشد. تنها زمانی در نظر گرفته می‌شود که -s_srs استفاده شده باشد.

پیش از PROJ 9.4، گزینه‌های -s_coord_epoch و -t_coord_epoch به دلیل عدم پشتیبانی از تبدیل بین دو CRS پویا، مانعة‌الجمع بودند.

تنظیم مرجع مکانی مقصد. سیستم‌های مختصاتی قابل ارسال شامل هر موردی است که توسط فراخوانی OGRSpatialReference.SetFromUserInput() پشتیبانی می‌شود؛ از جمله EPSG PCS و GCSها (مانند EPSG:4296)، تعاریف PROJ.4 یا نام یک فایل .prj حاوی متن شناخته‌شده (WKT).
در نسخه 3.8 اضافه شد.

تخصیص مبدأ زمانی مختصات (Epoch)، متصل به SRS خروجی. زمانی مفید است که SRS خروجی یک CRS پویا باشد. تنها زمانی در نظر گرفته می‌شود که -t_srs استفاده شده باشد.

پیش از PROJ 9.4، گزینه‌های -s_coord_epoch و -t_coord_epoch به دلیل عدم پشتیبانی از تبدیل بین دو CRS پویا، مانعة‌الجمع بودند.

یک رشته PROJ (عملیات تک‌مرحله‌ای یا رشته چندمرحله‌ای که با +proj=pipeline شروع می‌شود)، یک رشته WKT2 که توصیف‌کننده CoordinateOperation است، یا یک URN به‌صورت urn:ogc:def:coordinateOperation:EPSG::XXXX که تبدیل پیش‌فرض از CRS مبدأ به مقصد را بازنویسی می‌کند. این گزینه باید ترتیب محورهای CRS مبدأ و مقصد را در نظر بگیرد.

در نسخه 3.0 اضافه شد.

تنظیم گزینه تبدیل‌کننده مناسب برای ارسال به GDALCreateGenImgProjTransformer2().
مرتبه چندجمله‌ای مورداستفاده برای پیچش و تغییر شکل (۱ تا ۳). حالت پیش‌فرض، انتخاب مرتبه چندجمله‌ای بر اساس تعداد GCPها است.
اجبار به استفاده از تبدیل‌کننده اسپلاین صفحه نازک (Thin Plate Spline) بر اساس GCPهای موجود.
اجبار به استفاده از RPCها.
اجبار به استفاده از آرایه‌های موقعیت جغرافیایی (Geolocation Arrays).
تبدیل معکوس: از مقصد به مبدأ.
ارائه یک نقطه کنترل زمینی (GCP) برای استفاده در تبدیل (معمولاً سه یا بیشتر مورد نیاز است). نیازی نیست که پیکسل و سطر عدد صحیح باشند.
محدود کردن خروجی به "x y" به جای "x y z".
در نسخه 3.9 اضافه شد.

تنظیم این فلگ برای جلوگیری از اضافه شدن محتوای غیرعددی اضافی در انتهای خطوط ورودی به خطوط خروجی.

در نسخه 3.9 اضافه شد.

فعال‌سازی حالت اکو (Echo)، که در آن مختصات ورودی به ابتدای خطوط خروجی اضافه می‌شوند.

در نسخه 3.9 اضافه شد.

تعیین جداکننده فیلدها جهت تفکیک مقادیر مختلف. مقدار پیش‌فرض کاراکتر فاصله (Space) است.

<srcfile>
مجموعه‌داده رستر حاوی تعریف سیستم تصویر مبدأ یا GCPها. در صورت عدم ارائه، سیستم تصویر یا GCPهای مبدأ از پارامترهای خط فرمان -s_srs یا -gcp خوانده می‌شوند.

توجه داشته باشید که تنها SRS و/یا GCPهای این فایل ورودی در نظر گرفته می‌شوند و محتوای پیکسلی آن خوانده نمی‌شود.

<dstfile>
مجموعه‌داده رستر حاوی تعریف سیستم تصویر مقصد.

مختصات به‌صورت جفت، سه‌تایی (برای سه‌بعدی) یا (از GDAL 3.0.0 به بعد) چهارتایی (برای X, Y, Z, زمان) از اعداد در هر خط از ورودی استاندارد خوانده شده، تبدیل می‌شوند و به همان صورت در خروجی استاندارد نوشته می‌شوند. تمامی تبدیل‌های ارائه‌شده توسط gdalwarp از جمله تبدیل‌های مبتنی بر GCP پشتیبانی می‌شوند.

از GDAL 3.9 به بعد، محتوای غیرعددی اضافی (معمولاً نام نقطه) در انتهای خط ورودی نیز به خط خروجی افزوده خواهد شد، مگر اینکه گزینه -ignore_extra_input اضافه شده باشد.

توجه داشته باشید که ورودی و خروجی همیشه باید به صورت اعشاری (Decimal) باشند. در حال حاضر هیچ پشتیبانی از ورودی یا خروجی درجه/دقیقه/ثانیه (DMS) وجود ندارد.

اگر یک فایل تصویر ورودی ارائه شود، ورودی بر اساس مختصات پیکسل/سطر آن تصویر است. اگر فایل خروجی ارائه شود، خروجی بر اساس مختصات پیکسل/سطر آن تصویر خواهد بود.

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

بازتصویر ساده از یک سیستم مختصات تصویرشده به سیستم دیگر:

gdaltransform -s_srs EPSG:28992 -t_srs EPSG:31370
177502 311865

خروجی زیر را بر حسب متر در سیستم تصویر "Belge 1972 / Belgian Lambert 72" تولید می‌کند:

244296.724777415 165937.350217148 0

دستور زیر یک تبدیل مبتنی بر RPC را با استفاده از مدل RPC مرتبط با فایل مشخص‌شده درخواست می‌کند. از آنجا که فلگ -i (معکوس) استفاده شده است، تبدیل از مختصات زمین‌مرجع خروجی (WGS84) به مختصات تصویر بازمی‌گردد.

gdaltransform -i -rpc 06OCT20025052-P2AS-005553965230_01_P001.TIF
125.67206 39.85307 50

این خروجی را بر حسب پیکسل و سطر روی تصویر تولید می‌کند:

3499.49282422381 2910.83892848414 50

تبدیل مختصات هلمرت ۱۵ مؤلفه‌ای وابسته به زمان از ITRF2000 به ITRF93 برای مختصاتی در مبدأ زمانی (Epoch) 2000.0:

gdaltransform -ct "+proj=pipeline +step +proj=unitconvert +xy_in=deg \
+xy_out=rad +step +proj=cart +step +proj=helmert +convention=position_vector \
+x=0.0127 +dx=-0.0029 +rx=-0.00039 +drx=-0.00011 +y=0.0065 +dy=-0.0002 \
+ry=0.00080 +dry=-0.00019 +z=-0.0209 +dz=-0.0006 +rz=-0.00114 +drz=0.00007 \
+s=0.00195 +ds=0.00001 +t_epoch=1988.0 +step +proj=cart +inv +step \
+proj=unitconvert +xy_in=rad +xy_out=deg"
2 49 0 2000

این خروجی را بر حسب درجه طول جغرافیایی، درجه عرض جغرافیایی و ارتفاع بیضوی بر حسب متر تولید می‌کند:

2.0000005420366 49.0000003766711 -0.0222802283242345

هدف: یافتن یک نشانی و تخصیص نشانی دیگر. ما سالت‌لیک‌سیتی را انتخاب می‌کنیم، جایی که نام خیابان‌ها همان مقادیر شبکه مختصات آن‌ها است. ابتدا چند نقطه کنترل زمینی در تقاطع خیابان‌ها ایجاد می‌کنیم. برای استفاده مجدد آسان از GCPهای خود از --optfile استفاده خواهیم کرد:

echo -output_xy \
-gcp 0   0    -111.89114717 40.76932606 \
-gcp 0   -500 -111.89114803 40.75846686 \
-gcp 500 0    -111.87685039 40.76940631 > optfile.txt

نشانی "370 S. 300 E." کجاست؟

echo 300 -370 Address 370 S. 300 E. | gdaltransform --optfile optfile.txt
-111.8825697384 40.761338402 Address 370 S. 300 E.

(عدد 370 با قرار دادن یک کلمه قبل از آن، از خوانده شدن به عنوان ارتفاع محافظت می‌شود.)

در نزدیکی آنجا، یک ساختمان نوساز نیاز به تخصیص نشانی دارد. از -i استفاده می‌کنیم:

echo -111.88705 40.76502 Building ABC123 | gdaltransform -i --optfile optfile.txt
143.301947786644 -199.32683635161 Building ABC123

(یعنی 143 E. 200 S. یا اگر در آن سوی خیابان باشد 144.)

Frank Warmerdam <warmerdam@pobox.com>, Jan Hartmann <j.l.h.hartmann@uva.nl>

1998-2026

August 18, 2026