| GDALTRANSFORM(1) | GDAL | GDALTRANSFORM(1) |
نام (NAME)
gdaltransform - تبدیل مختصات
خلاصه دستور (SYNOPSIS)
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>]]
توضیحات (DESCRIPTION)
ابزار gdaltransform فهرستی از مختصات را به هر سیستم تصویر پشتیبانیشده، از جمله تبدیلهای مبتنی بر نقاط کنترل زمینی (GCP)، بازتصویر میکند.
- --help
- نمایش پیام راهنما و خروج.
- --help-general
- نمایش خلاصه نحوه استفاده برای گزینههای عمومی خط فرمان GDAL و خروج.
- -s_srs <srs_def>
- تنظیم مرجع مکانی مبدأ. سیستمهای مختصاتی قابل ارسال شامل هر موردی است که توسط فراخوانی OGRSpatialReference.SetFromUserInput() پشتیبانی میشود؛ از جمله EPSG PCS و GCSها (مانند EPSG:4296)، تعاریف PROJ.4 یا نام یک فایل .prj حاوی متن شناختهشده (WKT).
- -s_coord_epoch <epoch>
- در نسخه 3.8
اضافه شد.
تخصیص مبدأ زمانی مختصات (Epoch)، متصل به SRS مبدأ. زمانی مفید است که SRS مبدأ یک CRS پویا باشد. تنها زمانی در نظر گرفته میشود که -s_srs استفاده شده باشد.
پیش از PROJ 9.4، گزینههای -s_coord_epoch و -t_coord_epoch به دلیل عدم پشتیبانی از تبدیل بین دو CRS پویا، مانعةالجمع بودند.
- -t_srs <srs_def>
- تنظیم مرجع مکانی مقصد. سیستمهای مختصاتی قابل ارسال شامل هر موردی است که توسط فراخوانی OGRSpatialReference.SetFromUserInput() پشتیبانی میشود؛ از جمله EPSG PCS و GCSها (مانند EPSG:4296)، تعاریف PROJ.4 یا نام یک فایل .prj حاوی متن شناختهشده (WKT).
- -t_coord_epoch <epoch>
- در نسخه 3.8
اضافه شد.
تخصیص مبدأ زمانی مختصات (Epoch)، متصل به SRS خروجی. زمانی مفید است که SRS خروجی یک CRS پویا باشد. تنها زمانی در نظر گرفته میشود که -t_srs استفاده شده باشد.
پیش از PROJ 9.4، گزینههای -s_coord_epoch و -t_coord_epoch به دلیل عدم پشتیبانی از تبدیل بین دو CRS پویا، مانعةالجمع بودند.
- -ct <string>
- یک رشته PROJ
(عملیات
تکمرحلهای
یا رشته
چندمرحلهای
که با +proj=pipeline
شروع
میشود)، یک
رشته WKT2 که
توصیفکننده
CoordinateOperation است، یا
یک URN
بهصورت
urn:ogc:def:coordinateOperation:EPSG::XXXX که
تبدیل
پیشفرض از
CRS مبدأ به
مقصد را
بازنویسی
میکند. این
گزینه باید
ترتیب
محورهای CRS
مبدأ و مقصد
را در نظر
بگیرد.
در نسخه 3.0 اضافه شد.
- -to <NAME>=<VALUE>
- تنظیم گزینه تبدیلکننده مناسب برای ارسال به GDALCreateGenImgProjTransformer2().
- -order <n>
- مرتبه چندجملهای مورداستفاده برای پیچش و تغییر شکل (۱ تا ۳). حالت پیشفرض، انتخاب مرتبه چندجملهای بر اساس تعداد GCPها است.
- -tps
- اجبار به استفاده از تبدیلکننده اسپلاین صفحه نازک (Thin Plate Spline) بر اساس GCPهای موجود.
- -rpc
- اجبار به استفاده از RPCها.
- -geoloc
- اجبار به استفاده از آرایههای موقعیت جغرافیایی (Geolocation Arrays).
- -i
- تبدیل معکوس: از مقصد به مبدأ.
- -gcp <pixel> <line> <easting> <northing> [<elevation>]
- ارائه یک نقطه کنترل زمینی (GCP) برای استفاده در تبدیل (معمولاً سه یا بیشتر مورد نیاز است). نیازی نیست که پیکسل و سطر عدد صحیح باشند.
- -output_xy
- محدود کردن خروجی به "x y" به جای "x y z".
- -ignore_extra_input
- در نسخه 3.9
اضافه شد.
تنظیم این فلگ برای جلوگیری از اضافه شدن محتوای غیرعددی اضافی در انتهای خطوط ورودی به خطوط خروجی.
- -E
- در نسخه 3.9
اضافه شد.
فعالسازی حالت اکو (Echo)، که در آن مختصات ورودی به ابتدای خطوط خروجی اضافه میشوند.
- -field_sep <sep>
- در نسخه 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) وجود ندارد.
اگر یک فایل تصویر ورودی ارائه شود، ورودی بر اساس مختصات پیکسل/سطر آن تصویر است. اگر فایل خروجی ارائه شود، خروجی بر اساس مختصات پیکسل/سطر آن تصویر خواهد بود.
کدهای وضعیت خروجی (RETURN STATUS CODE)
این برنامه در صورت موفقیت کد وضعیت 0 و در صورت بروز خطا کد غیرصفر برمیگرداند (خطاهای غیرمسدودکننده که به صورت هشدار صادر میشوند، اجرای موفق در نظر گرفته میشوند).
مثالها (EXAMPLES)
مثال بازتصویر (Reprojection Example)
بازتصویر ساده از یک سیستم مختصات تصویرشده به سیستم دیگر:
gdaltransform -s_srs EPSG:28992 -t_srs EPSG:31370 177502 311865
خروجی زیر را بر حسب متر در سیستم تصویر "Belge 1972 / Belgian Lambert 72" تولید میکند:
244296.724777415 165937.350217148 0
مثال RPC تصویر (Image RPC Example)
دستور زیر یک تبدیل مبتنی بر RPC را با استفاده از مدل RPC مرتبط با فایل مشخصشده درخواست میکند. از آنجا که فلگ -i (معکوس) استفاده شده است، تبدیل از مختصات زمینمرجع خروجی (WGS84) به مختصات تصویر بازمیگردد.
gdaltransform -i -rpc 06OCT20025052-P2AS-005553965230_01_P001.TIF 125.67206 39.85307 50
این خروجی را بر حسب پیکسل و سطر روی تصویر تولید میکند:
3499.49282422381 2910.83892848414 50
تبدیل X,Y,Z و زمان (X,Y,Z,time transform)
تبدیل مختصات هلمرت ۱۵ مؤلفهای وابسته به زمان از 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
نقاط کنترل زمینی (Ground control points)
هدف: یافتن یک نشانی و تخصیص نشانی دیگر. ما سالتلیکسیتی را انتخاب میکنیم، جایی که نام خیابانها همان مقادیر شبکه مختصات آنها است. ابتدا چند نقطه کنترل زمینی در تقاطع خیابانها ایجاد میکنیم. برای استفاده مجدد آسان از 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.)
نویسندگان (AUTHORS)
Frank Warmerdam <warmerdam@pobox.com>, Jan Hartmann <j.l.h.hartmann@uva.nl>
حق نشر (COPYRIGHT)
1998-2026
| August 18, 2026 |