CCT(1) PROJ CCT(1)

cct - تبدیل و ترادیسی مختصات

cct [-cIostvz [args]] +opt[=arg] ... file ...

یا

cct [-cIostvz [args]] {object_definition} file ...

که در آن {object_definition} یکی از حالت‌های پذیرفته‌شده توسط proj_create() <#c.proj_create> است، به شرطی که یک عملیات مختصات را بیان کند:

  • یک proj-string،
  • یک رشته WKT،
  • یک کد شیء (مانند "EPSG:1671" یا "urn:ogc:def:coordinateOperation:EPSG::1671")،
  • یک نام شیء؛ مثلاً "ITRF2014 to ETRF2014 (1)". در این حالت، از آنجا که یکتا بودن تضمین نمی‌شود، روش‌های اکتشافی (heuristics) برای تعیین مناسب‌ترین تطابق اعمال می‌شوند.
  • یک OGC URN ترکیبی از مراجع برای عملیات زنجیره‌ای (مانند "<urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618>")
  • یک رشته PROJJSON. طرح‌واره jsonschema در نشانی https://proj.org/schemas/v0.4/projjson.schema.json قرار دارد.

در نسخه 8.0.0 افزوده شد.

نکته:

پیش از نسخه 8.0.0 تنها proj-strings می‌توانستند برای نمونه‌سازی عملیات در cct به کار روند.

یا

cct [-cIostvz [args]] {object_reference} file ...

که در آن {object_reference} نام فایلی است که پیش از آن نویسه '@' قرار می‌گیرد. فایل ارجاع‌داده‌شده توسط {object_reference} باید شامل یک {object_definition} معتبر باشد.

در نسخه 8.0.0 افزوده شد.

دستور cct یک معادل چهاربُعدی (4D) برای برنامه تصویرسازی proj <#proj> است و تبدیلات سیستم‌های مختصات را روی مجموعه‌ای از نقاط ورودی انجام می‌دهد. تبدیل سیستم مختصات می‌تواند شامل انتقال میان مختصات تصویرشده و جغرافیایی و همچنین اعمال جابه‌جایی دیتوم (datum shifts) باشد.

البته توجه داشته باشید که برخلاف proj <#proj>، ورودی زاویه‌ای باید بر حسب درجه اعشاری باشد. هرگونه دقیقه و ثانیه‌ای که مشخص شود، بدون هیچ هشداری نادیده گرفته خواهد شد.

پارامترهای کنترلی زیر می‌توانند با هر ترتیبی ظاهر شوند:

مشخص کردن ستون‌های ورودی برای (حداکثر) ۴ پارامتر ورودی. مقدار پیش‌فرض 1,2,3,4 است.
در نسخه 5.2.0 اضافه شد.

مشخص کردن تعداد ارقام اعشار جهت گرد کردن در خروجی.

انجام تبدیل معکوس.
مشخص کردن نام فایل خروجی.
مشخص کردن یک time (زمان) مشاهداتی ثابت برای اعمال روی تمامی داده‌های ورودی.
مشخص کردن یک height (ارتفاع) مشاهداتی ثابت برای اعمال روی تمامی داده‌های ورودی.
در نسخه 5.1.0 اضافه شد.

نادیده گرفتن n خط نخست ورودی. این مورد برای هر نوع ورودی، چه از طریق STDIN، چه از فایل یا ورودی تعاملی کاربر باشد اعمال می‌شود.

نوشتن اطلاعات غیرضروری، اما بالقوه مفید در stderr. برای اطلاعات بیشتر تکرار کنید (-vv، -vvv و غیره).
چاپ شماره نسخه.

آرگومان‌های +opt با پارامترهای عملیات مختصات مرتبط هستند. کاربرد آن‌ها بسته به عملیات متفاوت است.

دستور cct سرنامی به معنای Coordinate Conversion and Transformation (تبدیل و ترادیسی مختصات) است.

این سرنام به تعاریف ارائه‌شده در استاندارد OGC 08-015r2/ISO-19111 با عنوان "Geographical Information -- Spatial Referencing by Coordinates" اشاره دارد که دو دسته متمایز از coordinate operations (عملیات‌های مختصاتی) را تعریف می‌کند:

Coordinate Conversions (تبدیل‌های مختصات)، که عملیات‌های مختصاتی هستند که در آن‌ها مبنای (datum) ورودی و خروجی یکسان است (برای مثال، تبدیل مختصات جغرافیایی به دکارتی) و

Coordinate Transformations (ترادیسی‌های مختصات)، که عملیات‌های مختصاتی هستند که در آن‌ها دیتوم‌های ورودی و خروجی متفاوتند (برای مثال، تغییر چارچوب مرجع)..SH "استفاده از گریدهای راه‌دور (USE OF REMOTE GRIDS)"

در نگارش 7.0.0 اضافه شد.

چنانچه متغیر محیطی PROJ_NETWORK <#envvar-PROJ_NETWORK> بر روی ON تنظیم شده باشد، در صورت عدم دسترسی محلی، cct تلاش خواهد کرد تا از گریدهای راه‌دور ذخیره‌شده بر روی حافظه CDN (شبکه تحویل محتوا) استفاده کند.

جزئیات بیشتر در بخش Network capabilities <#network> در دسترس است.

1.
مشخصات عملگر، عملیاتی را که باید توسط cct انجام شود توصیف می‌کند. بنابراین اسکریپت زیر
echo 12 55 0 0 | cct +proj=utm +zone=32 +ellps=GRS80

مختصات جغرافیایی ورودی را به مختصات UTM zone 32 تبدیل خواهد کرد. از این رو، دستور

echo 12 55 | cct -z0 -t0 +proj=utm +zone=32 +ellps=GRS80

باید نتایجی قابل مقایسه با دستور کلاسیک proj <#proj> ارائه دهد

echo 12 55 | proj +proj=utm +zone=32 +ellps=GRS80
2.
تبدیل ورودی جغرافیایی به UTM zone 32 بر روی بیضوی GRS80:
cct +proj=utm +ellps=GRS80 +zone=32
3.
بررسی رفت‌وبرگشت دقت برای حالت فوق:
cct +proj=pipeline +ellps=GRS80 +zone=32 +step +proj=utm +step +proj=utm +inv
4.
مشابه (۲) اما با مشخص‌کردن ستون‌های ورودی برای طول جغرافیایی، عرض جغرافیایی، ارتفاع و زمان:
cct -c 5,2,1,4 +proj=utm +ellps=GRS80 +zone=32
5.
مشابه (۲) اما با تعیین ارتفاع و زمان ثابت، که در نتیجه تنها به ۲ ستون در ورودی نیاز خواهد بود:
cct -t 0 -z 0 +proj=utm +ellps=GRS80 +zone=32
6.
داده‌های کمکی پس از ورودی مختصات به جریان خروجی هدایت می‌شوند:
$ echo 12 56 100 2018.0 auxiliary data | cct +proj=merc
1335833.8895   7522963.2411      100.0000     2018.0000 auxiliary data
7.
عملیات مختصاتی ارجاع‌داده‌شده از طریق کد آن:
$ echo 3541657.3778 948984.2343 5201383.5231 2020.5 | cct EPSG:8366
3541657.9112    948983.7503  5201383.2482     2020.5000
8.
عملیات مختصاتی ارجاع‌داده‌شده از طریق نام آن:
$ echo 3541657.3778 948984.2343 5201383.5231 2020.5 | cct "ITRF2014 to ETRF2014 (1)"
3541657.9112    948983.7503  5201383.2482     2020.5000

نام cct همچنین به Carl Christian Tscherning (1942--2014) اشاره دارد؛ استاد ژئودزی در دانشگاه کپنهاگ، مربی و استاد راهنمای نسلی از ژئودزیست‌های دانمارکی، همکار دو نسل از متخصصان ژئودزی جهان، دبیرکل انجمن بین‌المللی ژئودزی، IAG (1995--2007)، عضو برگزیده (Fellow) اتحادیه ژئوفیزیک آمریکا (1991)، دریافت‌کننده مدال لوالوآ IAG (2007)، مدال ونینگ ماینز اتحادیه علوم زمین اروپا (2008)، و افتخارات متعدد دیگر.

cct، یا Christian، آن‌گونه که اغلب ما او را می‌شناختیم، به خوش‌رویی، ذکاوت بالا، تلاش خستگی‌ناپذیر، و تعهد بزرگش به پیشرفت ژئودزی شناخته می‌شد -- هم از طریق مشارکت‌های علمی‌اش شامل بیش از 250 اثر منتشرشده، و هم از طریق هدایت و آموزش نسل‌های بعدی ژئودزیست‌ها.

از آنجا که Christian برنامه‌نویسی مشتاق در Fortran و متخصصی کارکشته در Unix بود، خرسند می‌شد اگر می‌دانست حروف اول نامش برای نام‌گذاری یک فیلتر تبدیل ساده به سبک Unix به کار رفته است؛ فیلتری که به جنبهٔ خستگی‌ناپذیر شخصیت او اشاره دارد، ویژگی‌ای که مسلماً یکی از دلایل دستاوردهای بزرگ او و اهمیت بسیارش برای افراد بی‌شمار بوده است.

از این رو، به افتخار cct (دانشمند ژئودزی)، این cct (برنامه) است.

proj(1), cs2cs(1), geod(1), gie(1), projinfo(1), projsync(1)

فهرستی از باگ‌های شناخته‌شده را می‌توانید در https://github.com/OSGeo/PROJ/issues بیابید که گزارش باگ‌های جدید را نیز می‌توان در آنجا ارسال کرد.

https://proj.org

Thomas Knudsen

1983-2026, PROJ contributors

10 avril 2026 9.8