Affichage de l'altitude DEM-MNT

Si vous pensez avoir détecté un bug, n'hésitez pas à en faire part ici, en donnant toutes les précisions nécessaires

Affichage de l'altitude DEM-MNT

Postby mirelo » 28 Feb 2011, 20:58

Bjrbsr,
Venant de découvrir la magie de l'affichage de l'altitude, :shock: donnée par le modèle numérique d'élévation (DEM-MNT) SRTM.hgt, je suis aussitôt parti à l'assaut du Mont-Blanc ou, plus exactement, de l'Aiguille du Midi. :geek:
Tout allait bien jusqu'au Glacier Rond, :P car en arrivant près du pylône (N45.88105°, E6.87690°),
je suis tombé dans une crevasse de plusieurs kilomètres de profondeur. :o
Heureusement, tout ça n'était que virtuel ! :lol:
Je constate alors que dans cette région : des valeurs sont correctes (en particulier autour du Mont-Blanc),
d'autres manquent et enfin, d'autres sont aberrantes. :roll:
S'agit-il d'une erreur de calcul ou de données erronées ? :?
Je m'en vais explorer le fichier hgt pour essayer de comprendre l'origine de ce dysfonctionnement. ;)
Quelqu'un aurait-il une réponse :?:
Ce qui distingue la jeunesse de la vieillesse,
c'est la curiosité.
mirelo
 
Posts: 608
Joined: 03 Jan 2011, 09:12
Location: qqpart en Europe

Re: Affichage de l'altitude DEM-MNT

Postby jcr83 » 28 Feb 2011, 21:14

Il faut que tu installes des fichiers DEM complets. Dans certains, il manque des valeurs ("No data"). De toutes façons, le DEM avec une grille de 90 m est excellent en plaine, mais inutilisable en montagne. Je te conseille donc de le tester ailleurs que dans le massif du Mont-Blanc.
Lire : http://en.wikipedia.org/wiki/Shuttle_Ra ... hy_Mission , paragraphe "No-data areas".
jcr83
Site Admin
 
Posts: 1164
Joined: 25 Oct 2010, 16:42

Re: Affichage de l'altitude DEM-MNT

Postby mirelo » 01 Mar 2011, 12:09

L'existence de ces "No-data areas" ne m'avait pas échappé, pas plus que le fait que cette absence de données soit représentée dans les fichiers hgt par la valeur symbolique de -32768 m.
Mais ce que je n'avais encore compris, c'est que ton algorithme d'interpolation utilise cette valeur pour calculer les altitudes intermédiaires, d'où cette plongée vertigineuse (limitée, semble-t-il, à -9999 m) !
Ne serait-il pas préférable de masquer ces altitudes fantaisistes, mais peut-être n'est-il pas possible de faire autrement ?
En tout cas maintenant, je sais de quoi il s'agit.
Tu parles de DEM complet, à quoi fais-tu allusion ?
Ce qui distingue la jeunesse de la vieillesse,
c'est la curiosité.
mirelo
 
Posts: 608
Joined: 03 Jan 2011, 09:12
Location: qqpart en Europe

Re: Affichage de l'altitude DEM-MNT

Postby jcr83 » 01 Mar 2011, 12:17

Oui, bien sûr, je peux désactiver l'affichage si au moins l'une des valeurs utilisées dans l'interpolation bilinéaire est égale à -32768. En fait, j'avais ajouté cette option à titre expérimental l'an dernier, mais comme je n'avais eu pratiquement aucun retour, je n'y avais plus travaillé. Je peux facilement faire la modification pour la version 0.5.1 finale.

Une interpolation bicubique serait peut-être plus adaptée. Quelqu'un a des compétences dans ce domaine ?

Il existe de nombreux sites qui proposent des fichiers DEM, certains ont retraité les fichiers pour supprimer les no-data. C'est cela que j'appelais des fichiers complets.
jcr83
Site Admin
 
Posts: 1164
Joined: 25 Oct 2010, 16:42

Re: Affichage de l'altitude DEM-MNT

Postby mirelo » 01 Mar 2011, 13:02

Je n'osais pas te le proposer. L'interpolation bi-cubique sur une grille régulière est relativement simple et j'ai justement écrit un script en Python pour la faire sur la base Alti250 de l'IGN. Je suis donc en train de l'adapter à la base SRTM que j'ai découverte il y a peu. Je te l'enverrai bientôt.
Ce serait bien aussi que cette altitude soit calculée lors de la création d'un PDI.
Ce qui distingue la jeunesse de la vieillesse,
c'est la curiosité.
mirelo
 
Posts: 608
Joined: 03 Jan 2011, 09:12
Location: qqpart en Europe

Re: Affichage de l'altitude DEM-MNT

Postby jcr83 » 01 Mar 2011, 14:07

Très bonne nouvelle ! Il faudrait que tu me donnes les formules pour les grilles au pas de 1" et au pas de 3", car ttMaps peut utiliser les deux. Tu peux trouver des grilles au pas de 1" sur le site http://www.viewfinderpanoramas.org/dem3.html
Ce sera pour la prochaine version de ttMaps (0.5.2 ou 0.6), trop tard pour la 0.5.1 !
jcr83
Site Admin
 
Posts: 1164
Joined: 25 Oct 2010, 16:42

Re: Affichage de l'altitude DEM-MNT

Postby mirelo » 06 Mar 2011, 11:54

@jcr83
Voici l'algorithme d'interpolation bi-cubique que je propose pour estimer l'altitude Z d'un point de coordonnées Lat, Long :
NS = partie entière de Lat, Phi = partie décimale de Lat
EW = partie entière de Long, Lambd = partie décimale de Long
(en tenant compte du signe)
NS et EW donnent le nom du fichier .hgt concerné
Conversion de ces coordonnées en unités de la grille (3" ou 1") :
X = Lambd * 1200 (ou 3600)
Y = Phi * 1200 (ou 3600)

Position du point sur la grille :
X0 = partie entière de X, (X - X0) = partie décimale de X
Y0 = partie entière de Y, (Y - Y0) = partie décimale de Y

Le point (X,Y) se trouve à l'intérieur de la maille de diagonale [(X0,Y0) (X0+1,Y0+1)] et on doit connaître l'altitude des 16 points compris dans le carré [(X0-1,Y0-1) (X0+2,Y0+2)] qui entoure cette maille.
Une altitude Zij est donnée par sa position POSij dans le fichier .hgt :
POSij = 2 * (1201 * (1200 - Yi) + Xj) (ou 3601 et 3600)
Pour chacune des 4 valeurs (Y0-1,Y0,Y0+1, Y0+2) de Yi, on calcule les coefficients Ai, Bi et Ci de la cubique passant par Zi0 et Zi0+1 et tangente aux paraboles passant par (Zi0-1, Zi0, Zi0+1) et (Zi0, Zi0+1, Zi0+2) avec les formules suivantes :
Ci = (Zi0+1 - Zi0-1) / 2
Ai = (Zi0+2 - Zi0) / 2 - 2 * (Zi0+1 - Zi0) + Ci
Bi = (Zi0+1 - Zi0) - Ai - Ci

L'altitude intermédiaire Zi est donnée par :
Zi = ((Ai * (X - X0) + Bi) * (X - X0) + Ci ) * (X - X0) + Zi0
Les 4 valeurs Z0-1, Z0, Z0+1 et Z0+2 permettent de calculer
C = (Z0+1 - Z0-1) / 2
A = (Z0+2 - Z0) / 2 - 2 * (Z0+1 - Z0) + C
B = (Z0+1 - Z0) - A - C
Z = ((A * (Y - Y0) + B) * (Y - Y0) + C ) * (Y - Y0) + Z0


Je termine un petit programme en Python qui affichera le profil d'un parcours joignant deux points en ligne droite, permettant d'illustrer la pertinence de cet algorithme.
Last edited by mirelo on 13 Mar 2011, 23:19, edited 1 time in total.
Ce qui distingue la jeunesse de la vieillesse,
c'est la curiosité.
mirelo
 
Posts: 608
Joined: 03 Jan 2011, 09:12
Location: qqpart en Europe

Re: Affichage de l'altitude DEM-MNT

Postby mirelo » 07 Mar 2011, 19:16

Voici 2Altihgt0.py :
voir ici : arrow: http://ttmaps.free.fr/forums/viewtopic.php?f=37&t=120&start=10#p881
qui affiche le profil STRM d'un parcours en ligne droite entre 2 points situés dans le même rectangle hgt.
S'agissant d'une simple ébauche, il ne franchit pas les limites définies par ces fichiers (les degrés du 2e point ne sont pas pris en compte), et ne gère pas les données absentes.
Placer le programme dans le dossier contenant les fichiers .hgt.
Entrer les coordonnées (latitude longitude) des 2 points. La distance qui les sépare est alors affichée.
Reste à entrer le pas souhaité pour l'interpolation (en m).
J'attends vos remarques. ;)
Last edited by mirelo on 08 Sep 2013, 19:09, edited 4 times in total.
Ce qui distingue la jeunesse de la vieillesse,
c'est la curiosité.
mirelo
 
Posts: 608
Joined: 03 Jan 2011, 09:12
Location: qqpart en Europe

Re: Affichage de l'altitude DEM-MNT

Postby mirelo » 07 Mar 2011, 23:58

Une version un peu plus perfectionnée permet d'afficher le profil d'un itinéraire (ici celui que j'ai pu créer à partir de la trace que JOS avait postée sur ce forum il y a quelques semaines), à comparer avec le profil de cette trace affiché par ttMaps.
Itinéraire.jpg
Itinéraire.jpg (36.26 KiB) Viewed 7289 times

Ce sera bien quand ttMaps pourra en faire autant ;)
Ce qui distingue la jeunesse de la vieillesse,
c'est la curiosité.
mirelo
 
Posts: 608
Joined: 03 Jan 2011, 09:12
Location: qqpart en Europe

Re: Affichage de l'altitude DEM-MNT

Postby jcr83 » 08 Mar 2011, 17:52

Bonjour,
J'obtiens des résultats bizarres avec ton script :
Code: Select all
$ python 2Altihgt0.py
P : lat / long : 43.5 6.6
P : lat / long : 43.51 6.61
1372
pas : 1
mini, maxi :  486 1614

J'utilise les fichiers au pas de 1" disponibles sur le site http://www.viewfinderpanoramas.org/dem3.html

Voici le résultat :
dem.jpg
test DEM
dem.jpg (9.7 KiB) Viewed 7278 times
jcr83
Site Admin
 
Posts: 1164
Joined: 25 Oct 2010, 16:42

Next

Return to Problèmes avec ttMaps

Who is online

Users browsing this forum: No registered users and 1 guest

cron