Changeset 4338 in ntrip for trunk/BNC/src/bncutils.cpp


Ignore:
Timestamp:
Jun 24, 2012, 12:11:32 PM (12 years ago)
Author:
mervart
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bncutils.cpp

    r4278 r4338  
    408408  return ok ? 0 : 1;
    409409}
     410
     411// Topocentrical Distance and Elevation
     412////////////////////////////////////////////////////////////////////////////
     413void topos(double xRec, double yRec, double zRec,
     414           double xSat, double ySat, double zSat,
     415           double& rho, double& eleSat, double& azSat) {
     416
     417  double dx[3];
     418  dx[0] = xSat-xRec;
     419  dx[1] = ySat-yRec;
     420  dx[2] = zSat-zRec;
     421
     422  rho =  sqrt( dx[0]*dx[0] + dx[1]*dx[1] + dx[2]*dx[2] );
     423
     424  double xyzRec[3];
     425  xyzRec[0] = xRec;
     426  xyzRec[1] = yRec;
     427  xyzRec[2] = zRec;
     428
     429  double Ell[3];
     430  double neu[3];
     431  xyz2ell(xyzRec, Ell);
     432  xyz2neu(Ell, dx, neu);
     433
     434  eleSat = acos( sqrt(neu[0]*neu[0] + neu[1]*neu[1]) / rho );
     435  if (neu[2] < 0) {
     436    eleSat *= -1.0;
     437  }
     438
     439  azSat  = atan2(neu[1], neu[0]);
     440}
Note: See TracChangeset for help on using the changeset viewer.