Accueil > A propos... > Techniques > L’altitude

L’altitude

Publié le 12 mai 2015 , par DEGOY Bertrand dans Techniques

Le site chemindeleau.com présente les données géographiques en deux dimensions, comme sur une carte classique. Dans ce type de présentation, l’altitude est "dessinée" sur la carte.

Cet article traite des développements en cours pour intégrer l’altitude de façon interactive dans la cartographie du site. Il s’agira également de lever l’ambiguïté entre l’altitude fournie par le GPS et celle portée sur les cartes.


Les courbes de niveau apparaissent sur certains fonds de carte, et aussi la cote de certains points remarquables, dont les sommets. Mais ce ne sont que des inscriptions "dessinées" sur le fond de carte. Ce ne sont pas des données tabulées pour chaque point géographique.

La cartographie du site chemindeleau.com va progressivement offrir les fonctionnalités suivantes :
- altitude "au clic",
- profil d’altitude le long d’un tracé,
...

Altitude "au clic"

Depuis quelques temps déjà, un clic en un point quelconque de la carte fait apparaître la position (latitude et longitude) exprimée en degrés décimaux. L’altitude, exprimée en mètres, apparait maintenant.

Techniques employées, (im)précision

Le résultat est obtenu en interrogeant G... Elevation API.
Cette solution a l’avantage de la simplicité, mais se heurte aux limitations de volume imposées par G...

L’altitude fournie est une moyenne entre 4 points les plus proches dans un maillage de l’ordre de 100m. Il y a donc, selon la pente du lieu, des erreurs de quelques mètres. De plus, il existe un doute sur la référence (voir plus loin). Cela peut faire illusion en pleine nature, mais quand on parcourt la surface d’un lac, près des berges, et que l’on constate des différences de plusieurs mètres, cela est très décevant ! On ne peut pas se servir de cette altitude pour tenir des raisonnement hydrologiques. Cependant, pour avoir une idée de la difficulté d’un parcours de randonnée, cela est suffisant.

Mais ne nous plaignons pas, c’est gratuit.


Profil d’altitude le long d’un tracé

Au premier abord, il parait assez facile de relever les altitudes pour chaque point d’une ligne ou d’un polygone et de l’afficher le long du tracé ou dans un graphique. La réflexion en cours a permis de sélectionner leaflet.elevation.

Cependant, il faut considérer et résoudre les problèmes suivants :
- Les tracés doivent être simplifiés pour ne comporter que le nombre de points utiles ; un tracé fourni par un GPS par exemple, qui comprend une mesure par seconde, comporte un bien trop grand nombre de points.
- Le nombre de points traités dans le tracé doit dépendre de l’échelle,
- La limitation du nombre de requêtes quotidiennes imposée par G. ne permet pas d’utiliser le même principe que pour l’altitude ’au clic’.
- La précision obtenue avec G... Elevation API est aléatoire ; il faut travailler avec un maillage plus serré et interpoler entre les plus proches avec discernement.
- Le système d’altitude doit être précisé et des corrections apportées.

Développement à venir

Pour toutes ces raisons, le développement en cours comprend, côté serveur :
- la création d’un web-service "propriétaire", donc sans limitation de volume ;
- la création d’une base de données d’élévations avec un meilleur maillage,
- la mention de paramètres attachés à l’altitude fournie, tels que le système d’altitude, l’origine et le moyen de mesure, et la précision estimée etc..

Côté client, les profils seront simplifiés en tenant compte de l’échelle afin d’optimiser le temps de traitement et d’affichage. L’altitude "au clic" bénéficiera d’une interpolation adaptée.


Pour les geeks ...

Voici le code de l’infobulle ’au clic’, à insérer dans le modèle de la carte du plugin GIS pour SPIP. Notez l’utilisation du proxy CORS crossorigine.me pour contourner la limitation imposée par la règle "same origine policy".

function onClick(e){
   // Google Elevation API.
   var url = "https://maps.googleapis.com/maps/api/elevation/json?locations=" + e.latlng.lat + "," + e.latlng.lng;
   var altitude;
   var source;    
     
   var jqxhr = $.get( 'http://crossorigin.me/' + url, function( data ) {      
       if ( data.status == 'OK' ) {       // Google Elevation
           altitude = Math.round((data.results[0].elevation)*1);
           source = 'GEA';
           popup
           .setLatLng(e.latlng)
           .setContent('Position : ' + parseFloat(e.latlng.lat).toFixed(5)
               + ', ' + parseFloat(e.latlng.lng).toFixed(5)
               + ' alt: ' + altitude + 'm'
           )
           .openOn(map[(#GET{id})]);
       } else {
           altitude = 0;
           source = data.status;
       }  
   }, "json" );
   
}

Vous avez dit altitude ?

Jusqu’à ce point, nous avons parlé de l’altitude comme s’il s’agissait d’une notion non ambigüe. En réalité, il y a différents systèmes d’altitude, et les variations de l’un à l’autre sont significatives. Si vous ne lisez pas la suite, retenez simplement que :

L’altitude donnée par le GPS n’est ni la plus courante ni la plus utile et demande une correction.


Altitude sur l’ellipsoide / altitude sur le géoïde

En premier lieu, il convient de préciser que l’altitude du système GPS, du moins quand il est réglé au système géodésique WGS84, est relative à l’ellipsoïde de ce système. Le géoïde (surface équipotentielle du champ de gravitation), correspondant au niveau moyen de la mer, s’en écarte sensiblement du fait des anomalies locales de gravité, jusqu’à quelques dizaines de mètres en certains lieux. On parle de séparation géodique.

Notons que l’IGN adopte la terminologie suivante :
- "hauteur ellipsoïdale" pour la hauteur au-dessus de l’ellipsoïde (celle du GPS),
- "altitude" pour la hauteur au-dessus du géoïde.


Altitudes classiques : le NGF

En deuxième lieu, les altitudes mesurées avant l’avènement du GPS utilisaient d’autres référentiels, le plus souvent locaux, dont les valeurs sont inscrites sur de nombreux documents, cartes, bornes ou monument sans que l’on sache toujours quelle est la référence.

En France, le système géodésique officiel est le RGF93, qui diffère très peu du WGS 84. Dans ce système, nous avons donc une altitude sur l’ellipsoïde.

Mais encore très souvent, le système de référence est le nivellement général de la France, NGF, qui fournit des altitudes sur le géoïde. D’ailleurs, la connaissance populaire assorti toujours l’altitude à l’expression "au-dessus du niveau de la mer". Il faut distinguer trois nivellement :
- en France continentale, NGF-IGN69 dont les altitudes sont rapportées au marégraphe de Marseille ;
- en Corse, NGF-IGN78 qui se rapporte au marégraphe d’Ajjaccio ;
- en Alsace, Normalnull qui se rapporte à la Mer du Nord.

Ce sont dans ces systèmes que sont exprimées les altitudes apparaissant sur les repères de nivellement, qui sont des pièces métalliques scellées dans des maçonneries, généralement à 1m du sol. Ce sont également ces altitudes qui sont portées sur les cartes "terrestres".


Verticale

Notons au passage que la verticale, axe selon lequel est mesurée l’altitude, est différente selon qu’il s’agit de l’ellipsoïde (normale au plan tangentiel) ou du géoïde (normale à la surface équipotentielle du champ de gravitation, identique à l’orientation de la force de gravité). En réalité, cette deuxième verticale ne peut être assimilée à un axe que de façon approximative car les surfaces équipotentielles du champ de pesanteur ne sont pas parallèles, ce qui amène à différencier les altitudes normale et orthométrique.
La verticale normale est la plus conforme à la réalité physique à laquelle obéit l’écoulement de l’eau puisque c’est la direction du fil à plomb ou la normale à la surface du bac de mercure.

Une autre verticale est celle, utilisée notamment en astronomie, qui est tout simplement le prolongement du rayon terrestre passant par le lieu, vers le Zénith.

Cette subtilité est mentionnée à titre de curiosité, car les corrections indiquées au paragraphe suivant prennent tout en compte.


Conversion des altitudes fournies par le GPS

Si on veut faire des raisonnements sur l’écoulement de l’eau, c’est bien l’altitude sur le géoïde qui doit être notre référence, puisque sa variation traduit la pente de la surface équipotentielle du champ de gravitation.

Pour fournir une altitude relative au niveau de la mer, certains GPS, notamment ceux qui sont utilisés par les marins et transmettent leurs données selon la norme NMEA, ont recours à une tabulation de la séparation géodique.

L’IGN fournit des Surfaces de conversion altimétriques pour la France continentale, la Corse ainsi que pour les départements et les territoires d’Outre-mer.
Ainsi, la grille RAF09 matérialise la référence d’altitude du Nivellement Général de la France (réseau NGF-IGN69) dans le système de référence géodésique RGF93/WGS84.

La carte ci-dessous montre la séparation géodique pour la France. Il faut retrancher la valeur lue sur la carte (en mètres) de la mesure du GPS (réglé sur WGS84) pour obtenir l’altitude par rapport au NGF :

Crédits: IGN
Hauteur du géoïde au-dessus de l’ellipsoïde WGS84
Retrancher la valeur indiquée de la mesure du GPS (WGS84) pour obtenir l’altitude.

Sur ce sujet, voir :
- Systèmes d’altitude (IGN).
- Grilles de conversion altimétrique (IGN).


Altitude fournie par G... elevation API

Le système d’altitude n’est pas précisé dans les spécifications (du moins je n’ai pas trouvé l’information), mais il y a tout lieu de penser qu’il s’agit d’une "altitude au-dessus du niveau de la mer".

Cela ressemble à une "altitude au dessus du niveau de la mer" valable en France puisque la surface de l’étang de Berre (qui communique avec la mer pas loin de la référence qu’est le marégraphe de Marseille) donne bien 0m.

Mais elle ne semble pas correspondre à une altitude NGF, on constate souvent des différences de quelques mètres avec les cotes indiquées sur la cartographie.

à préciser.

Dans le glossaire :
potentiel hydrogène  

Forum de discussion sur ce parcours : 

Poster un message

Positions   Recaler

Lat: 47° 57' 04.13" N
Lon: 5° 44' 45.68" E
Bourbonne-les-Bains - Fontaine chaude




http://chemindeleau.com/1272