Faisons un peu (juste un peu) d'algèbre.
Soit x la valeur du carré central; soit x_i, i = 1, .., 8 indexent les valeurs dans les carrés voisins; et soit r l'indice de rugosité topographique. Cette recette dit que r ^ 2 est égal à la somme de (x_i - x) ^ 2. Deux choses que nous pouvons calculer facilement sont (i) la somme des valeurs dans le voisinage, égale à s = Sum {x_i} + x; et (ii) la somme des carrés des valeurs, égale à t = Sum {x_i ^ 2} + x ^ 2. (Ce sont des statistiques focales pour la grille d'origine et pour son carré.)
L'élargissement des carrés donne
r ^ 2 = Somme {(x_i - x) ^ 2}
= Somme {x_i ^ 2 + x ^ 2 - 2 * x * x_i}
= Somme {x_i ^ 2} + 8 * x ^ 2 - 2 * x * Somme {x_i}
= [Somme {x_i ^ 2} + x ^ 2] + 7 * x ^ 2 - 2 * x * [Somme {x_i} + x - x]
= t + 7 * x ^ 2 - 2 * x * [Somme {x_i} + x] + 2 * x ^ 2
= t + 9 * x ^ 2 - 2 * x * s .
Par exemple, considérons un quartier
1 2 3
4 5 6
7 8 9
Ici, x = 5, s = 1 + 2 + ... + 9 = 45 et t = 1 + 4 + 9 + ... + 81 = 285. Ensuite
(1-5) ^ 2 + (2-5) ^ 2 + ... + (9-5) ^ 2 = 16 + 9 + 4 + 1 + 1 + 4 + 9 + 16 = 60 = r ^ 2
et l'équivalence algébrique dit
60 = r ^ 2 = 285 + 9 * 5 ^ 2 -2 * 5 * 45 = 285 + 225 - 450 = 60, ce qui vérifie.
Le workflow est donc:
Étant donné un DEM.
Calculer s = somme focale (sur 3 x 3 voisinages carrés) de [DEM].
Calculez DEM2 = [DEM] * [DEM].
Calculer t = somme focale (sur 3 x 3 voisinages carrés) de [DEM2].
Calculez r2 = [t] + 9 * [DEM2] - 2 * [DEM] * [s].
Renvoie r = Sqrt ([r2]).
Cela consiste en 9 opérations de grille au total, toutes rapides. Ils sont facilement exécutés dans la calculatrice raster (ArcGIS 9.3 et versions antérieures), la ligne de commande (toutes les versions) et Model Builder (toutes les versions).
BTW, ce n'est pas un "changement d'élévation moyen" (car les changements d'élévation peuvent être positifs et négatifs): c'est un changement d'élévation quadratique moyen. Il n'est pas égal à l '"indice de position topographique" décrit sur http://arcscripts.esri.com/details.asp?dbid=14156 , qui (selon la documentation) est égal à x - (s - x) / 8. Dans l'exemple ci-dessus, le TPI est égal à 5 - (45-5) / 8 = 0 alors que le TRI, comme nous l'avons vu, est Sqrt (60).