Yeah, it might not even be worth trying to calculate the orientation given that almost all of the time they're spawned facing a cardinal direction, which is really easy to figure out.
So, you can get the XYZ position from the GIT. Based on your original data...
XOrientation: 0
XPosition: 339.387878417969
YOrientation: 1
YPosition: 145.786026000977
ZPosition: 56.140998840332
That would be...
Vector(339.387878417969, 145.786026000977, 56.140998840332)
For the orientation, you can just start at 0 and and if that doesn't work, rotate to fix it.
Location(Vector(339.387878417969, 145.786026000977, 56.140998840332), 0.0)
Then if 0.0 doesn't work, I'd suggest trying 90.0, 180.0, and 270.0 (or -90.0) until you got the right one. Scripting is in standard 360 degrees, no quaternions or radians, so that's not so bad to figure out manually. Good luck.