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()
# 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)):
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()
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"