Cartes marines S57 avec QGis: afficher les sondes

Dans un article précédent nous avons abordé comment afficher une symbologie appropriée aux fichiers S57. Dans cet article nous n’avons pas abordé comment afficher les valeurs des sondes bathymétriques et ce pour deux raisons: la première parce que les sondes en tant que telles n’ont pas de symbologie. Elles sont représentées par des étiquettes et non des symboles. La deuxième parce qu’elles nécessitent un traitement particulier pour pouvoir être affichées.

La couche « sondes » S57

Les sondes sont contenues dans la couche SOUNDG.

Mais une fois la table attributaire ouverte, il n’y a aucun attribut qui ressemble à la valeur d’une sonde.

L’information qui permet de les retrouver se situe au niveau du type de couche:

Cette couche n’est pas une couche géographique xy mais une couche xyz. Est c’est bien le Z de la géométrie qui contient la valeur de la sonde et non un attribut de la table attributaire.

Pour pouvoir l’utiliser comme étiquette des points de sonde il faut donc créer un attribut et récupérer la valeur Z de la géométrie.

Mais avant de le faire, une autre remarque s’impose: SOUNDG est une couche de type multipoint. Si nous voulons récupérer la valeur de tous les points et pas seulement du premier point des multipoints, nous devons transformer la couche en type de géométrie simple.

De multipointZ à pointZ

Pour changer le type de géométrie, nous utilisons le traitement « De morceaux multiples à morceaux uniques » de la boîte à outils « Géométrie vectorielle« .

Sur cette nouvelle couche de type PointZ nous pouvons maintenant récupérer les valeurs des sondes.

Récupération des valeurs des sondes

Nous ouvrons la table attributaire et la calculatrice de champs:

Nous définissons un nouveau champ de type entier et nous lui affectons l’expression z($geometry)/10 qui récupère la valeur Z de la géométrie. La division par 10 est nécessaire car les valeurs des sondes S57 ne sont pas en mètres mais en décimètres.

Nous avons alors un attribut avec les valeurs des sondes qui peut être utilisé pour générer les étiquettes sur la carte marine.

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é !

Laisser un commentaire

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