Distance de surface sur DEM entre deux coordonnées

11

Étant donné deux coordonnées sur un modèle numérique d'élévation (DEM), comment puis-je calculer la distance réelle parcourue entre les deux emplacements, en supposant un itinéraire en ligne droite? Comment le changement de résolution de mon DEM affectera-t-il les résultats?

scw
la source

Réponses:

10

Si vous n'avez pas cette capacité intégrée dans votre SIG, mais que vous pouvez effectuer certaines opérations de base sur la grille ("algèbre cartographique"), il y a toujours une solution.

Le calcul revient à trouver la pente de l'itinéraire en chaque point. Si vous le saviez exactement , sans erreur de discrétisation, vous intégreriez la sécante de la pente. Sur une grille, l'intégrale est estimée en obtenant la moyenne de la sécante pour les cellules interceptées par l'itinéraire et en multipliant la moyenne par la longueur de l'itinéraire. (Dans l'algèbre de la carte, ce serait une "moyenne zonale" multipliée par la longueur de l'itinéraire.)

La pente de l'itinéraire n'est pas la même que la pente du DEM! Cela dépend exactement de la façon dont l'itinéraire traverse la surface. Ainsi, vous avez besoin d'informations complètes sur la "direction" de la surface, qui peuvent être décrites en termes de frappe et de pendage, de pente et d'aspect, ou au moyen d'un vecteur normal unitaire ( c'est -à- dire un champ vectoriel 3D perpendiculaire à la surface). Le moyen le plus fiable consiste à réduire le problème à un problème où vous connaissez le champ vectoriel normal. Cela signifie que vous avez un triple de nombres dans chaque cellule - représentés comme trois grilles distinctes, bien sûr - que j'appellerai (Nx, Ny, Nz). La direction de l'itinéraire (dans le plan) peut être représentée comme un vecteur unitaire (x, y, t) où (x, y) donne sa direction sur la carte. La valeur de t est la "montée" dans le sens vertical:la vitesse à laquelle la route doit remonter pour rester en surface . Ainsi, comme la vitesse 2D de l'itinéraire - sa «course» - est égale à Sqrt (x ^ 2 + y ^ 2), la pente est donnée par

(1) tan (pente) = montée / course = t / Sqrt (x ^ 2 + y ^ 2) .

Dans les calculs, t sera une grille mais le dénominateur, Sqrt (x ^ 2 + y ^ 2), n'est qu'un nombre. Si vous le calculez en utilisant la formule (4) ci-dessous, il sera égal à 1, vous pouvez donc l'oublier: t sera la tangente de la grille de pente de l'itinéraire et sec (pente) = sqrt (1 + t ^ 2) sera le grille dont vous calculez la moyenne zonale.

Il est facile de trouver t. Par définition, le vecteur direction (x, y, t) est perpendiculaire au vecteur normal. Ça signifie

0 = x * Nx + y * Ny + t * Nz, donc

(2) t = - (x * Nx + y * Ny) / Nz .

Dans le calcul, Nx, Ny et Nz sont des grilles mais x et y sont des nombres. Par conséquent, t est une grille, comme prévu. (Il n'y aura aucun problème avec la division, car ce n'est pas possible pour Nz = 0: ce serait une falaise parfaitement verticale, qui ne peut pas être représentée sur un DEM.)

Alors: comment trouvez-vous le vecteur normal (Nx, Ny, Nz) et le vecteur direction (x, y)? Généralement, un SIG calcule les grilles de pente et d'aspect (a) à partir du DEM. Exprimez chacun sous un angle. Il s'agit essentiellement de coordonnées sphériques pour le vecteur normal unitaire. Pour les aspects à l'est du nord, l'unité normale est obtenue par la conversion de coordonnées sphérique en cartésienne habituelle,

(3) (Nx, Ny, Nz) = (sin (s) * sin (a), sin (s) * cos (a), cos (s)) .

Dans ce calcul, s et a sont des grilles , il décrit donc trois expressions d'algèbre de carte distinctes pour créer trois grilles Nx, Ny et Nz.

À titre de vérification, notez que lorsque la pente est nulle (s = 0), le vecteur normal est (0,0,1), pointant vers le haut, comme il se doit. Lorsque l'aspect est nul, le vecteur normal est (0, sin (s), cos (s)) qui pointe évidemment vers le nord (direction y) et s'incline de la verticale d'un angle de s, ce qui implique que la surface s'incline de l'horizontale d'un angle de s: c'est bien sa pente.

Enfin, soit le relèvement de l'itinéraire soit b (un angle constant, à l'est du nord). Son vecteur de direction est

(4) roulement = (x, y) = (sin (b), cos (b)).

Notez que le relèvement est une paire de chiffres , pas une paire de grilles, car il décrit la direction de l'itinéraire.


Au fur et à mesure que la résolution du DEM augmente, vous pouvez observer plus de variations locales dans les pentes, provoquant l'augmentation de la pente estimée, comme le note @johanvdw. J'ai étudié ce phénomène en grossissant successivement les DEM à haute résolution et en comparant les DEM d'une zone obtenus à partir de sources différentes. J'ai trouvé que dans les zones à forte pente, les différences d'estimation des pentes peuvent être substantielles . Cela se traduira par des différences substantielles dans les estimations de la longueur des routes terrestres. Sinon, dans les zones uniformément à faible pente, les différences pourraient être sans conséquence.

Vous pouvez évaluer l'effet de la résolution de votre DEM en effectuant une étude similaire. Cela demande peu d'effort. Par exemple, estimez la longueur terrestre d'un itinéraire à l'aide du DEM, puis réestimez la longueur après avoir agrégé ce DEM en blocs de 2 x 2 (grossissement d'un facteur 2). S'il y a une différence sans conséquence entre les deux estimations, tout devrait bien se passer; si la différence est importante, il peut être utile d'obtenir un DEM de résolution plus fine pour votre travail. (Il existe des méthodes plus sophistiquées pour améliorer les estimations de pente et de longueur en exploitant le DEM que vous avez, mais il me faudrait trop de temps pour les décrire ici.)

whuber
la source
7

SAGA GIS dispose d'un module pour cela: Profil interactif

http://www.saga-gis.org/saga_modules_doc/ta_profiles/index.html

Les points résultants contiendront la distance et la distance terrestre. Si le DEM a une résolution plus grossière, votre distance terrestre sera toujours un peu plus faible (sauf si vous avez d'étranges conditions aux frontières), mais en réalité, cette différence n'est probablement pas importante. Si la zone est plutôt plate, même la distance terrestre et la distance normale seront presque les mêmes: si la pente entre deux points le long de votre ligne est par exemple de 20%, la distance terrestre ne sera que 2% plus élevée que la distance normale (sqrt ( 1 ^ 2 + 0,2 ^ 2) = 1,019).

johanvdw
la source
Le lien ci-dessus semble être rompu, mais voici des instructions pour créer un profil de terrain interactif dans SAGA.
cengel