| GPSCSV(1) | GPSD Documentation | GPSCSV(1) |
نام (NAME)
gpscsv - استخراج و تبدیل خروجی JSON از gpsd در قالب CSV
خلاصه دستور (SYNOPSIS)
gpscsv [OPTIONS] [host[:port[:device]]]
gpscsv -h
gpscsv -V
توضیحات (DESCRIPTION)
برنامه gpscsv یک ابزار پایتون ساده برای خواندن جریان دادههای JSON از gpsd و ارائه آنها در قالب مقادیر جداشده با کاما (CSV) است. این برنامه ورودی را از یک gpsd مشخص دریافت کرده و به خروجی استاندارد گزارش میدهد. برنامه تا زمانی که gpsd متوقف شود، تعداد «-n COUNT» پیام پردازش شوند، «-x SECONDS» ثانیه سپری شود، یا با ^C یا روشهای دیگر متوقف گردد، به کار خود ادامه میدهد.
ابزار gpscsv تنها میتواند دادههایی را جمعآوری کند که gpsd شما از قبل ارسال میکند. برای مشاهده کلاسهای پیامهای JSON در حال ارسال، از gpspipe استفاده کنید.
یکی از کاربردهای مناسب gpscsv، ایجاد فایلهای CSV جهت استفاده در برنامه gnuplot است.
ابزار gpscsv نیازی به دسترسی ریشه (root) ندارد، اما با دسترسی ریشه نیز بدون مشکل اجرا میشود.
گزینهها (OPTIONS)
این برنامه گزینههای زیر را میپذیرد:
-?, -h, --help
-c MCLASS, --class MCLASS
--cvt-isotime
-D LVL, --debug LVL
--device DEVICE
-f FIELDS, -fields FIELDS
--file FILE
--header HEADER
--host HOST
-n COUNT, --count COUNT
--port PORT
--separator SEPARATOR
-V, --version
-x SECONDS, --seconds SECONDS
همه گزینههای تکی فوق را میتوان چندین بار مشخص کرد، اما تنها آخرین مورد مشخصشده اعمال خواهد شد..SH "کلاسها (CLASSES)"
برخی از کلاسهای پیام JSON در gpsd شامل زیرکلاسها هستند. gpscsv امکان دسترسی مستقیم به آنها را با استفاده از یک فراکلاس (MCLASS) فراهم میکند.
| MCLASS | کلاس | توضیحات |
| ALMANAC | SUBFRAME | ALMANAC از SUBFRAME JSON |
| HEALTH | SUBFRAME | HEALTH از SUBFRAME JSON |
| HEALTH2 | SUBFRAME | HEALTH2 از SUBFRAME JSON |
| IONO | SUBFRAME | IONO از SUBFRAME JSON |
| NMCT | SUBFRAME | NMCT از SUBFRAME JSON |
| SUBFRAME1 | SUBFRAME | SUBFRAME1 (Ephemeris 1) از SUBFRAME JSON |
| SUBFRAME2 | SUBFRAME | SUBFRAME2 (Ephemeris 2) از SUBFRAME JSON |
| SUBFRAME3 | SUBFRAME | SUBFRAME3 (Ephemeris 3) از SUBFRAME JSON |
| SAT | SKY | ماهوارههای مجزا از SKY |
| SKY | SKY | بخشهای اصلی SKY JSON |
| TPV | TPV | بخشهای اصلی TPV JSON |
بهطور پیشفرض، کلاینتها دادهها را از دیمن محلی gpsd در حال اجرا روی localhost و با استفاده از پورت پیشفرض ۲۹۴۷ مربوط به GPSD جمعآوری میکنند. آرگومان اختیاری هر کلاینت میتواند این رفتار را بازنویسی کند: [server[:port[:device]]]
برای توضیحات بیشتر و مثالها، بخش ARGUMENTS را در صفحهٔ راهنمای gps(1) ببینید.
مثالها (EXAMPLES)
چند مثال پایهای و مستقل:
دریافت سه چرخه از دادههای TPV:
$ gpscsv -c TPV -n 3 time,lat,lon,altHAE 2021-07-28T22:38:37.000Z,44.0688638,-121.3140643,1108.223 2021-07-26T22:38:37.000Z,44.068863833,-121.314064333,1108.3 2021-07-28T22:38:38.000Z,44.0688637,-121.314065,1108.363
دریافت یک مجموعه از دادههای ماهوارهای:
$ gpscsv -c SAT -n 1 time,gnssid,svid,PRN,az,el,ss,used,health 2021-07-28T22:37:46.000Z,0,8,8,311.0,28.0,33.0,True,1 2021-07-28T22:37:46.000Z,0,10,10,290.0,74.0,50.0,True,1 2021-07-28T22:37:46.000Z,0,15,15,45.0,18.0,31.0,False,1 2021-07-28T22:37:46.000Z,0,16,16,244.0,7.0,23.0,True,1 2021-07-28T22:37:46.000Z,0,18,18,109.0,43.0,37.0,True,1 2021-07-28T22:37:46.000Z,0,23,23,49.0,62.0,38.0,True,1 2021-07-28T22:37:46.000Z,0,24,24,87.0,16.0,28.0,True,1 2021-07-28T22:37:46.000Z,0,27,27,280.0,52.0,42.0,True,1 2021-07-28T22:37:46.000Z,0,32,32,188.0,32.0,42.0,True,1 2021-07-28T22:37:46.000Z,5,3,195,305.0,6.0,13.0,False,1 2021-07-28T22:37:46.000Z,6,2,66,38.0,8.0,21.0,False,1 2021-07-28T22:37:46.000Z,6,3,67,34.0,60.0,32.0,True,1 2021-07-28T22:37:46.000Z,6,4,68,226.0,63.0,34.0,True,1 2021-07-28T22:37:46.000Z,6,5,69,220.0,12.0,32.0,True,1 2021-07-28T22:37:46.000Z,6,11,75,-999,4.0,0.0,False,2 2021-07-28T22:37:46.000Z,6,12,76,47.0,0.0,0.0,False,1 2021-07-28T22:37:46.000Z,6,17,81,142.0,8.0,31.0,True,1 2021-07-28T22:37:46.000Z,6,18,82,138.0,57.0,40.0,True,1 2021-07-28T22:37:46.000Z,6,19,83,333.0,70.0,29.0,True,1 2021-07-28T22:37:46.000Z,6,20,84,323.0,10.0,0.0,False,1
مثالهای رسم نمودار (Plot Examples)
چند مثال رسم نمودار، آنها را دقیقاً به ترتیب نمایشدادهشده انجام دهید:
دریافت ۱۰۰ نمونه از time,lat,lon,altHAE:
$ gpscsv -n 100 --cvt-isotime > tpv.dat
دریافت ۱۰۰ نمونه از time,epx,epy,epv,eph,sep
$ gpscsv -n 100 --cvt-isotime -f time,epx,epy,epv,eph,sep > ep.dat
دریافت ۱۰۰ نمونه از time,xdop,ydop,vdop,tdop,hdop,gdop,pdop
$ gpscsv -n 100 --cvt-isotime -c SKY > sky.dat
دریافت ۱۰۰ نمونه از time,nSat,uSat
$ gpscsv -n 100 --cvt-isotime -c SKY -f time,nSat,uSat > sat.dat
اجرای gnuplot در حالت تعاملی:
$ gnuplot
برخی مقدمات و تنظیمات اولیه gnuplot:
# this are csv files gnuplot> set datafile separator ',' # use the first line as title gnuplot> set key autotitle columnhead # X axis is UNIT time in seconds. gnuplot> set xdata time gnuplot> set timefmt "%s"
اکنون برای رسم زمان در برابر عرض جغرافیایی با استفاده از tpv.dat بالا:
gnuplot> plot 'tpv.dat' using 1:2
سپس برای رسم طول جغرافیایی و altHAE در نمودارهای مجزا:
gnuplot> plot 'tpv.dat' using 1:3 gnuplot> plot 'tpv.dat' using 1:4
رسم همزمان عرض و طول جغرافیایی روی یک نمودار:
gnuplot> set y2tics gnuplot> plot 'tpv.dat' using 1:2, '' using 1:3 axes x1y2
رسم epx، epy، epv، eph و sep در یک نمودار، با استفاده از ep.dat بالا:
gnuplot> plot 'ep.dat' using 1:2, '' using 1:3, \
'' using 1:4, '' using 1:5, '' using 1:6
رسم تمامی DOPها در یک نمودار، از sky.dat بالا:
gnuplot> plot 'sky.dat' using 1:2, '' using 1:3, '' using 1:4, \
'' using 1:5, '' using 1:6, '' using 1:7, '' using 1:8
رسم همزمان nSat و uSat با یکدیگر:
gnuplot> plot 'sat.dat' using 1:2, '' using 1:3
نمودار پراکندگی Lat/lon:
# x is no longer time gnuplot> set xdata gnuplot> plot 'tpv.dat' using 3:2 title 'fix'
0
1
همچنین ببینید (SEE ALSO)
منابع (RESOURCES)
وبسایت پروژه: https://gpsd.io
کپیرایت و تکثیر (COPYING)
حق نشر این
فایل متعلق
به پروژه GPSD
در سال 2020 است
SPDX-License-Identifier: BSD-2-clause
نویسنده (AUTHOR)
Gary E. Miller
| 2025-11-04 | GPSD, Version 3.27.5 |