Index: /trunk/BNC/bncfigureppp.cpp
===================================================================
--- /trunk/BNC/bncfigureppp.cpp	(revision 2157)
+++ /trunk/BNC/bncfigureppp.cpp	(revision 2158)
@@ -43,4 +43,5 @@
 #include "bncfigureppp.h" 
 #include "bncsettings.h"
+#include "bncutils.h"
 
 using namespace std;
@@ -90,10 +91,10 @@
   const static double scale0  = 0.9;
   double tScale  = scale0 * _width  / _tRange;
-  double yScale  = scale0 * _height / (2.0 * _xyzMax);
+  double yScale  = scale0 * _height / (2.0 * _neuMax);
   double tOffset = _tRange / 10.0;
-  double yOffset = _xyzMax / 10.0;
+  double yOffset = _neuMax / 10.0;
 
   int tNew = int( (tt - _tMin   + tOffset) * tScale );
-  int yNew = int( (yy + _xyzMax + yOffset) * yScale );
+  int yNew = int( (yy + _neuMax + yOffset) * yScale );
 
   return QPoint(tNew, yNew);
@@ -117,18 +118,30 @@
     _tMin   = _pos[0]->time.gpssec();
 
-    // Reduced Coordinates
-    // -------------------
-    _xyzMax = 0.0;
+    _neuMax = 0.0;
+
+    double xyzRef[3];
+    xyzRef[0] = _pos[0]->xyz[0];
+    xyzRef[1] = _pos[0]->xyz[1];
+    xyzRef[2] = _pos[0]->xyz[2];
+    double ellRef[3];
+    xyz2ell(xyzRef, ellRef);
+
+    // North, East and Up differences wrt Reference Coordinates
+    // --------------------------------------------------------
     double neu[_pos.size()][3];
     for (int ii = 0; ii < _pos.size(); ++ii) {
+      double dXYZ[3];
       for (int ic = 0; ic < 3; ++ic) {
-        neu[ii][ic] = _pos[ii]->xyz[ic] - _pos[0]->xyz[ic];
-        if (fabs(neu[ii][ic]) > _xyzMax) {
-          _xyzMax = fabs(neu[ii][ic]);
+        dXYZ[ic] = _pos[ii]->xyz[ic] - xyzRef[ic];
+      }
+      xyz2neu(ellRef, dXYZ, neu[ii]);
+      for (int ic = 0; ic < 3; ++ic) {
+        if (fabs(neu[ii][ic]) > _neuMax) {
+          _neuMax = fabs(neu[ii][ic]);
         }
       }
     }
 
-    if (_xyzMax > 0.0 && _tRange > 0.0) {
+    if (_neuMax > 0.0 && _tRange > 0.0) {
 
       // x-axis
@@ -138,5 +151,5 @@
       // y-axis
       // ------
-      painter.drawLine(pltPoint(_tMin, -_xyzMax), pltPoint(_tMin, _xyzMax));
+      painter.drawLine(pltPoint(_tMin, -_neuMax), pltPoint(_tMin, _neuMax));
 
       for (int ii = 1; ii < _pos.size(); ++ii) {
Index: /trunk/BNC/bncfigureppp.h
===================================================================
--- /trunk/BNC/bncfigureppp.h	(revision 2157)
+++ /trunk/BNC/bncfigureppp.h	(revision 2158)
@@ -52,5 +52,5 @@
   QMutex           _mutex;
   QVector<pppPos*> _pos;
-  double           _xyzMax;
+  double           _neuMax;
   double           _tRange;
   double           _tMin;
