⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rinex.h

📁 GPS的一些功能实现以及详细的源代码
💻 H
字号:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <dos.h>
#include <string.h>
#include <conio.h>
#include <malloc.h>
#include  <math.h>
#include  <dir.h>
#include <process.h>

#define RINEX_OBS  0
#define RINEX_NAV  1
#define MAXCHAN    12

static  int  dinmth[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
static  char ObsType[9][6]={"C1","L1","D1","P1","P2","L2","D2","T1","T2"};


typedef struct
{

  char FormatVersion[6],                /* A6,14X */
       FileTypeObsStr[20],               /* A1,19X ;first char must be O */
       PositionSystem[20];               /* A1,19X; first char G--GPS
							     R--Glonass
							     M--Mixed */
  char FileAbstractName[20],
       FileAgencyName[20],
       FileOpenDate[20];
  char CommentStr[60];
  char MarkerName[60],
       MarkerID[20] ;
  char ObserverName[20],
       ObserverAgencyName[40];
  char ReceiverID[20],
       ReceiverType[20],
       SoftVersion[20];
  char AntennaID[20],
       AntennaType[20];
  float AppX,  /* approx position xyz */
	AppY,
	AppZ;
  float AntHeight,
	AntEast,
	AntWest;
  int WaveFract,
      SDFreq;
  int MeasureTypeNum;
  char ObsType[9][2];
  int MeasureInterval;

  int  StartYear,StartMonth,StartDay,StartHour,StartMinute;
  double StartSecond;

  int  EndYear,EndMonth,EndDay,EndHour,EndMinute;
  double EndSecond;

  char  NumFileSV;
  int  FileSV[MAXCHAN];

} RinexObsHeaderType;

typedef struct
{
  int year,month,day,hour,minute;
  double second;
  int flag;
  int satnum;
  int PRN[MAXCHAN];
  double ca_range[MAXCHAN];
  double phase_l1[MAXCHAN];
  double doppler_l1[MAXCHAN];
  double P1_range[MAXCHAN];
  double P2_range[MAXCHAN];
  double phase_l2[MAXCHAN];
  double doppler_l2[MAXCHAN];
  double doppler_t1[MAXCHAN];
  double doppler_t2[MAXCHAN];
} RinexEpochType;


void SetRinexFileName(char *SiteName,int Session,
		   int Type,    /* 0=obsveration  1=navigation  */
		   char *RinexFile);
void ResetRinexEpoch(RinexEpochType *Epoch);
void WriteRinexObsHeaderFile(FILE *RinexRecFile, RinexObsHeaderType *Header);
void WriteRinexNavHeaderFile(FILE *RinexRecFile);
void WriteRinexObsEpochFile(FILE *RinexRecFile,RinexEpochType *Epoch);
void GetYMDHMS(int weekno,double gpstow,
	       int *year,int *month,int *day,
	       int *hour,int *minute,double *second);
char readchar(char *p);
int readint(char *p);
long readlong(char * p);
float readfloat(char * p);
double readdouble(char * p);


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -