Пример #1
0
def plotRange(SVID, signalTypes, georange, pseudorange, Last):
    """
    plot Geometrical range vs Pseudorange per satellite and signaltype

    """
    # plt.style.use('BEGPIOS')
    plt.style.use('ggplot')
    plt.figure(1)

    plt.suptitle('Geometrical range vs Pseudorange as function of satellite and signaltype', fontsize=20)

    subPlots = []
    for index, signalType in enumerate(signalTypes):
        subPlots.append(plt.subplot(len(signalTypes), 1, index+1))
        # utcgeo = []
        # print "time geo:", pseudorange[index][0]
        print len(georange[index][1])
        print len(pseudorange[index][1])
        DIFF = []
        for counter in range(0, len(georange[index][1])):
            DIFF.append(georange[index][1][counter]-pseudorange[index][1][counter]/1000)
        plt.plot(georange[index][0], DIFF,
                 label='geo - pr ' + str(ssnConstants.svPRN(SVID)[1]) + str(ssnConstants.svPRN(SVID)[2]))

        # plt.plot(georange[index][0], georange[index][1],
        #          label='delta range ' + str(ssnConstants.svPRN(SVID)[1]) + str(ssnConstants.svPRN(SVID)[2]))
        # plt.plot(pseudorange[index][0], pseudorange[index][1]/1000,
        #          label='pseudorange of: ' + str(ssnConstants.svPRN(SVID)[1]) + str(ssnConstants.svPRN(SVID)[2]))

        # for count in range(0, len(dataMeasSVID[index])):
        #     utc.append(gpstime.UTCFromWT(float(georange[index]['MEAS_WNC'][count]), float(dataMeasSVID[index]['MEAS_TOW'][count])))
        #     # utc.append(str(gpstime.UTCFromWT(float(weeknr[count]), float(tow[count])).time()))

    if Last == 1:
        # mPlt.annotateText(r'$\copyright$ Alain Muls ([email protected])', subPlots[index], 0, -0.22, 'left')
        # mPlt.annotateText(r'$\copyright$ Frederic Snyers ([email protected])', subPlots[index], 1, -0.22, 'right')
        mPlt.text(0, -0.125, r'$\copyright$ Alain Muls ([email protected])', horizontalalignment='left', verticalalignment='bottom', transform=ax.transAxes, alpha=0.5, fontsize='x-small')
        mPlt.text(1, -0.125, r'$\copyright$ Frederic Snyers ([email protected])', horizontalalignment='right', verticalalignment='bottom', transform=ax.transAxes, alpha=0.5, fontsize='x-small')

        leg = plt.legend(shadow=True, bbox_to_anchor=(1.01, 1), loc=3)
        dateString = georange[index][0][0].strftime("%d/%m/%Y")
        plt.xlabel('Time [hh:mm:ss] of ' + dateString)
        suplabel('y', 'geo - pseudo (km)')
        # plt.ylabel('geo - pseudo (km)')
        plt.show()
Пример #2
0
    # print 'rawPR = %s\n' % dataMeas['MEAS_CODE']

    # find list of SVIDs observed
    SVIDs = sbf2stf.observedSatellites(dataMeas['MEAS_SVID'], verbose)

    signalTypes = sbf2stf.observedSignalTypes(dataMeas['MEAS_SIGNALTYPE'],
                                              verbose)
    # print "signalTypes %s" % signalTypes
    indexSignalType = []
    dataMeasSignalType = []

    for SVID in SVIDs:
        WEEK = dataMeas['MEAS_WNC'][0]
        DAY = gpstime.DOWFromWT(dataMeas['MEAS_TOW'][0])
        # print WEEK, DAY
        gnssSyst, gnssSystShort, gnssPRN = mSSN.svPRN(SVID)
        PRN = gnssSystShort + str(gnssPRN)
        COEF, sat, TIME = SP3ordinate.getlagrange(PRN, WEEK, DAY)
        georange = []
        pseudorange = []
        indexSVID = sbf2stf.indicesSatellite(SVID, dataMeas['MEAS_SVID'],
                                             verbose)
        dataMeasSVID = dataMeas[indexSVID]
        signalTypesSVID = sbf2stf.observedSignalTypes(
            dataMeasSVID['MEAS_SIGNALTYPE'], verbose)
        for index, signalType in enumerate(signalTypes):
            timeSVID = []
            indexSignalType = sbf2stf.indicesSignalType(
                signalType, dataMeasSVID['MEAS_SIGNALTYPE'], verbose)
            dataMeasSVIDSignalType = dataMeasSVID[indexSignalType]
            for count in range(0, len(dataMeasSVIDSignalType)):
Пример #3
0
def plotRange(SVID, signalTypes, georange, pseudorange, Last):
    """
    plot Geometrical range vs Pseudorange per satellite and signaltype

    """
    # plt.style.use('BEGPIOS')
    plt.style.use('ggplot')
    plt.figure(1)

    plt.suptitle(
        'Geometrical range vs Pseudorange as function of satellite and signaltype',
        fontsize=20)

    subPlots = []
    for index, signalType in enumerate(signalTypes):
        subPlots.append(plt.subplot(len(signalTypes), 1, index + 1))
        # utcgeo = []
        # print "time geo:", pseudorange[index][0]
        print len(georange[index][1])
        print len(pseudorange[index][1])
        DIFF = []
        for counter in range(0, len(georange[index][1])):
            DIFF.append(georange[index][1][counter] -
                        pseudorange[index][1][counter] / 1000)
        plt.plot(georange[index][0],
                 DIFF,
                 label='geo - pr ' + str(ssnConstants.svPRN(SVID)[1]) +
                 str(ssnConstants.svPRN(SVID)[2]))

        # plt.plot(georange[index][0], georange[index][1],
        #          label='delta range ' + str(ssnConstants.svPRN(SVID)[1]) + str(ssnConstants.svPRN(SVID)[2]))
        # plt.plot(pseudorange[index][0], pseudorange[index][1]/1000,
        #          label='pseudorange of: ' + str(ssnConstants.svPRN(SVID)[1]) + str(ssnConstants.svPRN(SVID)[2]))

        # for count in range(0, len(dataMeasSVID[index])):
        #     utc.append(gpstime.UTCFromWT(float(georange[index]['MEAS_WNC'][count]), float(dataMeasSVID[index]['MEAS_TOW'][count])))
        #     # utc.append(str(gpstime.UTCFromWT(float(weeknr[count]), float(tow[count])).time()))

    if Last == 1:
        # mPlt.annotateText(r'$\copyright$ Alain Muls ([email protected])', subPlots[index], 0, -0.22, 'left')
        # mPlt.annotateText(r'$\copyright$ Frederic Snyers ([email protected])', subPlots[index], 1, -0.22, 'right')
        mPlt.text(0,
                  -0.125,
                  r'$\copyright$ Alain Muls ([email protected])',
                  horizontalalignment='left',
                  verticalalignment='bottom',
                  transform=ax.transAxes,
                  alpha=0.5,
                  fontsize='x-small')
        mPlt.text(1,
                  -0.125,
                  r'$\copyright$ Frederic Snyers ([email protected])',
                  horizontalalignment='right',
                  verticalalignment='bottom',
                  transform=ax.transAxes,
                  alpha=0.5,
                  fontsize='x-small')

        leg = plt.legend(shadow=True, bbox_to_anchor=(1.01, 1), loc=3)
        dateString = georange[index][0][0].strftime("%d/%m/%Y")
        plt.xlabel('Time [hh:mm:ss] of ' + dateString)
        suplabel('y', 'geo - pseudo (km)')
        # plt.ylabel('geo - pseudo (km)')
        plt.show()
Пример #4
0
    dataMeas['MEAS_CODE'] = sbf2stf.removeSmoothing(dataMeas['MEAS_CODE'], dataExtra['EXTRA_SMOOTHINGCORR'], dataExtra['EXTRA_MPCORR'])
    # print 'rawPR = %s\n' % dataMeas['MEAS_CODE']

    # find list of SVIDs observed
    SVIDs = sbf2stf.observedSatellites(dataMeas['MEAS_SVID'], verbose)

    signalTypes = sbf2stf.observedSignalTypes(dataMeas['MEAS_SIGNALTYPE'], verbose)
    # print "signalTypes %s" % signalTypes
    indexSignalType = []
    dataMeasSignalType = []

    for SVID in SVIDs:
        WEEK = dataMeas['MEAS_WNC'][0]
        DAY = gpstime.DOWFromWT(dataMeas['MEAS_TOW'][0])
        # print WEEK, DAY
        gnssSyst, gnssSystShort, gnssPRN = mSSN.svPRN(SVID)
        PRN = gnssSystShort + str(gnssPRN)
        COEF, sat, TIME = SP3ordinate.getlagrange(PRN, WEEK, DAY)
        georange = []
        pseudorange = []
        indexSVID = sbf2stf.indicesSatellite(SVID, dataMeas['MEAS_SVID'], verbose)
        dataMeasSVID = dataMeas[indexSVID]
        signalTypesSVID = sbf2stf.observedSignalTypes(dataMeasSVID['MEAS_SIGNALTYPE'], verbose)
        for index, signalType in enumerate(signalTypes):
            timeSVID = []
            indexSignalType = sbf2stf.indicesSignalType(signalType, dataMeasSVID['MEAS_SIGNALTYPE'], verbose)
            dataMeasSVIDSignalType = dataMeasSVID[indexSignalType]
            for count in range(0, len(dataMeasSVIDSignalType)):
                timeSVID.append(gpstime.UTCFromWT(float(dataMeasSVIDSignalType['MEAS_WNC'][count]), float(dataMeasSVIDSignalType['MEAS_TOW'][count])))
            # COORD = []
            print "Interpolating Values"