GPSRINEX(1) GPSD Documentation GPSRINEX(1) نام (NAME) gpsrinex - خواندن داده‌ها از gpsd، تبدیل به RINEX و ذخیره در یک پرونده خلاصه دستور (SYNOPSIS) gpsrinex [OPTIONS] [server[:port[:device]]] gpsrinex -h gpsrinex -V توضیحات (DESCRIPTION) ابزار gpsrinex برای اتصال به gpsd و خروجی دادن سنجش‌های خام دریافت‌شده در قالب یک پرونده مشاهدات RINEX به کار می‌رود. این قابلیت برای ارسال سنجش‌های خام (pseudorange و carrierphase) از gpsd به یک برنامه یا سرویس تعیین موقعیت دقیق نقطه (PPP) مفید است. دستور gpsrinex نیازی به دسترسی ریشه ندارد، اما می‌تواند با دسترسی ریشه نیز اجرا شود. برخی از مثال‌های این صفحه ممکن است هنگام اجرا تحت sudo کار نکنند. این ابزار می‌تواند هم‌زمان با سایر ابزارهایی که به یک gpsd محلی یا ریموت متصل هستند، بدون ایجاد مشکل اجرا شود. ابزار gpsrinex نیاز دارد که گیرنده GNSS سنجش‌های خام را به gpsd ارسال کند. تنها تعداد کمی از گیرنده‌های GNSS این قابلیت را دارند. علاوه بر این، درایور gpsd برای آن GNSS باید از حالت خام پشتیبانی کند. در حال حاضر فقط درایور u-blox این پشتیبانی را دارد. تنها برخی از گیرنده‌های u-blox سری 8، 9 و 10 پیام مورد نیاز UBX-RXM-RAWX را پیاده‌سازی می‌کنند. گیرنده NEO-M8T به کارکرد درست شناخته شده است، اما نیاز به پیکربندی با ubxtool دارد. پیش از استفاده از ubxtool، حتماً متغیر محیطی UBXOPTS را با نسخه پروتکل صحیح گیرنده u-blox خود تنظیم کنید. اگر نسخه پروتکل شما 32.00 است، این کار را انجام دهید: export UBXOPTS="-P 32.00" فرمت RINEX تعاریف و اختصارات خاص خود را دارد؛ حتماً به مستندات آن مراجعه کنید. یک پرونده مشاهدات (.obs) شامل مجموعه‌داده‌هایی به نام مبدأ زمانی (epoch) است که حاوی pseudorange و carrierphase برای هر ماهواره مشاهده‌شده است. دستور gpsrinex به صورت پیش‌فرض ۲۰ مبدأ زمانی (epoch) با فاصله زمانی ۳۰ ثانیه از یکدیگر دریافت می‌کند. این فرآیند ۱۰ دقیقه طول خواهد کشید. بیشتر کاربران بازه ۳۰ ثانیه‌ای را بهینه می‌دانند. بسیاری از برنامه‌های PPP به دست‌کم ۱ یا ۲ ساعت داده نیاز دارند، اما نباید بیش از ۲۴ یا ۴۸ ساعت داده ارسال شود. بیشتر کاربران ۴ تا ۶ ساعت داده را حداقل میزان لازم برای دقت مناسب می‌دانند. ساعت‌های بیشتر بهبود چندانی ایجاد نخواهد کرد. خروجی شامل یک پرونده مشاهدات RINEX خواهد بود که آماده خوانده شدن توسط برنامه PPP شما است. نام پرونده پیش‌فرض به این شکل خواهد بود: gpsrinexYYYYjjjHHMMSS.obs. می‌توانید این نام پرونده را با گزینه -f تغییر دهید. به صورت اختیاری می‌توان سرور، شماره پورت TCP/IP و دستگاه ریموت را مشخص کرد. در صورت عدم ذکر، gpsrinex به localhost روی پورت پیش‌فرض (2947) متصل می‌شود و تمام دستگاه‌های باز شده توسط gpsd را رصد می‌کند. گزینه‌ها (OPTIONS) -?, -h, --help نمایش پیام راهنمای نحوه استفاده و خروج. -D LVL, -debug LVL تنظیم سطح اشکال‌زدایی روی LVL. -f OUTFILE, --fileout OUTFILE ذخیره خروجی RINEX در پرونده OUTFILE. -F INFILE, --filein INFILE خواندن JSON جی‌پی‌اس از پرونده، به جای خواندن مستقیم از یک gpsd زنده. -g CODES, --gnss CODES خروجی دادن سامانه GNSS تنها در صورتی که کد RINEX آن در CODES موجود باشد. کدها عبارتند از: C = BeiDou, E = Galileo, G = GPS, I = IRNSS, J = QZSS, R = GLONASS, S = SBAS. -i SECS, --interval SECS مکث به مدت [interval] ثانیه بین هر مبدأ زمانی (epoch). این بازه زمانی را می‌توان تا دقت میلی‌ثانیه مشخص کرد. سرویس OPUS بازه‌های ۱، ۲، ۳، ۵، ۱۰، ۱۵ یا ۳۰ ثانیه‌ای را می‌پذیرد. سپس OPUS داده‌ها را به بازه‌های ۳۰ ثانیه‌ای کاهش می‌دهد. مقدار پیش‌فرض 30.000 است. -n COUNT, --count COUNT تعیین تعداد COUNT مبدأ زمانی (epoch) در خروجی. سرویس OPUS حداقل به ۱۵ دقیقه و حداکثر به ۴۸ ساعت داده نیاز دارد. -V, --version چاپ نسخه gpsrinex و خروج. گزینه‌های زیر رشته‌هایی را تعیین می‌کنند که در پرونده مشاهدات RINEX 3 تولیدشده قرار می‌گیرند. این گزینه‌ها تغییری در نحوه محاسبات gpsrinex ایجاد نمی‌کنند. --agency AGENCY نام سازمانی که پرونده جاری را ایجاد می‌کند. --ant_num NUMBER شماره سریال آنتن. --ant_type TYPE نوع آنتن. --comment CMT توضیحات یا یادداشت دلخواه. --marker_name NAME نام نشانگر (marker). --marker_type TYPE نوع نشانگر (marker). --observer OBSERVER نام مشاهده‌کننده (شما). --rec_num NUM شماره سریال گیرنده. --rec_type TYPE نوع گیرنده. --rec_vers VERS نسخه گیرنده. گزینه‌های زیر مقادیر اعشاری شناوری را تعیین می‌کنند که در پرونده مشاهدات RINEX تولیدشده قرار می‌گیرند. این گزینه‌ها تغییری در محاسبات gpsrinex ایجاد نمی‌کنند. --ant_e EASTING فاصله شرقی آنتن از نشانگر به متر. --ant_h HEIGHT ارتفاع آنتن از نشانگر به متر. --ant_n NORTHING فاصله شمالی آنتن از نشانگر به متر. آرگومان‌ها (ARGUMENTS) به صورت پیش‌فرض، کلاینت‌ها داده‌ها را از دیمن محلی gpsd که روی localhost در حال اجراست و با استفاده از پورت پیش‌فرض 2947 مربوط به GPSD جمع‌آوری می‌کنند. آرگومان اختیاری برای هر کلاینت می‌تواند این رفتار را لغو کند: [server[:port[:device]]] برای توضیحات و مثال‌های بیشتر، بخش ARGUMENTS را در صفحه راهنمای gps(1) مشاهده کنید. مثال‌ها (EXAMPLES) مثال ۱: ایجاد یک پرونده .obs چهار ساعته. با یک gpsd در حال اجرا که روی localhost قابل دسترسی است، تمام موارد زیر را به ترتیب انجام دهید. ترتیب مراحل اهمیت دارد. پیام‌های سنجش خام طولانی هستند. مطمئن شوید سرعت درگاه سریال به اندازه کافی بالا باشد: gpsctl -s 115200 غیرفعال کردن تمام پیام‌های NMEA و فعال کردن پیام‌های دودویی: ubxtool -d NMEA ubxtool -e BINARY گیرنده NEO-M8N تنها زمانی سنجش‌های خام را به طور پایدار خروجی می‌دهد که فقط منظومه‌های ماهواره‌ای GPS و QZSS فعال باشند. اگر سرویس PPP شما می‌تواند از GLONASS استفاده کند، آن را نیز فعال کنید. حتماً قبل از فعال‌سازی، ابتدا غیرفعال کنید تا موقتاً منظومه‌های زیادی انتخاب نشده باشند. ابزار ubxtool طبق توصیه u-blox، منظومه QZSS را به همراه GPS فعال می‌کند. تمام منظومه‌ها به جز GPS (و QZSS) را غیرفعال کنید: ubxtool -d BEIDOU ubxtool -d GALILEO ubxtool -d GLONASS ubxtool -d SBAS ubxtool -e GPS بررسی منظومه‌های فعال‌شده: ubxtool -p CFG-GNSS فعال کردن پیام‌های سنجش خام: ubxtool -e RAWX بررسی اینکه پیام‌های داده خام در حال ارسال هستند: ubxtool | fgrep RAWX باید این خروجی را مشاهده کنید: UBX-RXM-RAWX: UBX-RXM-RAWX: جمع‌آوری ۴ ساعت نمونه در بازه‌های ۳۰ ثانیه‌ای و ذخیره مشاهدات RINEX در پرونده today.obs: gpsrinex -i 30 -n 480 -f today.obs ۴ ساعت صبر کنید. یک وعده غذا میل کنید یا کمی ورزش کنید. هنگامی که gpsrinex به پایان رسید، پرونده today.obs را در سرویس PPP مورد علاقه خود بارگذاری کنید. مثال ۲: جمع‌آوری داده‌های سنجش خام از یک gpsd ریموت و سپس پردازش بعدی آن با gpsrinex و gpsprof. مطمئن شوید گیرنده همان‌طور که در مثال ۱ نشان داده شد، به درستی پیکربندی شده باشد. دریافت ۴ ساعت داده خام زنده از gpsd ریموت در آدرس 10.168.1.2: gpspipe -x 14400 -R 10.168.1.2 > 4h-raw.ubx پس از اتمام gpspipe، پرونده 4h-raw.ubx حاوی ۴ ساعت پیام دودویی خام UBX خواهد بود. آن داده‌های خام را با gpsdecode به فرمت JSON جی‌پی‌اس‌دی تبدیل کنید: gpsdecode < 4h-raw.ubx > 4h-raw.json پرونده 4h-raw.json اکنون حاوی داده‌های کدگذاری‌شده به عنوان JSON جی‌پی‌اس‌دی است. با استفاده از gpsrinex آن پرونده را بخوانید و یک پرونده RINEX ایجاد کنید: gpsrinex -F 4h-raw.json پرونده RINEX در دایرکتوری جاری با نامی مشابه gpsrinexYYYYjjjHHMMSS.obs قرار خواهد گرفت. برای نحوه قالب‌بندی تاریخ، strftime(1) را مشاهده کنید. اکنون می‌توانید از پرونده JSON برای تولید نمودار قطبی ماهواره‌های استفاده‌شده بهره ببرید: gpsprof -f polarused -T jpeg -r < 4h-raw.json > 4h-raw.plot gnuplot < 4h-raw.plot > 4h-raw.png از نمایشگر تصویر دلخواه خود برای مشاهده وضعیت آسمان در 4h-raw.png استفاده کنید. مقادیر بازگشتی (RETURN VALUES) 0 در صورت موفقیت. 1 در صورت بروز خطا. همچنین ببینید (SEE ALSO) یک سرویس شناخته‌شده که با خروجی gpsrinex کار می‌کند: سرویس OPUS به پرونده‌های مشاهدات ۲ فرکانسه نیاز دارد: علاقه‌مندان می‌توانند توضیحات قالب RINEX 3.04 را در اینجا بیابند: قالب RINEX 4.02 در اینجا قرار دارد: gpsd(8), gps(1), gpsprof(1), gpsfake(1), ubxtool(1), gpsd_json(5), strftime(1) منابع (RESOURCES) تارنمای پروژه: کپی‌رایت و تکثیر (COPYING) حق نشر این پرونده متعلق به پروژه GPSD است. SPDX-License-Identifier: BSD-2-clause نویسنده (AUTHOR) Gary E. Miller GPSD, Version 3.27.5 2025-11-22 GPSRINEX(1)