private static CoordinateTransformer CoordinateTransformer()
        {
            const double canvasMaxX = 857.8125;
              const double canvasMaxY = 20;
              const double canvasMinX = 20;
              const double canvasMinY = 688;

              const double worldMaxX = 7762;
              const double worldMaxY = 5184;
              const double worldMinX = 10;
              const double worldMinY = 10;

              var transformer = new CoordinateTransformer(worldMinX, worldMaxX, worldMinY, worldMaxY,
                                                  canvasMinX, canvasMaxX, canvasMinY, canvasMaxY);
              return transformer;
        }
        private void InitialiseTransformer()
        {
            var worldMinX = _currentTspItemManager.MinXCoordinate;
              var worldMinY = _currentTspItemManager.MinYCoordinate;
              var worldMaxX = _currentTspItemManager.MaxXCoordinate;
              var worldMaxY = _currentTspItemManager.MaxYCoordinate;

              const double margin = 20;
              const double canvasMinX = margin;
              const double canvasMinY = margin;
              var canvasMaxX = _canvas.ActualWidth - margin;
              var canvasMaxY = _canvas.ActualHeight - margin;

              // Order of canvas Y min and max arguments are swapped due to canvas coordinate
              // system (top-left is 0,0).  This "flips" the coordinate system along the Y
              // axis by making the Y scale value negative so that we have bottom-left at 0,0.
              _transformer = new CoordinateTransformer(worldMinX, worldMaxX, worldMinY, worldMaxY,
                                               canvasMinX, canvasMaxX, canvasMaxY, canvasMinY);
        }