Intégrer des prévisions météo marines et terrestres gratuites dans QGis

Dans l’article précédent nous avons vu comment Intégrer des prévisions météo marines et terrestres gratuites dans ArcGis.
Nous allons voir ici comment les intégrer dans un projet QGis. Il s’agit de données de prévisions marines à 8 jours. Ces données sont fournies par les sociétés NASCA et ACTIMAR, via les produits enav-forecast. Outre les logiciels qui utilisent ces prévisions et qui permettent leur consultation et analyse (enav-viewer, enav-forecast, enav-forecast pour iPhone, enav-Pilot), ces entreprises mettent aussi à votre disposition un accès aux données par le biais d’une connexion WFS.

Quelles données sont disponibles?

En ce qui concerne le type de données, vous accédez aux prévisions à 8 jours , toutes les 3 heures, pour les paramètres suivants:

  • hauteur (en m),direction (en °) et période des vagues (en s)
  • mer croisée (direction des vagues en °,direction de la houle en °)
  • vitesse (en nds) et direction (en °) du vent moyen
  • vitesse (en nds) des rafales de vent
  • vitesse (en nds) et direction (en °) du courant de surface
  • température (en °C) de la surface de la mer
  • température (en °C) de l’air
  • pluviométrie (en mm)

Quelle maille de données?

La maille des prévisions gratuites est de 0,5°. D’autres mailles sont disponibles mais sous condition d’abonnement (voir les abonnements).
Les prévisions couvrent le monde entier.

Fréquence de mise à jour

Les prévisions sont mises à jour quatre fois par jour.

Établir la connexion WFS

Pour établir une connexion WFS vous cliquez sur le bouton « Ajouter une couche WFS », puis cliquer sur le bouton « Nouveau » pour créer les paramètres de connexion.

configuration de la connexion WFS dans qgis

Pour le nom tapez un nom suffisamment parlant : Météo Marine NASCA, par exemple.
Pour l’URL, rentrez la chaîne suivante :
Cliquez sur OK pour fermer la configuration.
La connexion apparaît maintenant dans la liste des connexions possibles.

Avant de vous connecter

Ouvrez un projet avec le SCR Géographique WGS84. Affichez un fond de carte qui vous permette de zoomer sur la zone qui vous intéresse. Quand vous allez vous connecter sur le serveur WFS, QGis va envoyer une requête avec les coordonnées des quatre coins de votre affichage actuel. Le serveur enverra les prévisions trouvées à l’intérieur de ce rectangle vers votre machine.

Si vous êtes en projection et non en géographique, ni QGis ni le serveur feront une transformation de coordonnées.Vous n’aurez aucun résultat en retour, souvent, pas même un message d’erreur.

Il faut donc vérifier que ce que vous allez transmettre sont bien des coordonnées en degrés de latitude et longitude. Pour cela, simplement, regardez la barre d’état en bas de la fenêtre QGis: vous avez un champ « coordonnées ». Les valeurs de ce champ doivent être comprises entre -180 et 180. Si c’est le cas vous êtes bien en coordonnées géographiques.

Si vous êtes bien en coordonnées géographiques mais que vous ne zoomez pas sur la zone d’intérêt, vous risquez d’avoir une zone trop grande pour la requête. Outre le fait que cela prendra beaucoup de temps, les serveurs WFS possèdent toujours une limite en nombre d’enregistrements. Si elle est atteinte, le serveur envoie les enregistrements trouvés, puis s’arrête. Vous n’aurez pas de message d’avertissement, simplement les données seront tronquées.

Connexion au serveur WFS

Une nouvelle connexion apparaît maintenant dans la liste des connexions proposées quand vous cliquez sur le bouton « Ajouter une couche WFS ». Cliquez sur le bouton « Connexion ».
fenêtre de connexion au serveur WFS de Nasca
Vous n’allez utiliser que la couche : view_meteo99

Cliquez sur cette ligne pour la sélectionner. Décochez la case « Cache feature ».
Cliquez sur « Ajouter ».

Affichage des données des prévisions

Après quelques instants, la nouvelle couche est ajoutée dans la fenêtre cartographique de QGis.

affichage des prévisions marines dans QGis

Chaque « point » de prévisions est en réalité une collection de 66 points. Pour pouvoir visualiser les prévisions pour une heure donnée, vous devrez effectuer une sélection sur l’ensemble des données de chaque point. Faire ce travail sur les requêtes vers le serveur est trop compliqué et cela ne vaut pas la peine. La méthode la plus efficace est d’afficher l’ensemble des données dans QGis et de créer une nouvelle couche sur votre poste de travail.

Vous pouvez le faire directement en cliquant sur la légende de la couche et en sélectionnant « Sauvegarder sous… ». Mais ne vous précipitez pas, il y a d’autres petits détails à régler, et nous allons le faire d’un seul coup.

Les connexions WFS avec QGis ont un petit défaut: selon la première valeur trouvée pour un champ attributaire de la table , il définit le type de donnée. Souvent on se retrouve avec des champs numériques dans la table d’origine du serveur, mais qui sont interprétés comme des chaînes de texte par QGis, en local. Avec les prévisions marines, le problème ne se pose pas pour les valeurs de force et vitesse, qui sont toujours de s valeurs avec le point décimal. Par contre pour les valeurs de direction, qui sont des entiers, le problème se pose.
Vous aurez des valeurs de direction sous forme de chaîne de texte.Si pour un simple affichage cela ne change pas grande chose, pour afficher des flèches orientées (courants, vagues, vent) il est impossible de demander une rotation du symbole avec un champ texte. Il faut absolument que le champ direction soit numérique.

Pour résoudre ce problème, il faut créer un nouveau champ numérique et utiliser la calculatrice de champ pour calculer les valeurs à partir des chaînes de texte, et ce, pour les trois champs de direction (vagues, vent, courant).

Travail fastidieux. Donc, il faut trouver une solution moins fastidieuse. Nous avons construit un modèle de traitement avec le « Modeleur graphique » de QGis. C’est un petit fichier, que vous téléchargez en cliquant ici.

Décompressez le fichier dans un répertoire de votre choix.

Ouvrez le Modeleur Graphique:
ouverture du modeleur graphique de Qgis

Dans la fenêtre du modeleur, cliquez sur le premier bouton pour ouvrir le modèle téléchargé. Pointez sur le fichier meteoNasca.model.
Le modèle se charge.

modèle gfraphique de traitement des prévisions météo marines Nasca

Pour l’exécuter, cliquer sur le bouton de droite « Lancer le modèle ».

fenêtre d'exécution du modèle

Vérifiez que le fichier en entrée est bien la couche « view_meteo99 ».
Parcourez les répertoires pour définir l’emplacement et le nom du fichier shape qui sera créé sur votre poste.Sélectionnez « Save to file »
Cliquez sur Run
La nouvelle couche est chargée dans la fenêtre cartographique. Vous pouvez maintenant supprimer la couche WFS, ça évite de chargements chaque fois que vous changer l’emprise de la vue.

résultat de l'enregistrement des données de prévision

Symbologie des données des prévisions

Pour ce qui est des données simples (température, pluviométrie,…) la seule chose à ne pas oublier c’est que vous avez 66 points superposés à chaque endroit de prévision. Vous devez passer par une « requête de sous-ensemble » pour n’afficher qu’un pas de temps à la fois :
Propriétés de la couche -> Onglet « Général » -> Sous-ensemble (cliquez sur constructeur de requête)

construction de la requête sur la date et l'heure
Vous avez deux attributs, le premier pour la date du jour, le deuxième pour l’heure du jour. ATTENTION! les heures sont en GMT pas en heure locale.

Avant d’appliquer les symbologies, n’oubliez pas de définir la requête de sélection. Si non, vous aurez un empilement de symboles sur chaque point.

Pour les données complexes (vent, vagues, courant) vous avez au moins deux valeurs associées : direction et force. Le moyen classique d’afficher ce type de données est d’utiliser une flèche orientée selon la direction du phénomène et de lui attribuer soit une taille, soit une couleur différente selon la force.

Première chose à savoir: Comment est codée la direction du phénomène?
Toutes les directions présentes dans les attributs de la table indiquent la direction à partir de laquelle vient le phénomène (la direction d’où il vient).
Pour orienter les flèches, il faut appliquer au symbole une rotation. Si vous choisissez un symbole « flèche vers le haut » et vous rentrez comme champ de rotation seulement le nom du champ direction, vos flèches indiqueront la direction contraire! Il faut, dans ce cas, utiliser une expression, pour la rotation, de type [champ direction]- 180.

Nous avons préparé trois fichiers de couche avec une symbologie standard qui devraient faire l’affaire. Vous pouvez les télécharger en cliquant ici.
Vous avez, dans le fichier compressé, trois fichiers de styles de couches de Qgis (vent, courant et vagues) et un dossier avec les symboles utilisés pour le vent sur les cartes météo (barbules).
Les trois premiers vous pouvez les extraire dans le répertoire de votre choix. Par contre le dossier « barbules » doit être copié dans le répertoire d’installation de QGis/apps/qgis/svg . Si non, les symboles ne seront pas accessibles pour les fichiers de style.

La symbologie pour le vent est la suivante:
symbologie proposée pour les données de vent
Les symboles utilisés sont les barbules standard, avec des incréments de 5 en 5 nœuds jusqu’à 65 nœuds.
Le champ rotation est déjà corrigé pour avoir la bonne orientation des barbules.

La symbologie pour le courant est la suivante:

symbologie proposée poiur le courant

Les symboles utilisés sont des flèches , avec des incréments de 1 nœud. La taille des flèches est croissante en fonction de la vitesse. De plus les vitesses jusqu’à 3 nœuds sont en bleu, entre 3 et 5 sont en orange et à partir de 6 nœuds en rouge.
Le champ rotation est corrigé de 180° pour avoir la bonne orientation des flèches.
Pensez à ajouter dans la requête de sélection, en plus de la date et heure, un filtre sur la direction et vitesse pour ne pas afficher les valeurs nulles à terre (CourantVal<>0 AND ICurDir<>0).

La symbologie pour les vagues est la suivante:

symbologie proposée pour les vagues
Les symboles utilisés sont des flèches , avec des incréments de 1 mètre. Les hauteurs jusqu’à 3 mètres sont en vert, entre 4 et 7 sont en jaune et à partir de 7 nœuds en orange-rouge.
Le champ rotation est corrigé de 180° pour avoir la bonne orientation des flèches.
Pensez à ajouter dans la requête de sélection, en plus de la date et heure, un filtre sur la direction et vitesse pour ne pas afficher les valeurs nulles à terre (HsVal<>0 AND IHsDir<>0).
Les étiquettes indiquent la hauteur significative des vagues en mètres, et la période des vagues en secondes.

Si vous avez des questions, n’hésitez pas à laisser un commentaire!

Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

21 thoughts on “Intégrer des prévisions météo marines et terrestres gratuites dans QGis

  1. Bonjour,

    Tout d’abord merci pour votre article !

    Concernant la vitesse du vent, est-il possible de connaitre la hauteur (altitude) de la mesure ?

    a+

  2. Bonjour,
    J’ai trouvé votre article passionnant, extremement utile et détaillé.
    J’aimerais faire la même chose avec des données historiques enregistrees dans le passé, et plus précisément des moyennes mensuelles, annuelles ou décennales (vent, courant, vagues), sur des zones localisées un peu partout sur le globe. Quelqu’un aurait-il une adresse wfs/wms a partager, pouvant etre connecté simplement dans Qgis, proposant le type de données que je recherche et permettant de realiser les techniques d’affichage décrites dans cet article ? merci par avance pour votre aide.

  3. Bonjour,

    Tout d’abord merci pour ce tutoriel très pratique !

    Est il possible d’avoir les quelques métadonnées des différentes colonnes des tables attributaires…
    Ou alors un lien au je pourrai être renseigné.

    Merci d’avance
    Et merci pour votre blog

    1. Voici les significations des différents champs:
      id_point bigint, identifiant interne du point
      lat numeric, latitude du point
      lon numeric, longitude du point
      id_zone bigint, 99 pour les prévisions globales
      zoom character varying(254), usage interne
      zoom2 character varying(254),usage interne
      meteodate character varying(254), date
      heure character varying(254),heure en TU
      hsval numeric, hauteur significative des vagues en m
      wpp character varying(254),période des vagues en secondes
      hsdir character varying(254), direction d’où viennent les vagues en ° (0=Nord,90°E)
      hsdirn character varying(254),secteur d’où viennent les vagues (1-16)
      phs0 numeric,hauteur significative de la première composante (la plus forte)du spectre des vagues en m (ceci peut correspondre aux vagues du vent ou à la houle)
      phs1 numeric,hauteur significative de la deuxième composante (la plus forte)du spectre des vagues en m (ceci peut correspondre aux vagues du vent ou à la houle)
      ptp0 character varying(254),période en secondes de la première composante
      ptp1 character varying(254),période en secondes de la deuxième composante
      pth0 character varying(254),hauteur significative en m de la première composante
      pth1 character varying(254),hauteur significative en m de la deuxième composante
      rain numeric,précipitations totales en mm pendant le pas de temps (3 heures)
      gust numeric,vitesse maximale en noeuds des rafales de vent pendant la période de 3 heures
      t2m numeric,température moyenne de l’air en °C à 2m de hauteur
      ventdir character varying(254),direction d’où vient le vent (0-360)
      ventdirn character varying(254),secteur d’où vient le vent (1-16)
      ventval numeric,vitesse en neouds du vent moyen
      pslvl numeric,pression atmosphérique en hectopascals
      seatemp numeric,température moyenne de la surface de la mer en °C
      courantdir character varying(254),direction où va le courant (0-360°)
      courantd_1 character varying(254),secteur où va le courant (1-16)
      courantval numeric,vitesse moyenne du courant en noeuds

  4. Bonjour,

    Je me permet de vous poser une petite question qui me chiffonne dans la création de ma carte. Je suis actuellement étudiant en dernière année de Licence et j’éprouve encore quelque difficultés avec les logiciels SIG. Votre site m’est donc parfait pour y remédier.

    Lors de l’ajout de la couche view meteo99 sur Qgis, la couche ne créer aucune entité et ne s’affiche pas. Elle apparaît pourtant bien dans la liste de couche sans module d’erreur. J’ai vérifier comme vous le précisiez plus haut que j’étais bien en projection géographique EPSG : 4326, que se soit pour mon projet mais aussi pour la couche de mon fond de carte qui correspond à un ensemble de vecteur des départements français. Pour éviter d’avoir un ensemble de donnée trop important j’ai limité cette couche aux départements de la nouvelle Normandie mais toujours rien … si quelqu’un aurait une solution pour m’éclairer…

    Je vous remercie d’avance …
    Et encore merci pour ce super blog !

    1. Il m’affiche maintenant dans le décompte des entités [14 461 200], mais toujours aucun visuelle sur la cartographie, j’ai pourtant souhaité un affichage de la couche sur la vue courante…

      Je pense à un autre détail … dans la nouvelle version de Qgis, on ne nous propose pas la cachetage ou décachetage de la case « Cache feature » est-ce lié au non-affichage de mes points de données ?

    2. Le problème vient du serveur qui a été changé, avec une mise à niveau de tous les logiciels (et ils sont nombreux). L’équipe qui s’en charge est sur le coup. Je vous préviendrai quand le problème sera réglé.

  5. Vous allez dire que je suis vraiment embêtant … mais lors de la deuxième étape concernant le modèle je fais face à un nouveau problème. Lors de son exécution l’algorithme m’émet une erreur et m’affiche le message suivant :

    « Erreur lors de l’exécution de l’algorithme Field calculator Mauvaise valeur IHsDir pour ParameterSelection FIELD_TYPE »

    Dans la table attributaire je ne trouve pas cette valeur mais des valeurs portant d’autres noms tel que : HsDir … mais jamais précédé d’un I. Je tente d’accéder au calculs de l’algorithme mais je n’arrive néanmoins pas à l’éditer car il m’affiche un nouveau message d’erreur.

    Que dois je faire ?

    Merci

    1. Il faut que je regarde de plus près, mais je pense que l’étape avec le modèle est devenue superflue. Le problème des champs en texte a été résolu (j’espère) avec les changements de versions des logiciels serveur. Vous pouvez passer directement à la symbologie puisque les champs directions sont numériques (mais dans ce cas ils n’ont pas de I devant le nom)

  6. Bonjour,

    Tout d’abord merci pour cet article bien détaillé!

    J’aimerais accéder à des données similaires concernant le vent mais pour des prévisions terrestres (afin de les utiliser dans un modèle de dérive de traitements phytosanitaires en agriculture), savez-vous où je pourrais trouver des données régulièrement mises à jour sur le vent? idéalement en WMS ou WFS.

    Merci d’avance!

    Félix

  7. Bonjour,
    Bien qu’il soit possible d’utiliser de nombreuses symbologie dans QGIS, je souhaite tout de même utiliser celles décrites dans la procédure. Malheureusement, que ce soit dans celle-ci ou dans la suivante portant sur l’animation des données météos, les fichiers de style de couche (vent, vague, courant) téléchargeables sont .LYR et non pas . QML
    Merci d’avance !

    1. Les symboles spécifiques à QGis (.svg) sont dans le répertoire « barbules » du fichier téléchargeable. Pour le courant et les vagues c’est juste l’utilisation classique du symbole flèche en utilisant une symbologie graduée pour la taille de symbole (en fonction du champ vitesse) et d’une rotation (en fonction du champ direction)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *