Changeset 10005 in ntrip for trunk/BNC/scripts


Ignore:
Timestamp:
Mar 16, 2023, 12:30:50 PM (21 months ago)
Author:
stuerze
Message:

ppp plot scripts updated

Location:
trunk/BNC/scripts
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/scripts/Bnc.pm

    r9910 r10005  
    304304            my @mpts_def = ();
    305305            foreach (@mpts) {
    306 
    307306                #  user:passwd@igs-ip.net:2101/ASPA0 RTCM_3.0 ASM -14.33 189.28 no 1
    308307                if ( $_ =~
     
    493492    my $epochDiff    = 0;
    494493    my (
    495          @hlp,    @EPOCHs, @N,      @E,      @U,    %SATNUM, @TRPs,
    496          @G_CLKs, @R_CLKs, @E_CLKs, @C_CLKs,
     494         @hlp,    @EPOCHs,   @N,        @E,       @U,
     495         %SATNUM, @TRPs,
     496         @CLKs,   @OFF_GLOs, @OFF_GALs, @OFF_BDSs,
    497497    );
    498     my ( @EPOCHs_G_CLK, @EPOCHs_R_CLK, @EPOCHs_E_CLK, @EPOCHs_C_CLK );
     498    my ( @EPOCHs_CLK, @EPOCHs_OFF_GLO, @EPOCHs_OFF_GAL, @EPOCHs_OFF_BDS );
    499499    my ( %AMB,          %RES,          %ELE, %ION, %BIA );
    500500    my ( $station,      $lki,          $sys, $sat, $amb );
     
    584584            push @{ $BIA{$lki}{$sys}{DATA} },  $hlp[4] + $hlp[5];
    585585        }
    586         # REC_CLK in BNC 2.13
    587         elsif ( $ln =~ /\bREC_CLK  G\b/ ) {
    588             push ( @EPOCHs_G_CLK, $epochSec );
    589             push ( @G_CLKs,       $hlp[3] + $hlp[4] );
    590         }
    591         elsif ( $ln =~ /\bREC_CLK  R\b/ ) {
    592             push ( @EPOCHs_R_CLK, $epochSec );
    593             push ( @R_CLKs,       $hlp[3] + $hlp[4] );
    594         }
    595         elsif ( $ln =~ /\bREC_CLK  E\b/ ) {
    596             push ( @EPOCHs_E_CLK, $epochSec );
    597             push ( @E_CLKs,       $hlp[3] + $hlp[4] );
    598         }
    599         elsif ( $ln =~ /\bREC_CLK  C\b/ ) {
    600             push ( @EPOCHs_C_CLK, $epochSec );
    601             push ( @C_CLKs,       $hlp[3] + $hlp[4] );
     586        elsif ( $ln =~ /\bREC_CLK\b/ ) {
     587            push ( @EPOCHs_CLK, $epochSec );
     588            push ( @CLKs,       $hlp[3] + $hlp[4] );
     589        }
     590        elsif ( $ln =~ /\bOFF_GLO\b/ ) {                # 2015-08... OFF_GLO 52.6806 -3.8042 +- 9.0077
     591            push ( @EPOCHs_OFF_GLO, $epochSec );
     592            push ( @OFF_GLOs,       $hlp[2] + $hlp[3] );
     593        }
     594        elsif ( $ln =~ /\bOFF_GAL\b/ ) {                # 2015-08... OFF_GAL 52.6806 -3.8042 +- 9.0077
     595            push ( @EPOCHs_OFF_GAL, $epochSec );
     596            push ( @OFF_GALs,       $hlp[2] + $hlp[3] );
     597        }
     598        elsif ( $ln =~ /\bOFF_BDS\b/ ) {                # 2015-08... OFF_BDS 52.6806 -3.8042 +- 9.0077
     599            push ( @EPOCHs_OFF_BDS, $epochSec );
     600            push ( @OFF_BDSs,       $hlp[2] + $hlp[3] );
    602601        }
    603602        elsif ( $ln =~ /\bSATNUM\b/ ) {                 # 2015-09... SATNUM G  8
     
    607606            push ( @TRPs, $hlp[2] + $hlp[3] );
    608607        }
    609 
    610608    }    # -----  next line  -----
    611609
     
    622620           . ", TRPs:"
    623621           . scalar @TRPs );
    624     if ( $nof_epochs != scalar @N )                          { LOGDIE "number of epochs and residuals not equal\n" }
    625     if ( $nof_epochs != scalar @TRPs )                       { LOGDIE "number of epochs and TRPs not equal\n" }
    626     if ( @G_CLKs && scalar @EPOCHs_G_CLK != scalar @G_CLKs ) { LOGDIE "number of epochs and G_CLKs not equal\n" }
    627     if ( @R_CLKs && scalar @EPOCHs_R_CLK != scalar @R_CLKs ) { LOGDIE "number of epochs and R_CLKs not equal\n" }
    628     if ( @E_CLKs && scalar @EPOCHs_E_CLK != scalar @E_CLKs ) { LOGDIE "number of epochs and E_CLKs not equal\n" }
    629     if ( @C_CLKs && scalar @EPOCHs_C_CLK != scalar @C_CLKs ) { LOGDIE "number of epochs and C_CLKs not equal\n" }
     622    if ( $nof_epochs != scalar @N )                                { LOGDIE "number of epochs and residuals not equal\n" }
     623    if ( $nof_epochs != scalar @TRPs )                             { LOGDIE "number of epochs and TRPs not equal\n" }
     624    if ( @CLKs && scalar @EPOCHs_CLK != scalar @CLKs )             { LOGDIE "number of epochs and CLKs not equal\n" }
     625    if ( @OFF_GLOs && scalar @EPOCHs_OFF_GLO != scalar @OFF_GLOs ) { LOGDIE "number of epochs and OFF_GLOs not equal\n" }
     626    if ( @OFF_GALs && scalar @EPOCHs_OFF_GAL != scalar @OFF_GALs ) { LOGDIE "number of epochs and OFF_GALs not equal\n" }
     627    if ( @OFF_BDSs && scalar @EPOCHs_OFF_BDS != scalar @OFF_BDSs ) { LOGDIE "number of epochs and OFF_BDSs not equal\n" }
    630628
    631629    my %data = (
     
    636634                 SATNUM  => \%SATNUM,
    637635                 TRPs    => \@TRPs,
    638                  G_CLKs  => \@G_CLKs,
    639                  R_CLKs  => \@R_CLKs,
    640                  E_CLKs  => \@E_CLKs,
    641                  C_CLKs  => \@C_CLKs,
     636                 CLKs    => \@CLKs,
     637                 OGRs    => \@OFF_GLOs,
     638                 OGEs    => \@OFF_GALs,
     639                 OGCs    => \@OFF_BDSs,
    642640                 RES     => \%RES,
    643641                 AMB     => \%AMB,
  • trunk/BNC/scripts/pppPlot.pl

    r9947 r10005  
    88#    - NEU displacements w.r.t. coordinates in Crd file
    99#    - A-priori + correction values of tropospheric zenith delay in [m],
    10 #    - GNSS Receiver clock errors in [m],
     10#    - Receiver clock error and offsets in [m],
    1111#    - Elevations, given per satellite
    1212#    - Ambiguities, given per satellite
     
    106106    # -----------------------------------------------------------------------------
    107107    my ( $station, $file ) = Bnc::parsePPPLogfile( $file, $sampling );
    108     my $EPOCHS       = $file->{'EPOCHS'};
    109     my $EPOCHS_G_CLK = $file->{'EPOCHS_G_CLK'};
    110     my $EPOCHS_R_CLK = $file->{'EPOCHS_R_CLK'};
    111     my $EPOCHS_E_CLK = $file->{'EPOCHS_E_CLK'};
    112     my $EPOCHS_C_CLK = $file->{'EPOCHS_C_CLK'};
    113     my %AMB          = %{ $file->{'AMB'} };
    114     my %RES          = %{ $file->{'RES'} };
    115     my %ELE          = %{ $file->{'ELE'} };
    116     my %ION          = %{ $file->{'ION'} };
    117     my %BIA          = %{ $file->{'BIA'} };
     108    my $EPOCHS         = $file->{'EPOCHS'};
     109    my $EPOCHS_OFF_GLO = $file->{'EPOCHS_OFF_GLO'};
     110    my $EPOCHS_OFF_GAL = $file->{'EPOCHS_OFF_GAL'};
     111    my $EPOCHS_OFF_BDS = $file->{'EPOCHS_OFF_BDS'};
     112    my $EPOCHS_CLK     = $file->{'EPOCHS_CLK'};
     113    my %AMB            = %{ $file->{'AMB'} };
     114    my %RES            = %{ $file->{'RES'} };
     115    my %ELE            = %{ $file->{'ELE'} };
     116    my %ION            = %{ $file->{'ION'} };
     117    my %BIA            = %{ $file->{'BIA'} };
    118118
    119119    # -----------------------------------------------------------------------------
     
    212212        $png->image( $pdf->image_png($pngName), $x, $y, $width, $height );
    213213
    214         ######### GPS CLK #####################
    215         if ( scalar @{ $file->{'G_CLKs'} } < 1 ) {
    216             DEBUG "No GPS CLKs found";
     214        ######### CLK #####################
     215        if ( scalar @{ $file->{'CLKs'} } < 1 ) {
     216            DEBUG "No CLKs found";
    217217        }
    218218        else {
    219             DEBUG "Plot GPS CLKs";
    220             $pngName = sprintf ( "%s_CLK_G.png", $station );
     219            DEBUG "Plot CLKs";
     220            $pngName = sprintf ( "%s_CLK.png", $station );
    221221            my $chartCLK = newChart($station);
    222222            $chartCLK->set( output => $pngName );
     
    224224
    225225            $dataset = Chart::Gnuplot::DataSet->new(
    226                                                      xdata   => $EPOCHS_G_CLK,
    227                                                      ydata   => $file->{'G_CLKs'},
    228                                                      title   => "GPS Receiver clock",
     226                                                     xdata   => $EPOCHS,
     227                                                     ydata   => $file->{'CLKs'},
     228                                                     title   => "Receiver clock",
    229229                                                     timefmt => '%s',
    230230                                                     style   => "linespoints",
     
    242242            $png->image( $pdf->image_png($pngName), $x, $y, $width, $height );
    243243        }
    244         ######### GLONASS CLK #####################
    245         if ( scalar @{ $file->{'R_CLKs'} } < 1 ) {
    246             DEBUG "No GLONASS CLKs found";
    247         }
    248         else {
    249             DEBUG "Plot GLONASS CLKs";
    250             $pngName = sprintf ( "%s_CLK_R.png", $station );
    251             my $chartCLK = newChart($station);
    252             $chartCLK->set( output => $pngName );
    253             $chartCLK->set( ylabel => "CLK [m]" );
    254 
    255             $dataset = Chart::Gnuplot::DataSet->new(
    256                                                      xdata   => $EPOCHS_R_CLK,
    257                                                      ydata   => $file->{'R_CLKs'},
    258                                                      title   => "GLONASS Receiver clock",
    259                                                      timefmt => '%s',
    260                                                      style   => "linespoints",
    261             );
    262             $chartCLK->plot2d($dataset);
    263             $y = $y - $dy;
    264 
    265             if ( $y < 30 / mm ) {
    266                 $page = $pdf->page();
    267                 $page->mediabox('A4');
    268                 $y = $y0;
    269             }
    270             $png = $page->gfx();
    271             LOGDIE("could not find image file: $!\n") unless -e $pngName;
    272             $png->image( $pdf->image_png($pngName), $x, $y, $width, $height );
    273         }
    274         ######### Galileo CLK #####################
    275         if ( scalar @{ $file->{'E_CLKs'} } < 1 ) {
    276             DEBUG "No Galileo CLKs found";
    277         }
    278         else {
    279             DEBUG "Plot Galileo CLKs";
    280             $pngName = sprintf ( "%s_CLK_E.png", $station );
    281             my $chartCLK = newChart($station);
    282             $chartCLK->set( output => $pngName );
    283             $chartCLK->set( ylabel => "CLK [m]" );
    284 
    285             $dataset = Chart::Gnuplot::DataSet->new(
    286                                                      xdata   => $EPOCHS_E_CLK,
    287                                                      ydata   => $file->{'E_CLKs'},
    288                                                      title   => "Galileo Receiver clock",
    289                                                      timefmt => '%s',
    290                                                      style   => "linespoints",
    291             );
    292             $chartCLK->plot2d($dataset);
    293             $y = $y - $dy;
    294 
    295             if ( $y < 30 / mm ) {
    296                 $page = $pdf->page();
    297                 $page->mediabox('A4');
    298                 $y = $y0;
    299             }
    300             $png = $page->gfx();
    301             LOGDIE("could not find image file: $!\n") unless -e $pngName;
    302             $png->image( $pdf->image_png($pngName), $x, $y, $width, $height );
    303         }
    304 
    305         ######### Beidou CLK #####################
    306         if ( scalar @{ $file->{'C_CLKs'} } < 1 ) {
    307             DEBUG "No BDS CLKs found";
    308         }
    309         else {
    310             DEBUG "Plot BDS CLKs";
    311             $pngName = sprintf ( "%s_CLK_C.png", $station );
    312             my $chartCLK = newChart($station);
    313             $chartCLK->set( output => $pngName );
    314             $chartCLK->set( ylabel => "CLK [m]" );
    315 
    316             $dataset = Chart::Gnuplot::DataSet->new(
    317                                                      xdata   => $EPOCHS_C_CLK,
    318                                                      ydata   => $file->{'C_CLKs'},
    319                                                      title   => "BDS Receiver clock",
    320                                                      timefmt => '%s',
    321                                                      style   => "linespoints",
    322             );
    323             $chartCLK->plot2d($dataset);
    324             $y = $y - $dy;
    325 
    326             if ( $y < 30 / mm ) {
    327                 $page = $pdf->page();
    328                 $page->mediabox('A4');
    329                 $y = $y0;
    330             }
    331             $png = $page->gfx();
    332             LOGDIE("could not find image file: $!\n") unless -e $pngName;
    333             $png->image( $pdf->image_png($pngName), $x, $y, $width, $height );
     244
     245
     246        ######### OFF_GLO #####################
     247        if ( grep ( $_ eq "ALL", @plotTypes ) ) {
     248            if ( scalar @{ $file->{'OFF_GLOs'} } < 1 ) {
     249                DEBUG "No OFF_GLOs found";
     250            }
     251            else {
     252                DEBUG "Plot OFF_GLOs";
     253                my $pngName  = sprintf ( "%s_OFF_R.png", $station );
     254                my $chartOFF_GLO = newChart($station);
     255                $chartOFF_GLO->set( output => $pngName );
     256                $chartOFF_GLO->set( ylabel => "Offset GLONASS [m]" );
     257
     258                $dataset = Chart::Gnuplot::DataSet->new(
     259                                                         xdata   => $EPOCHS_OFF_GLO,
     260                                                         ydata   => $file->{'OFF_GLOs'},
     261                                                         title   => "Receiver Offset GLONASS",
     262                                                         timefmt => '%s',
     263                                                         style   => "linespoints",
     264                );
     265                $chartOFF_GLO->plot2d($dataset);    #system ("display $pngName&");
     266                $y = $y - $dy;
     267
     268                if ( $y < 30 / mm ) {
     269                    $page = $pdf->page();
     270                    $page->mediabox('A4');
     271                    $y = $y0;
     272                }
     273                $png = $page->gfx();
     274                LOGDIE("could not find image file: $!\n") unless -e $pngName;
     275                $png->image( $pdf->image_png($pngName), $x, $y, $width, $height );
     276            }
     277        }
     278
     279        ######### OFF_GAL #####################
     280        if ( grep ( $_ eq "ALL", @plotTypes ) ) {
     281            if ( scalar @{ $file->{'OFF_GALs'} } < 1 ) {
     282                DEBUG "No OFF_GALs found";
     283            }
     284            else {
     285                DEBUG "Plot OFF_GALs";
     286                my $pngName  = sprintf ( "%s_OFF_E.png", $station );
     287                my $chartOFF_GAL = newChart($station);
     288                $chartOFF_GAL->set( output => $pngName );
     289                $chartOFF_GAL->set( ylabel => "Offset Galileo [m]" );
     290
     291                $dataset = Chart::Gnuplot::DataSet->new(
     292                                                         xdata   => $EPOCHS_OFF_GAL,
     293                                                         ydata   => $file->{'OFF_GALs'},
     294                                                         title   => "Receiver Offset Galileo",
     295                                                         timefmt => '%s',
     296                                                         style   => "linespoints",
     297                );
     298                $chartOFF_GAL->plot2d($dataset);    #system ("display $pngName&");
     299                $y = $y - $dy;
     300
     301                if ( $y < 30 / mm ) {
     302                    $page = $pdf->page();
     303                    $page->mediabox('A4');
     304                    $y = $y0;
     305                }
     306                $png = $page->gfx();
     307                LOGDIE("could not find image file: $!\n") unless -e $pngName;
     308                $png->image( $pdf->image_png($pngName), $x, $y, $width, $height );
     309            }
     310        }
     311
     312        ######### OFF_BDS #####################
     313        if ( grep ( $_ eq "ALL", @plotTypes ) ) {
     314            if ( scalar @{ $file->{'OFF_BDSs'} } < 1 ) {
     315                DEBUG "No OFF_BDSs found";
     316            }
     317            else {
     318                DEBUG "Plot OFF_BDSs";
     319                my $pngName  = sprintf ( "%s_OFF_C.png", $station );
     320                my $chartOFF_BDS = newChart($station);
     321                $chartOFF_BDS->set( output => $pngName );
     322                $chartOFF_BDS->set( ylabel => "Offset Beidou [m]" );
     323
     324                $dataset = Chart::Gnuplot::DataSet->new(
     325                                                         xdata   => $EPOCHS_OFF_BDS,
     326                                                         ydata   => $file->{'OFF_BDSs'},
     327                                                         title   => "Receiver Offset Beidou",
     328                                                         timefmt => '%s',
     329                                                         style   => "linespoints",
     330                );
     331                $chartOFF_BDS->plot2d($dataset);    #system ("display $pngName&");
     332                $y = $y - $dy;
     333
     334                if ( $y < 30 / mm ) {
     335                    $page = $pdf->page();
     336                    $page->mediabox('A4');
     337                    $y = $y0;
     338                }
     339                $png = $page->gfx();
     340                LOGDIE("could not find image file: $!\n") unless -e $pngName;
     341                $png->image( $pdf->image_png($pngName), $x, $y, $width, $height );
     342            }
    334343        }
    335344
Note: See TracChangeset for help on using the changeset viewer.