Hi Kate,If it's possible to do this when exporting your data to XYZ, it might be the easiest way. If not you could write some Python code to apply "Euler�??Rodrigues formula". There is a nice example on Stack Overflow based on numpy (which come with the ArcGIS Python installation), see post on Stack Overflow: "Python - Rotation of 3D vector" import numpy as np
def rotation_matrix(axis,theta):
axis = axis/np.sqrt(np.dot(axis,axis))
a = np.cos(theta/2)
b,c,d = -axis*np.sin(theta/2)
return np.array([[a*a+b*b-c*c-d*d, 2*(b*c-a*d), 2*(b*d+a*c)],
[2*(b*c+a*d), a*a+c*c-b*b-d*d, 2*(c*d-a*b)],
[2*(b*d-a*c), 2*(c*d+a*b), a*a+d*d-b*b-c*c]])
v = np.array([3,5,0])
axis = np.array([4,4,1])
theta = 1.2
print(np.dot(rotation_matrix(axis,theta),v))
# [ 2.74911638 4.77180932 1.91629719]
The hardest part will probably be defining the axis and theta of the rotation... Once you have those it's a matter of looping through the data and write the rotated data to a new dataset.Another option may be using MATLAB...Kind regards,Xander