How do I change a UIBezierPath.currentPoint to a SKSpriteNode.position?

How do I change a UIBezierPath.currentPoint to a SKSpriteNode.position?

Here are the appropriate code snippets:

func createTrainPath() {
    
    let startX = -tracksWidth/2,
        startY = tracksPosY
    
    savedTrainPosition = CGPoint(x: startX, y: startY!)
    
    trackRect = CGRect(x: savedTrainPosition.x,
                       y: savedTrainPosition.y,
                       width: tracksWidth,
                       height: tracksHeight)
    trainPath = UIBezierPath(ovalIn: trackRect)
    trainPath = trainPath.reversing()   // makes myTrain move CW
                            
}   // createTrainPath

Followed by:

func startFollowTrainPath() {
   
    let theSpeed = Double(5*thisSpeed)

    var trainAction = SKAction.follow(
                                  trainPath.cgPath,
                                  asOffset: false,
                                  orientToPath: true,
                                  speed: theSpeed)
    trainAction = SKAction.repeatForever(trainAction)
    createPivotNodeFor(myTrain)
    myTrain.run(trainAction, withKey: runTrainKey)

}   // startFollowTrainPath

So far, so good (I think?) ...

Within other places in my code, I call:

return trainPath.currentPoint

I need to convert trainPath.currentPoint to myTrain.position ...

When I insert the appropriate print statements, I see for example:

myTrain.position = (0.0, -295.05999755859375)
trainPath.currentPoint = (392.0, -385.0)

which obviously disqualifies a simple = , as in:

myTrain.position = trainPath.currentPoint

Since this = is not correct, what is ?

After more investigation, my guess is that .currentPoint is in SKSpriteNode coordinates and .position is in SKScene coordinates.

How do I change a UIBezierPath.currentPoint to a SKSpriteNode.position?
 
 
Q