Index: trunk/BNS/bns.cpp
===================================================================
--- trunk/BNS/bns.cpp	(revision 983)
+++ trunk/BNS/bns.cpp	(revision 984)
@@ -138,4 +138,11 @@
     int     sampl = settings.value("sp3Sampl").toInt();
     _sp3 = new bnsSP3(prep, ext, path, intr, sampl);
+  }
+
+  // Reference frame
+  // ---------------
+  _crdTrafo = false;
+  if (settings.value("refSys").toString() == "ETRS89") {
+    _crdTrafo = true;
   }
 }
@@ -435,5 +442,10 @@
   ep->position(GPSweek, GPSweeks, xB, vv);
 
-  ColumnVector dx   = xx.Rows(1,3) - xB.Rows(1,3);
+  ColumnVector xyz = xx.Rows(1,3);
+  if (_crdTrafo) {
+    crdTrafo(xyz);
+  }
+
+  ColumnVector dx   = xyz - xB.Rows(1,3);
 
   double       dClk = (xx(4) - xB(4)) * 299792458.0; 
@@ -477,2 +489,9 @@
   slotMessage("bns::slotMoveSocket");
 }
+
+// Transform Coordinates IGS -> ETRF
+////////////////////////////////////////////////////////////////////////////
+void t_bns::crdTrafo(ColumnVector& xyz) {
+
+
+}
Index: trunk/BNS/bns.h
===================================================================
--- trunk/BNS/bns.h	(revision 983)
+++ trunk/BNS/bns.h	(revision 984)
@@ -58,4 +58,5 @@
                         const QString& prn, const ColumnVector& xx, 
                         struct ClockOrbit::SatData* sd);
+  void crdTrafo(ColumnVector& xyz);
 
   QTcpServer*               _clkServer;
@@ -73,4 +74,5 @@
   bnsRinex*                 _rnx;
   bnsSP3*                   _sp3;
+  bool                      _crdTrafo;
 };
 #endif
