GEOD(1) PROJ GEOD(1)

geod - محاسبات ژئودزیک مسافت مستقیم و معکوس

geod +ellps=<ellipsoid> [-afFIlptwW [args]] [+opt[=arg] ...] file ...

invgeod +ellps=<ellipsoid> [-afFIlptwW [args]] [+opt[=arg] ...] file ...

دستورات geod (مستقیم) و invgeod (معکوس) محاسبات ژئودزیک (دایره عظیمه) را برای تعیین عرض جغرافیایی، طول جغرافیایی و آزیموت برگشتی یک نقطه مقصد بر اساس عرض جغرافیایی، طول جغرافیایی، آزیموت و فاصله نقطه آغازین (مستقیم) یا محاسبه آزیموت‌های رفت و برگشت و فاصله بین عرض‌ها و طول‌های جغرافیایی نقطه آغازین و مقصد (معکوس) انجام می‌دهند. نتایج برای |f|<1/50 تا حد خطای گرد کردن دقیق هستند، که در آن f میزان پَخی (Flattening) است.

ممکن است invgeod روی تمام پلتفرم‌ها در دسترس نباشد؛ در این حالت از geod -I استفاده کنید.

گزینه‌های خط فرمان زیر می‌توانند به هر ترتیبی مشخص شوند:

مشخص می‌کند که محاسبات ژئودزیک معکوس انجام شود. می‌توان هنگام اجرای geod به عنوان جایگزینی برای اجرای invgeod استفاده کرد.
عرض و طول جغرافیایی نقاط آغازین و مقصد، آزیموت‌های رفت و برگشت و فاصله در خروجی نمایش داده می‌شوند.
که در آن a نویسه‌ای را مشخص می‌کند که به عنوان نخستین نویسه برای تعیین یک خط کنترلی به کار می‌رود تا بدون پردازش عبور داده شود.
فهرستی از تمام بیضوی‌هایی که می‌توان با گزینه +ellps= انتخاب کرد ارائه می‌دهد.
فهرستی از تمام واحدهایی که می‌توان با گزینه +units= انتخاب کرد ارائه می‌دهد (واحد پیش‌فرض متر است).
که در آن format یک رشته قالب‌بندی printf برای کنترل قالب خروجی مقادیر مختصات جغرافیایی و آزیموت است. حالت پیش‌فرض DMS است.
که در آن format یک رشته قالب‌بندی printf برای کنترل قالب خروجی مقدار فاصله است. حالت پیش‌فرض "%.3f" است.
که در آن n تعداد ارقام اعشاری معنادار برای خروجی ثانیه‌ها است (در صورت عدم تعیین گزینه، -w3 فرض می‌شود).
که در آن n تعداد ارقام اعشاری معنادار برای خروجی ثانیه‌ها است. هنگام استفاده از -W فیلدها عرض ثابت داشته و با صفرهای ابتدایی پر می‌شوند.
این گزینه موجب می‌شود مقادیر آزیموت به عنوان اعداد نامنفی DMS بین ۰ تا ۳۶۰ درجه خروجی داده شوند. همچنین گزینه -f را ببینید.

گزینه‌های خط فرمان +opt با پارامترهای ژئودتیک برای تعیین بیضوی یا کره مورد استفاده مرتبط هستند. گزینه‌ها به ترتیب از چپ به راست خط فرمان پردازش می‌شوند. تکرار یک گزینه نادیده گرفته شده و اولین رخداد به عنوان مقدار مورد نظر در نظر گرفته می‌شود.

برای فهرست کامل این پارامترها و کنترل‌ها به مستندات PROJ مراجعه کنید.

یک یا چند فایل (پردازش‌شده به ترتیب چپ به راست) منبع داده‌هایی را که باید تبدیل شوند مشخص می‌کنند. علامت - ورودی استاندارد را مشخص می‌کند. اگر فایلی تعیین نشود، ورودی از stdin خوانده می‌شود.

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

مختصات جغرافیایی ورودی (عرض و طول جغرافیایی) و داده‌های آزیموت باید به صورت درجه اعشاری یا قالب DMS باشند و داده‌های فاصله ورودی باید در واحدهای سازگار با نیم‌قطر بزرگ بیضوی یا شعاع کره باشند. عرض جغرافیایی باید در بازه [-90d,90d] باشد. مختصات جغرافیایی و آزیموت‌های خروجی در قالب DMS (در صورت عدم استفاده از سوییچ -f) تا دقت "0.001 با حذف فیلدهای دقیقه و ثانیه صفر پایانی خواهند بود. داده‌های فاصله خروجی در همان واحدهای بیضوی یا شعاع کره خواهند بود.

شکل بیضوی زمین را می‌توان به همان شیوه برنامه proj با استفاده از +ellps=، +a=، +es= و غیره انتخاب کرد.

دستور geod همچنین می‌تواند برای تعیین نقاط میانی در امتداد یک خط ژئودزیک بین دو نقطه یا در امتداد کمانی با فاصله مشخص از یک نقطه جغرافیایی استفاده شود. در هر دو حالت باید نقطه آغازین با پارامترهای +lat_1=lat و +lon_1=long مشخص شده و یا نقطه مقصد با +lat_2=lat و +lon_2=long یا فاصله و آزیموت از نقطه آغازین با +S=distance و +A=azimuth تعیین شود.

اگر نقاط در امتداد یک خط ژئودزیک تعیین می‌شوند، باید +n_S=integer مشخص‌کننده تعداد نقاط میانی و/یا +del_S=distance مشخص‌کننده فاصله افزایشی بین نقاط تعیین گردد.

برای تعیین نقاط در امتداد کمانی با فاصله مساوی از نقطه آغازین، هر دو پارامتر +del_A=angle و +n_A=integer باید مشخص شوند که به ترتیب گام‌های زاویه‌ای و تعداد نقاط مورد نظر را تعیین می‌کنند.

اسکریپت زیر آزیموت‌های ژئودزیک و فاصله را بر حسب مایل قانونی ایالات متحده از بوستون، MA به پورتلند، OR محاسبه می‌کند:

geod +ellps=clrk66 -I +units=us-mi <<EOF
42d15'N 71d07'W 45d31'N 123d41'W
EOF

که نتایج زیر را ارائه می‌دهد:

-66d31'50.141" 75d39'13.083" 2587.504

که در آن دو مقدار نخست آزیموت از بوستون به پورتلند و آزیموت برگشتی از پورتلند به بوستون بوده و به دنبال آن مقدار فاصله آمده است.

یک نمونه از کاربرد مستقیم (forward) ژئودزیک، استفاده از موقعیت بوستون و محاسبه موقعیت پورتلند بر اساس آزیموت و فاصله است:

geod +ellps=clrk66 +units=us-mi <<EOF
42d15'N 71d07'W -66d31'50.141" 2587.504
EOF

که نتیجه می‌دهد:

45d31'0.003"N 123d40'59.985"W 75d39'13.094"

یعنی عرض و طول جغرافیایی پورتلند و آزیموت برگشتی از پورتلند به بوستون.

نکته:

عدم دقت کافی در مقدار فاصله، دقت موقعیت پورتلند را تحت تأثیر قرار می‌دهد.

1.
کتابخانه GeographicLib https://geographiclib.sourceforge.io.
2.
چارلز اف. اف. کارنی، الگوریتم‌های ژئودزیک https://doi.org/10.1007/s00190-012-0578-z، مجله ژئودزی 87(1)، ۴۳–۵۵ (۲۰۱۳)؛ ضمائم https://geographiclib.sourceforge.io/geod-addenda.html.
3.
کتاب‌شناسی ژئودزیک https://geographiclib.sourceforge.io/geodesic-papers/biblio.html.

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

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

https://proj.org

Charles Karney

1983-2026, PROJ contributors

10 avril 2026 9.8