فرمت RINEX 2.xساختار کامل با تحلیل خطبهخط فایل نمونه
RINEX فرمت استاندارد متنی برای ذخیره مشاهدات و دادههای ناوبری GNSS است. در این مقاله ساختار کامل نسخه ۲ را با تحلیل خطبهخط فایلهای واقعی بررسی میکنیم — از هدر فایل مشاهداتی تا رکوردهای افمریس پخشی.
۱RINEX چیست و چرا ایجاد شد
RINEX مخفف Receiver INdependent EXchange format یک فرمت متنی (ASCII) استاندارد برای ذخیره و تبادل مشاهدات خام GNSS، دادههای ناوبری (افمریس) و اطلاعات هواشناسی است. هدف اصلی RINEX این بود که دادههای گیرندههای مختلف (با فرمتهای اختصاصی متفاوت) را به یک فرمت مشترک تبدیل کند تا نرمافزارهای پسپردازش بتوانند بدون وابستگی به برند گیرنده، دادهها را پردازش کنند.
RINEX در سال ۱۹۸۹ توسط Werner Gurtner از دانشگاه برن سوئیس معرفی شد. در آن زمان هر سازنده گیرنده GPS فرمت باینری اختصاصی خود را داشت و تبادل داده بین نرمافزارها تقریباً غیرممکن بود. RINEX این مشکل را حل کرد.
امروزه IGS (International GNSS Service) مسئولیت نگهداری و توسعه استاندارد RINEX را بر عهده دارد. IGS این فرمت را بهعنوان فرمت رسمی تبادل داده در شبکه جهانی ایستگاههای مرجع خود استفاده میکند.
چرا RINEX مهم است؟
- •مستقل از گیرنده: داده گیرنده Trimble، Leica، Topcon یا هر برند دیگر را به یک فرمت واحد تبدیل میکند
- •متنی و قابل خواندن: برخلاف فرمتهای باینری، با هر ویرایشگر متنی قابل بررسی است
- •استاندارد جهانی: تمام نرمافزارهای پسپردازش (مانند RTKLIB، Bernese، GAMIT) از RINEX پشتیبانی میکنند
- •آرشیو بلندمدت: IGS و سازمانهای ژئودزی دادههای خود را به فرمت RINEX آرشیو میکنند
۲انواع فایلها و قرارداد نامگذاری
در RINEX 2.x سه نوع فایل اصلی تعریف شده است. هر فایل شامل یک بخش هدر (Header) و یک بخش داده (Data) است.
| نوع فایل | پسوند | محتوا |
|---|---|---|
| مشاهداتی (Observation) | .xxO | مشاهدات کد و فاز (C1, P1, P2, L1, L2, ...) — داده خام گیرنده |
| ناوبری GPS (Navigation) | .xxN | پارامترهای افمریس پخشی GPS (broadcast ephemeris) |
| ناوبری GLONASS | .xxG | پارامترهای افمریس GLONASS (از نسخه ۲.۱۱) |
| هواشناسی (Meteorological) | .xxM | فشار، دما و رطوبت — برای تصحیحات تروپوسفری |
در پسوندها، xx دو رقم آخر سال است. مثلاً .24O یعنی فایل مشاهداتی سال ۲۰۲۴.
قرارداد نامگذاری فایل
نام فایلهای RINEX 2.x از الگوی زیر پیروی میکند:
ssssdddf.yyt ssss = 4-character station name (e.g., TEHN) ddd = day of year (001-366) (e.g., 045) f = file sequence number (0-9) (0 = daily file) yy = 2-digit year (e.g., 24) t = file type (O, N, G, M) Examples: TEHN0450.24O → Tehran station, day 045, year 2024, Observation TEHN0450.24N → Tehran station, day 045, year 2024, GPS Navigation ISFA0010.23G → Isfahan station, day 001, year 2023, GLONASS Navigation SHRZ0900.24M → Shiraz station, day 090, year 2024, Meteorological
نکته: در RINEX 3.x قرارداد نامگذاری کاملاً تغییر کرده و از نامهای بلندتر با اطلاعات بیشتر استفاده میشود. اما هنوز بسیاری از ایستگاهها و نرمافزارها از نامگذاری RINEX 2 استفاده میکنند.
۳ساختار هدر فایل مشاهداتی
هدر فایل مشاهداتی RINEX 2 شامل اطلاعات متادیتا درباره ایستگاه، آنتن، نوع مشاهدات و زمان شروع است. هر خط هدر ۸۰ کاراکتر طول دارد و ۶۰ کاراکتر سمت چپ مقدار فیلد و ۲۰ کاراکتر سمت راست برچسب (label) فیلد است. هدر با خط END OF HEADER پایان مییابد.
در زیر یک هدر واقعی فایل مشاهداتی GPS را خطبهخط بررسی میکنیم:
2.11 OBSERVATION DATA G (GPS) RINEX VERSION / TYPE
teqc 2019Feb25 IGS Operations 20240215 03:45:10 PGM / RUN BY / DATE
TEHN MARKER NAME
20201M001 MARKER NUMBER
IGS Operations National Cartographic Center OBSERVER / AGENCY
4920K12345 LEICA GR25 4.02/6.521 REC # / TYPE / VERS
CR620012345 LEIAR25.R4 LEIT ANT # / TYPE
3778800.1234 3453120.5678 3277200.9012 APPROX POSITION XYZ
0.0830 0.0000 0.0000 ANTENNA: DELTA H/E/N
1 1 WAVELENGTH FACT L1/2
9 C1 P1 P2 L1 L2 D1 D2 S1 S2 # / TYPES OF OBSERV
2024 2 14 0 0 0.0000000 GPS TIME OF FIRST OBS
END OF HEADERتوضیح هر فیلد هدر
نسخه RINEX (اینجا 2.11)، نوع فایل (OBSERVATION DATA) و سیستم ماهوارهای (G = GPS). اگر Mixed باشد یعنی چندمنظومه.
نام نرمافزاری که فایل را ساخته (teqc)، سازمان اجراکننده و تاریخ ساخت فایل.
نام ایستگاه (TEHN = تهران). معمولاً ۴ حرف مطابق نامگذاری IGS.
شماره سریال گیرنده، مدل (LEICA GR25) و نسخه فریمور. برای پسپردازش دقیق اهمیت دارد.
شماره سریال آنتن، مدل آنتن (LEIAR25.R4) و نوع رادوم (LEIT). نرمافزار پسپردازش از این اطلاعات برای اعمال تصحیحات مرکز فاز آنتن (PCV) استفاده میکند.
مختصات تقریبی ایستگاه در سیستم ECEF (متر). برای شروع محاسبات اولیه استفاده میشود.
ارتفاع آنتن از نقطه مبنا (H = 0.0830 متر)، جابهجایی شرقی (E) و شمالی (N). اشتباه در ارتفاع آنتن یکی از شایعترین خطاها در نقشهبرداری GNSS است.
تعداد انواع مشاهدات (۹ نوع) و لیست آنها: C1 (کد L1)، P1 (کد دقیق L1)، P2 (کد دقیق L2)، L1 و L2 (فاز)، D1 و D2 (داپلر)، S1 و S2 (قدرت سیگنال).
زمان اولین مشاهده: سال ۲۰۲۴، ماه ۲، روز ۱۴، ساعت ۰:۰۰:۰۰ به وقت GPS.
نشانگر پایان هدر. بعد از این خط، بخش مشاهدات شروع میشود.
۴ساختار بخش مشاهدات
بعد از هدر، بخش داده شامل اپکها (Epochs) است. هر اپک شامل یک خط سرآیند اپک (Epoch Header) و سپس خطوط مشاهدات برای هر ماهواره است.
فرمت خط سرآیند اپک
خط اول هر اپک اطلاعات زمانی و لیست ماهوارهها را مشخص میکند:
Format: YY MM DD HH MM SS.SSSSSSS Flag #Sats SatList 24 2 14 0 0 0.0000000 0 8G 3G 7G14G16G22G26G31
- •YY MM DD HH MM SS.SSSSSSS: زمان اپک (سال دو رقمی، ماه، روز، ساعت، دقیقه، ثانیه با ۷ رقم اعشار)
- •Flag: پرچم وضعیت — ۰ = عادی، ۱ = پاور بکاپ، ۲-۵ = رخداد خاص، ۶ = cycle slip
- •#Sats: تعداد ماهوارهها در این اپک (اینجا ۸ ماهواره)
- •SatList: لیست شناسه ماهوارهها (G3, G7, G14, ...) — حرف G یعنی GPS
انواع مشاهدات
| کد | نوع مشاهده | توضیح |
|---|---|---|
| C1 | شبهفاصله کد C/A روی L1 | متر — دقت متوسط (~3m) |
| P1 | شبهفاصله کد P روی L1 | متر — دقت بالاتر (~30cm) |
| P2 | شبهفاصله کد P روی L2 | متر — برای تصحیح یونوسفر |
| L1 | فاز حامل L1 | سیکل — دقت میلیمتری (پس از حل ابهام) |
| L2 | فاز حامل L2 | سیکل — فرکانس دوم |
| D1, D2 | داپلر L1 و L2 | هرتز — برای محاسبه سرعت |
| S1, S2 | قدرت سیگنال L1 و L2 | dB-Hz — شاخص کیفیت سیگنال |
نمونه یک اپک کامل
در زیر یک اپک با ۳ ماهواره GPS نشان داده شده:
24 2 14 0 0 0.0000000 0 3G 3G 7G14 23456789.123 23456789.123 24567890.234 123456789.12345 96234567.12345 1234.567 1567.890 45.200 38.700 22345678.901 22345678.901 23456789.012 117456789.01234 91534567.01234 -987.654 -1234.567 47.500 41.200 24567890.456 24567890.456 25678901.567 129012345.67890 100512345.67890 567.890 234.567 42.100 35.800
هر خط مشاهدات مربوط به یک ماهواره است و ترتیب مقادیر مطابق ترتیب تعریفشده در هدر است:
C1 P1 P2 L1 L2 D1 D2 S1 S2 23456789.123 23456789.123 24567890.234 123456789.12345 96234567.12345 1234.567 1567.890 45.200 38.700 ├─ pseudorange ─┤ ├─ pseudorange─┤├── carrier phase (cycles) ──┤ ├─ doppler ─┤ ├─ SNR ──┤
نکته مهم: هر مقدار مشاهده در RINEX 2 دقیقاً ۱۶ کاراکتر جا میگیرد (شامل فاصله). اگر مقداری موجود نباشد، فضای خالی قرار میگیرد. هر خط حداکثر ۵ مشاهده دارد — اگر بیش از ۵ نوع مشاهده وجود داشته باشد، ادامه در خط بعد نوشته میشود.
۵فایل ناوبری (Navigation)
فایل ناوبری RINEX شامل پارامترهای افمریس پخشی (Broadcast Ephemeris) است — همان اطلاعات مداری که ماهوارهها به گیرندهها ارسال میکنند. با این پارامترها میتوان موقعیت ماهواره در هر لحظه را محاسبه کرد.
هدر فایل ناوبری GPS
2.11 N: GPS NAV DATA RINEX VERSION / TYPE
teqc 2019Feb25 IGS Operations 20240215 03:50:00 PGM / RUN BY / DATE
0.1397D-07 0.0000D+00 -0.5960D-07 0.0000D+00 ION ALPHA
0.1167D+06 0.0000D+00 -0.1966D+06 0.0000D+00 ION BETA
-0.186264514923D-08 0.355271367880D-14 233472 1804 DELTA-UTC: A0,A1,T,W
18 LEAP SECONDS
END OF HEADER- •ION ALPHA / BETA: ضرایب مدل یونوسفری Klobuchar — برای تصحیح تکفرکانسه
- •DELTA-UTC: پارامترهای تبدیل زمان GPS به UTC
- •LEAP SECONDS: تعداد ثانیههای کبیسه (تفاوت GPS Time و UTC)
نمونه رکورد افمریس یک ماهواره
هر رکورد افمریس شامل ۸ خط است. خط اول شناسه ماهواره و زمان مرجع، و ۷ خط بعدی پارامترهای مداری کپلری و تصحیحات:
3 24 2 14 2 0 0.0 0.396761670709D-04 0.261479726760D-11 0.000000000000D+00
0.730000000000D+02 0.184062500000D+02 0.439092709498D-08 0.263925808924D+01
0.102445483208D-05 0.626aborD-02 0.109896063805D-04 0.515365758896D+04
0.180000000000D+06 0.186264514923D-08 -0.221961190498D+01 -0.204890966415D-06
0.973563681498D+00 0.193906250000D+03 0.105674956498D+01 -0.786281847582D-08
0.443596923255D-09 0.100000000000D+01 0.229800000000D+04 0.000000000000D+00
0.200000000000D+01 0.000000000000D+00 0.558793544769D-08 0.730000000000D+02
0.180000000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00توضیح خطوط رکورد:
| خط | پارامترها |
|---|---|
| ۱ (شناسه) | PRN ماهواره، زمان مرجع (Toc)، خطای ساعت (af0)، دریفت ساعت (af1)، نرخ دریفت (af2) |
| ۲ | IODE, Crs, Delta n, M0 — پارامترهای اولیه مدار |
| ۳ | Cuc, خروجازمرکز (e), Cus, جذر نیممحور بزرگ (sqrt(A)) |
| ۴ | Toe, Cic, OMEGA0 (طول گره صعودی), Cis |
| ۵ | i0 (میل مداری), Crc, omega (آرگومان حضیض), OMEGA DOT |
| ۶ | IDOT, کد L2, هفته GPS, پرچم P کد L2 |
| ۷ | دقت ماهواره (SV accuracy)، سلامت (SV health)، TGD، IODC |
| ۸ | زمان ارسال پیام (Transmission Time)، Fit Interval |
نکته: فرمت اعداد در فایل ناوبری RINEX از نمایش D بهجای E برای توان استفاده میکند (مثلاً 0.396D-04 بهجای 0.396E-04). این یک میراث فرترن است و نرمافزارها باید هنگام خواندن، D را به E تبدیل کنند.
۶تفاوت نسخهها و نکات عملی
تفاوت نسخههای RINEX 2.x
| نسخه | سال | تغییرات کلیدی |
|---|---|---|
| 2.10 | ۱۹۹۷ | نسخه پایه — فقط GPS. فایل مشاهداتی و ناوبری GPS (N.) و هواشناسی. |
| 2.11 | ۲۰۰۶ | افزوده شدن GLONASS: فایل ناوبری جداگانه (.G)، مشاهدات Mixed (GPS+GLONASS)، شناسه ماهواره R برای GLONASS. رایجترین نسخه RINEX 2 در عمل. |
| 2.12 | ۲۰۱۳ | بهبودهای جزئی: پشتیبانی از SBAS، تعریف دقیقتر برخی فیلدها. در عمل کماستفاده چون RINEX 3 جایگزین شد. |
مشکلات رایج و راهحلها
ارتفاع آنتن اشتباه
شایعترین خطا در RINEX. اگر ارتفاع آنتن در هدر اشتباه باشد، تمام نتایج پسپردازش در ارتفاع خطا خواهند داشت. همیشه مقدار ANTENNA: DELTA H را بررسی کنید.
انواع مشاهدات ناقص
برخی گیرندهها فقط C1 (کد C/A) ذخیره میکنند و P1/P2 ندارند. بدون مشاهدات دوفرکانسه (L1+L2)، پسپردازش دقیق ممکن نیست. در هدر، خط # / TYPES OF OBSERV را بررسی کنید.
مشکل سال ۲۰۰۰ (Y2K در RINEX)
RINEX 2 از سال دو رقمی استفاده میکند. سالهای 80-99 به 1980-1999 و سالهای 00-79 به 2000-2079 تفسیر میشوند. این مشکل در RINEX 3 با سال چهار رقمی حل شد.
نام آنتن نادرست
اگر نام آنتن در هدر با آنتن واقعی مطابقت نداشته باشد، تصحیحات مرکز فاز آنتن (PCV) اشتباه اعمال میشود. نام آنتن باید دقیقاً مطابق فهرست IGS باشد.
محدودیت تعداد انواع مشاهده
در RINEX 2 حداکثر ۹ نوع مشاهده قابل تعریف است. گیرندههای مدرن چند فرکانسه ممکن است بیش از ۹ نوع مشاهده داشته باشند — این یکی از دلایل مهاجرت به RINEX 3 بود.
ابزارهای تبدیل و کار با RINEX
| ابزار | کاربرد | توضیح |
|---|---|---|
| teqc | تبدیل و کنترل کیفیت | ابزار کلاسیک UNAVCO — تبدیل فرمتهای اختصاصی به RINEX، بررسی کیفیت، ویرایش هدر |
| RTKCONV | تبدیل به RINEX | بخشی از RTKLIB — تبدیل فرمتهای UBX، RTCM و غیره به RINEX 2 و 3 |
| Hatanaka | فشردهسازی | فشردهسازی RINEX بدون از دست دادن داده (پسوند .xxD). حجم فایل تا ۱/۳ کاهش مییابد. |
| gfzrnx | تبدیل RINEX 2↔3 | ابزار GFZ — تبدیل بین نسخههای RINEX، ویرایش، فیلتر و برش زمانی |
| Anubis | کنترل کیفیت | ابزار جامع بررسی کیفیت فایل RINEX — multipath، cycle slip، دسترسی ماهواره |
توصیه: اگر با گیرندههای مدرن چندمنظومه (GPS + GLONASS + Galileo + BeiDou) کار میکنید، RINEX 3.x انتخاب بهتری است. RINEX 2 برای دادههای فقط GPS یا GPS+GLONASS کافی است، اما برای بهرهبرداری کامل از سیگنالهای مدرن به RINEX 3 نیاز دارید.
دانلود منابع
مطالب مرتبط
IMU و جبران زاویه انحراف ژالون
نقشهبرداری بدون نیاز به تراز کردن ژالون — با استفاده از سنسورهای اینرسی، موقعیت نوک ژالون حتی در حالت کج محاسبه میشود.
موقعیتیابی تصویری
ترکیب دوربین و GNSS برای تعیین موقعیت از روی تصاویر — کاربرد در مناطقی که سیگنال ماهوارهای ضعیف است.
پیادهسازی واقعیت افزوده
مشاهده نقاط طرح روی صفحهنمایش در محیط واقعی — سرعت و دقت بالاتر در پیادهسازی پروژههای عمرانی.
آیا این مطلب برای شما مفید بود؟