本模块包含在公历日期、年份和GNSS日历之间进行转换的功能,现在支持GPS和BDS的GNSS日历。
在公历日期和年份日期(DOY)之间有3个转换函数:date2doy(date)date2yrdoy(date)yrdoy2date(year,doy)
像这样使用它们:>>>fromdatetimeimportdate>>>date2doy(date(2017,5,17))137>>>date2yrdoy(date(2017,5,17))(2017,137)>>>yrdoy2date(2017,137)datetime.date(2017,5,17)
在公历日期和GNSS日历(GPS或BDS)之间有4个转换函数:date2gpswd(date)date2bdswd(date)gpswd2date(gpsweek,dayofweek)bdswd2date(bdsweek,dayofweek)
像这样使用它们:>>>fromdatetimeimportdate>>>date2gpswd(date(2017,5,17))(1949,3)>>>date2bdswd(date(2017,5,17))(593,3)>>>gpswd2date(1949,3)datetime.date(2017,5,17)>>>bdswd2date(593,3)datetime.date(2017,5,17)
年、日(DOY)和GNSS日历(GPS或BDS)之间有4个转换功能:yrdoy2gpswd(year,doy)yrdoy2bdswd(year,doy)gpswd2yrdoy(gpsweek,dayofweek)bdswd2yrdoy(bdsweek,dayofweek)
像这样使用它们:>>>yrdoy2gpswd(2017,137)(1949,3)>>>yrdoy2bdswd(2017,137)(593,3)>>>gpswd2yrdoy(1949,3)(2017,137)>>>bdswd2yrdoy(593,3)(2017,137)
GPS日历和BDS日历之间还有两个转换功能:gpsw2bdsw(gpsweek)bdsw2gpsw(bdsweek)
像这样使用它们:>>>gpsw2bdsw(1949)593>>>bdsw2gpsw(593)1949
其中日期的类型是datetime.date,其他类型是int或int的元组。
在公历日期,gps和bds的零点也作为模块级常量给出。
示例importgnsscalfromdatetimeimportdate# Convert Gregorian date to GPS calendartoday=date.today()gpsweek,days=gnsscal.date2gpswd(today)# Convert GPS week to BDS weekgpsweek=1812bdsweek=gnsscal.gpsw2bdsw(gpsweek)# Get zero point of GPS and BDS calendargps_zero=gnsscal.GPS_START_DATEbds_zero=gnsscal.BDS_START_DATE
cli模式
您还可以在cli模式下使用gnsscal:$ python -m gnsscal [options]
使用可选参数设置输入日期:-h, --help show this help message and exit
-v, --version show program's version number and exit
-date year, month, day
-ydoy year, day of year
-gpswd GPS week, day of week
-bdswd BDS week, day of week
例如,在终端中键入此命令:$ python -m gnsscal -date 2017 5 17
然后它将打印:Gregorian date: 2017-05-17
year, doy: 2017, 137
GPS week: 1949, 3
BDS week: 0593, 3
安装
可以使用pip安装模块:$ pip install gnsscal
测试
使用命令测试gnsscal.py:$ python test_gnsscal.py
许可证
根据BSD发布,请参阅许可证以了解更多详细信息。
如有意见和建议,请发送电子邮件至:jiangyingming(at)live.com
欢迎加入QQ群-->: 979659372
推荐PyPI第三方库