diff --git a/app/winapp/rtkpost/postmain.cpp b/app/winapp/rtkpost/postmain.cpp index ae3653eaa..2143784b6 100644 --- a/app/winapp/rtkpost/postmain.cpp +++ b/app/winapp/rtkpost/postmain.cpp @@ -894,6 +894,11 @@ int __fastcall TMainForm::GetOption(prcopt_t &prcopt, solopt_t &solopt, prcopt.maxgdop =RejectGdop; prcopt.maxinno =RejectThres; prcopt.outsingle=OutputSingle; + prcopt.wlmodear=0; + if (AmbRes>3) { + prcopt.modear=ARMODE_WL; + if(AmbRes==5) prcopt.wlmodear=1; + } if (BaseLineConst) { prcopt.baseline[0]=BaseLine[0]; prcopt.baseline[1]=BaseLine[1]; @@ -916,7 +921,7 @@ int __fastcall TMainForm::GetOption(prcopt_t &prcopt, solopt_t &solopt, else if (RefPosType<=2) { for (int i=0;i<3;i++) prcopt.rb[i]=RefPos[i]; } - else prcopt.refpos=RefPosType-2; + else prcopt.refpos=RefPosType==6?6:RefPosType-2; if (RovAntPcv) { strcpy(prcopt.anttype[0],RovAnt.c_str()); diff --git a/app/winapp/rtkpost/postopt.cpp b/app/winapp/rtkpost/postopt.cpp index 5be742db4..b82404770 100644 --- a/app/winapp/rtkpost/postopt.cpp +++ b/app/winapp/rtkpost/postopt.cpp @@ -632,8 +632,16 @@ void __fastcall TOptDialog::LoadOpt(AnsiString file) PosOpt4 ->Checked =prcopt.posopt[3]; PosOpt5 ->Checked =prcopt.posopt[4]; PosOpt6 ->Checked =prcopt.posopt[5]; - - AmbRes ->ItemIndex =prcopt.modear; + + if(prcopt.modear>ARMODE_FIXHOLD) { + if(prcopt.wlmodear==0) { + AmbRes ->ItemIndex =4; + } else { + AmbRes ->ItemIndex =5; + } + } else { + AmbRes ->ItemIndex =prcopt.modear; + } GloAmbRes ->ItemIndex =prcopt.glomodear; BdsAmbRes ->ItemIndex =prcopt.bdsmodear; ValidThresAR ->Text =s.sprintf("%.3g",prcopt.thresar[0]); @@ -703,7 +711,7 @@ void __fastcall TOptDialog::LoadOpt(AnsiString file) IntpRefObs ->ItemIndex =prcopt.intpref; SbasSat ->Text =s.sprintf("%d",prcopt.sbassatsel); RovPosType ->ItemIndex =prcopt.rovpos==0?0:prcopt.rovpos+2; - RefPosType ->ItemIndex =prcopt.refpos==0?0:prcopt.refpos+2; + RefPosType ->ItemIndex =prcopt.refpos==0?0:prcopt.refpos==POSOPT_RINEX_DYN?6:prcopt.refpos+2; RovPosTypeP =RovPosType->ItemIndex; RefPosTypeP =RefPosType->ItemIndex; SetPos(RovPosType->ItemIndex,editu,prcopt.ru); @@ -779,6 +787,11 @@ void __fastcall TOptDialog::SaveOpt(AnsiString file) // prcopt.mapfunc =MapFunc ->ItemIndex; prcopt.modear =AmbRes ->ItemIndex; + prcopt.wlmodear=0; + if(AmbRes->ItemIndex>3) { + prcopt.modear=ARMODE_WL; + if(AmbRes->ItemIndex==5) prcopt.wlmodear=1; + } prcopt.glomodear=GloAmbRes ->ItemIndex; prcopt.bdsmodear=BdsAmbRes ->ItemIndex; prcopt.thresar[0]=str2dbl(ValidThresAR->Text); @@ -843,7 +856,7 @@ void __fastcall TOptDialog::SaveOpt(AnsiString file) prcopt.intpref =IntpRefObs->ItemIndex; prcopt.sbassatsel=SbasSat->Text.ToInt(); prcopt.rovpos=RovPosType->ItemIndex<3?0:RovPosType->ItemIndex-2; - prcopt.refpos=RefPosType->ItemIndex<3?0:RefPosType->ItemIndex-2; + prcopt.refpos=RefPosType->ItemIndex<3?0:RefPosType->ItemIndex==6?POSOPT_RINEX_DYN:RefPosType->ItemIndex-2; if (prcopt.rovpos==0) GetPos(RovPosType->ItemIndex,editu,prcopt.ru); if (prcopt.refpos==0) GetPos(RefPosType->ItemIndex,editr,prcopt.rb); diff --git a/app/winapp/rtkpost/postopt.dfm b/app/winapp/rtkpost/postopt.dfm index 31e38bdef..0632e5cb5 100644 --- a/app/winapp/rtkpost/postopt.dfm +++ b/app/winapp/rtkpost/postopt.dfm @@ -535,7 +535,8 @@ object OptDialog: TOptDialog 'Continuous' 'Instantaneous' 'Fix and Hold' - 'PPP-AR') + 'Wide Lane' + 'Wide Lane with Fix and Hold') end object ValidThresAR: TEdit Left = 248 @@ -1260,7 +1261,7 @@ object OptDialog: TOptDialog Caption = 'Delta-E/N/U (m)' end object Label24: TLabel - Left = 149 + Left = 231 Top = 17 Width = 31 Height = 13 @@ -1351,7 +1352,7 @@ object OptDialog: TOptDialog object RefPosType: TComboBox Left = 6 Top = 14 - Width = 137 + Width = 219 Height = 21 Style = csDropDownList ItemIndex = 0 @@ -1364,10 +1365,11 @@ object OptDialog: TOptDialog 'X/Y/Z-ECEF (m)' 'Average of Single Position' 'Get from Position File' - 'RINEX Header Postion') + 'RINEX Header Postion' + 'RINEX Header Position and Site Occupation Events') end object DatumRef: TComboBox - Left = 186 + Left = 268 Top = 14 Width = 76 Height = 21