Let f : X --> X be an endomorphism of a normal projective variety defined over a global field K, and let D_0,D_1,D_2,... be divisor classes that form a Jordan block with eigenvalue b for the action of f^* on Pic(X) tensored with C. We construct appropriately normalized canonical heights h_0,h_1,h_2,... associated to D_0,D_1,D_2,... and satisfying Jordan transformation formulas h_k(f(x)) = b h_k(x) + h_{k-1}(x). As an application, we prove that for every x in X, the arithmetic degree a_f(x) exists, is an algebraic integer, and takes on only finitely many values as x varies over X. Further, if X is an abelian variety defined over a number field and D is a nonzero nef divisor, we characterize points satisfying h_D(x)=0, and we use this characterization to prove that if the f-orbit of x is Zariski dense in X, then a_f(x) is equal to the dynamical degree of f.