Elaboration des cartes de limite d'enneigement des Alpes
Objectif
Afficher en cartes 3D les limites d'enneigement des massifs Alpins sous forme de diaporama, pour visualiser l'évolution du domaine enneigé au cours d'une saison hivernale.
Contraintes
- L'extraction doit etre rapide:
. - Les cartes ne doivent pas etre trop volumineuses pour un affichage fluide en diaporama.
. - Toute la série des cartes du diaporama d'une saison pour un massif donné doivent etre vues sous un meme angle
. - Le programme doit etre réalisé avec les dernières versions de Qgis et Qgis2threejs
.
Resolution des contraintes
- Les cartes sont extraites de Qgis avec un script python traitant les 10 massifs des Alpes en 1 minute.
. - Qgis2threejs exporte des fichiers de couverture au format PNG qui pèsent 2.7 Mo. je vais les adapter au format JPEC 350 Ko soit 7 fois moins volumineuses . En adaptant le facteur de grossissement on arrive à un résultat tout à fait correct .
. - Qgis2threejs.js est construit avec une fonction qui calcule la position de la camera et la transmet sous forme d'URL. Je vais utiliser la fonction app.currentViewUrl() avec l'évenement "mouseUp" pour transferer l'URL via Ajax au programme principal.
. - Pour extraire les cartes 3D avec la version 1.4 de Qgis2threejs j'ai cosacré une partition de mon disque uniquement a cette tâche.Ce n'était pas viable et j'ai réécrit les programmes avec les nouvelles version de QGIs3.6, Python3 et Qgis2threejs 2.4
Principe
Les fichiers nécessaires sont sur Ghithub https://github.com/gknopf/cartes-enneigement
Partie extraction
L'exportation des 10 cartes 3D des Alpes est réalisée grace au plugin Qgis2Treejs vrsion 2.4. de Qgis
Le fichier necessaire pour réaliser cette tâche est carte3D.py présenté sur github .
Explication
Désactiver toutes les cartes FSC<massif><date>.tif qui sont les cartes d'enneigements des alpes au format TIF importées du site Cryoland.
Importer une nouvelle carte TIF
Gerer une grande boucle qui va traiter tous les massifs de la liste <listebassin>
Dans cette boucle, redimensionner le massif à la taille de l'écran(canvas)
Calculer la taille du canvas et son centre
exporter la scene avec l'API exporter.export de qgis2threejs
exporter la texture au format JPEG par la commande canvas.saveImage
reecriture de scenejson dans le répertoiure /data. Remplacer a0.png par <texture>.jpeg
Les fichiers a0.png sont ensuite supprimés.
Partie affichage
fichiers necessaires:
- recouvreneige.php( fichier principal)
- lstefsc.php , fsc.php(fichiers de transition) ,
- une variante de Qgis2threejs.js modifié pour extraire la position de la caméra.
explication
Le fichier recouvreneige.php va récuperer toutes les cartes disponibles d'un massif pour une saison donnée et les afficher sous forme d'un diaporama avec les boutons de commandes <precedent> et <suivant> . Le bouton <figer les cartes> fixe la camera pour orienter chaque carte selon le meme angle de vue.
Commande précédant et suivantP
Pour la visualisation d'une carte le programme va calculer la carte precédente et suivante en mémoire cache pour favoriser la fluidité de l'affichage. La 1ere carte sera plus longue a afficher mais c'est le prix a payer pour la fluidité.
Commade camera
Dans le fichier Qgis2Threejs.js la position de la caméra est calculée dans la fonction currentViewURL() qui renvoie une URL Je vais utiliser cette fonction dans l'évenement <mouseUP> pour envoer cette URL par une commande AJAX au fichier fsc.php qui la transmet au fichier principal comme variable de session.
Je vais ainsi orienter les autres cartes du diaporama avec la même position de la camera.
Cryoland Amélioration
Nouvelles cartes 3D
Amélioration des cartes qui sont maintenant construites sous forme vectorielles.
Cela permet de fortement zoomer les cartes avec peu de perte de définition. On pourra ainsi travailler sur des étendues plus grandes àl 'échelle d'un massif
Le domaine des cartes s'étend maintenant du Mercantour aux Ecrins en 6 cartes
- La Vesubie de Castérino à Isola
- La Tinée d'Isola à Estenc et à la Bonnette
- L'Ubaye
- Guillestre
- Le Queyras
- et les Ecrins jusqu'au col du Lautaret.
Le code des couleurs n'a pas changé . Les cartes sont devenues plus claires . La couche "neige", la plus profonde, est surmontée des couches routes principales , villages et hameaux, rivières , puis les cimes et en fin la couche des cols en bleu.
Les lignes de niveaux sont tracées tous les 200m pour ne pas surcharger la carte. Dans le menu de la carte, la couche plan "altitude" permet de déterminer avec précision la limite de la neige
Tous les autres paramètres ont été supprimé.
La densité des cimes et des cols est peut être un peu forte mais elle permet une bonne localisation pour un randonneur qui connaît un peu sa montagne. On pourra faire un tri par la suite mais le programme élimine déjà les chevauchement ...
Détection de la neige par satellite
Étendue de la neige sur les massifs du Mercantour
Pour cette saison 2015/2016 , une nouvelle fonction est ajoutée au site.
La répartition de la neige sur le Mercantour permettant d'évaluer la fraction de recouvrement sur les sites classiques des départs de randonnées à ski.
2 satellites ont été choisi pour couvrir les alpes
- {gallery width=120 height=90}//cryoland/cartes3D/vesubievegetal.jpeg{/gallery}
daily-FSC -Alp-Optical
c'est le satellite adapté aux Alpes et c'est celui que je vais utiliser par défaut
Dans le rayonnement visible, il faut que le ciel soit dégagé.
Résolution 250m Le couvert végétal est pris en compte pour la détection d'un sol nu ou de forets denses - {gallery width=120 height=90}/cryoland/cartes3D/vesubiemineral.jpeg{/gallery}
Pan-European-Optica
En secour, lorsque FSC ALP -Optical n'est pas disponible
résolution 500m
Pas de distinction de végétation
.3Cartes sont suffisantes pour couvrir l'ensemble du Mercantour et du massif du Haut-Var/Haut-Verdon
- La carte qui couvre Estenc Saint Dalmas le Selvage et jusqu'à la la Bonette
- Le secteur d'Isola, Auron et le Mounier
- La Vésubie qui va de Castérino à la Madone de Fenestre
Le code des couleurs
Pour se familiariser avec le code des couleurs , voici un extrait de carte Qgis de la vallée de l'Ubaye du 5 janvier 2015 . On y trouve tous les cas envisageables allant de la couverture nuageuse aux zones déneigées et boisées. Les nuances de bleu foncé vers le blanc représentant la portion d’enneigement d'un pavé de 250 *250m. Enfin la détection par satellite des forets enneigées est de couleur gris vert. Des lignes de niveau peuvent être rajoutées, pour souligner la limite de la neige
Pour le satellite PanEuropean Optical , la végétation n'est pas prise en compte et un sol sans neige apparaît grisé.
En pratique,
- Un sol moins qu'à moitié couvert de neige (couleur mauve) permet les montées en ski mais pas les descentes.
- Un sol plus qu'à moitié couvert de neige (couleur bleue): les descentes sont difficiles et les skis raclent les cailloux
- Un enneigement continu (en blanc) : il faut tenir compte de la sous couche et de la quantité de neige tombée.
Représentation 3D
Pour une meilleure lisibilité, les cartes sont visualisées dynamiquement dans une fenêtre séparée. La lecture devient incomparablement plus souple et permet de survoler les vallées de se rapprocher et d'orienter la carte pour estimer la couverture de neige à un emplacement et une altitude donnée. Cette technique est gourmande en mémoire et nécessite de télécharger un fichier d'environ 3 Mo, elle n'est accessible qu'à des ordinateurs récents et d'un bon débit internet le temps d'affichage est de l'ordre de 10 à 15 s. Pour des raison de stockage sur le serveur, je ne laisserai que les 3 dernières cartes en visualisation 3D
Les cartes se commandent à la souris,un menu d'aide est disponible en haut à droite. Les principales action sont
- molette de la souris pour le rapprochement et l'éloignement
- bouton gauche+déplacement pour les rotations et l'inclinaison
- bouton droit appuyé pour recentrer la carte
Une autre fonction intéressante est la coupe à une altitude donnée en faisant varier le curseur (Altitude dans le panneau de contrôle).
Enfin une case à cocher permet de basculer en mode plein écran
Les cartes seront mises à jour pour chaque nouvelle chute de neige ou changement significatif du temps
La carte d'Isola 2000 s'affiche dans la fenêtre intégrée ci-dessous ( il faut attendre 10 à 15 s ... je sais c'est long....) les autres cartes s'affichent dans des fenêtres séparées en cliquant sur les liens.
2jours plus tard... Ça y est j'ai réussi à réduire la taille des cartes sans perte notable à l’œil en transformant le raster de sortie au format image Jpeg base64 et en simplifiant la géométrie. Les cartes 3d ne pèse plus que 600Ko au lieu de 2.7 Mo précédemment . La procédure nécessite des manipulations supplémentaires mais tout le monde pourra les lire.
Encore mieux.. Carrément en image Jpeg . Encore 50 Ko de gagné.
Lien vers la carte dynamique de la Vésubie du 2015-12-01
Lien vers la carte dynamique Estenc du 2015-12-01
Carte 3D secteur isola 2015-12-01
Cryoland-Qgis
Cartes plus lisibles
Pour ceux qui ne connaissent pas Cryoland commencer par lire cette page
QGIS
QGIS (Systeme d'information géographique) permet de retravailler les cartes issues de Cryoland dans le but de visualiser le couvert de la neige au niveau d'une vallée.
Les principales interventions pour y parvenir consistent à
- Ajouter une carte IGN pour se situer
- Ajouter un MNT (mouvement naturel de terrain pour déterminer les altitudes.
- Importer le FSC ( Fractional Snow Cover) FSC_Alps_ Optical d'un pas de grille de 250m
Les cartes issues de Qgis peuvent être zoomées et déplacées. La visualisation en 3 dimensions est également rapide et très visuelle en local.
Mais ce programme lourd et qui demande une bonne connaissance pour le manipuler, ne peut être mis sur un site Internet. Ce sont donc des cartes extraites de Qgis qui sont représentées sur le site.
Pour une meilleure lisibilité quelques modifications ont été apportées.
- Suppression des couleurs de la carte Ign pour ne pas interférer avec les couleurs choisies dans la couche Cryoland.
- Simplifications des couches de neiges par tranches de 10 %. On ne garde que les couches a moitié couvertes de neige ( non skiables) et la couche couverte 50-90% où le ski est possible.
- Ces deux tranches, à la limite de la neige, sont colorées en violet et bleu pour bien marquer cette limite importante.
- Le contraste de la couche Ign et la transparence des couleurs de la couche cryoland ont été renforcées. permettent de mieux lire le nom des lieux-dit et des sommets. C'est pourquoi les couleurs paraissent si pâles.
FSC_ALPS OPTICAL. Vallée de la Tinée le 12 Février 2015. Présentation 3D
Cryoland
Détection satellitaire du couvert nival
CryoLand http://www.cryoland.eu/ vise à développer, mettre en œuvre et valider un service standardisé et durable sur la neige. Le service offre des produits géospatiaux sur la couverture saisonnière de neige, dérivés des données satellitaires d'observation de la Terre. Le résultat des chaînes de traitements opérationnelles est présenté sur des cartes interactives, via les navigateurs Web sur le site "CryoLand Géoportail".http://neso.cryoland.enveo.at/cryoland/cryoclient/ en temps quasi réel.
Principes de détection
La neige est formée de glace cristallisée et agglomérée en flocons, d’air et (quand la température est proche de 0°) d’une certaine fraction d’eau. D’autre part, selon qu’elle est fraîche ou plus ancienne, elle se compose d’un certain nombre de particules et d’impuretés (poussières, pollens, suies etc.).
Les caractéristiques spectrales uniques de la neige sont relativement constantes suivant la surface et l’éclairement (Riggs et Hall,2004 ; A. Boos, 2009). C'est-à-dire que sa réflectance est particulièrement importante dans le visible, et est faible dans le proche infrarouge. Ainsi, on peut normalement distinguer la neige des autres surfaces par un ratio entre les réflectances du visible et de l’infrarouge. Par exemple, la distinction entre neige et nuage, matières qui reflètent toutes deux fortement dans le visible, se fait par distinction entre la valeur de leur réflectance dans le proche infrarouge (beaucoup plus forte pour les nuages). Le ratio entre reflectance visible et infrarouge est dénommé NDSI (Normalized Difference Snow Index).
D’après les études sur ce sujet, il est préférable d’utiliser pour le visible le vert (550-600 nm) ou le rouge (625.700 nm). Le bleu, quant à lui est influencé par les particules atmosphériques qui le diffusent, d’où la couleur à dominante bleue du ciel. Pour ce qui est de l’infrarouge, seule la longueur d’onde de 1.6 μm est utilisée car elle permet de distinguer les nuages de la neige.
Rendu dans les Alpes du Sud
Limite d'enneigement dans l'Embrunais
Le site de Cryoland donne une vision des grandes étendues sur les Alpes mais ne permet pas de descendre au niveau d'une vallée . pourtant les données du spectromètre "fractional Snow Cover Alps" permettent une résolution de 250 m.
L'idée est de déterminer l'altitude de la limite de la neige surtout en début et fin de saison lorsque les relevés des stations ne sont pas encore disponibles. En incluant dans QGIS un MNT (mouvement naturel de terrain ) pour la visualisation du relief et les courbes de niveau, et des cartes interactives de l'IGN jusqu'à 1/25000e pour la localisation, on pourra visualiser les cartes téléchargées sur le site de Cryoland et naviguer à l'échelle d'une vallée dans les Alpes du Sud en 2 ou 3D . La carte ci-contre est extraite de Qgis. l'enneigement est représenté en 5 classes du bleu au blanc selon le pourcentage d'enneigement de chaque pavé de 250 * 250 m
A titre d'exemple j'ai rajouté une représentation 3d de la vallée de la Tinée le 12 décembre, par ciel clair, en exagérant le relief d'un facteur 3 . Ces fichiers volumineux sont lents a s'afficher et peu exploitable sur un site web mais le chargement est très rapide en local. lien vers couvert_nival_vars 20151202
Le code des couleurs
Pour se familiariser avec le code des couleurs , voici un extrait de carte Qgis de la vallée de l'Ubaye du 5 janvier 2015 . On y trouve tous les cas envisageables allant de la couverture nuageuse aux zones déneigées et boisées. Les nuances de bleu foncé vers le blanc représentant la portion d’enneigement d'un pavé de 250 *250m. Enfin la détection par satellite des forets enneigées est de couleur gris vert. Des lignes de niveau peuvent être rajoutées, pour ne pas surcharger la ,carte elles sont dessinées tous les 500m.
Suivi d'une situation hiver 20142015
Représentation en 3d de la vallée des environs de Briancon de 3 situations en ciel clair après les chutes de neiges du 6 et 27 décembre 2014