Makina Blog

Le blog Makina-corpus

Cartographie 3D : Position initiale d'une caméra en fonction de la topographie d'un terrain.


Cet article explique comment on a initialisé la position de la caméra dans Geotrek 3D, en tenant compte de la topographie du Modèle Numérique de Terrain.

La position initiale de la caméra était jusque là statique, j'entends par là qu'elle était la même pour chaque profil topographique de terrain. Le problème avec cette configuration c'est que certains terrains possédent alors une orientation initiale qui leur est très défavorable :

On ne voit rien et ce n'est pas très agréable de se faire tourner le dos dès le départ. Surtout que comme pour beaucoup de choses la première impression est très importante !

Il a donc bien fallu que la position initiale devienne dynamique. La question qui se pose alors, c'est comment déterminer la meilleure position initiale possible ? ou au moins comment éviter des choses comme ce qu'on vient de voir ?

Cet article montre une solution qui a plutôt bien marché dans notre cas.

J'ai appelé cette méthode la méthode des cases à indices.

L'idée principale ici est de séparer le terrain en un petit nombre de cases, et d'analyser les zones (ici appelées voisinages) qui possèdent les altitudes les plus basses. La caméra s'orientera ainsi directement sur ces zones et on ne se retrouvera pas devant un pic qui nous cache la vue.

Les cases

Tout d'abord on crée une grille de cases fictives au dessus du terrain comme ceci : 

A noter que j'ai choisi un nombre de 25 cases pour avoir des résultats assez précis, tout en conservant des zones de voisinage étendues (la notion de voisinage sera explicitée plus bas).

Les types de cases

Pour faciliter la différenciation entre les cases, chacune d'elles possède un type :

Les cases de coins sont les quatre cases qui forment les angles du terrain. 

Les cases de bordures externes sont les cases du bord extérieur.

Les cases de bordures internes sont les cases du bord intérieur.

Enfin, les cases internes sont les cases noires, elles n'ont ici aucune utilité.

 

Pour mieux comprendre, voici une visualisation en 3D de ces fameuses cases. Chaque case est représentée ici par une sphère. 

Le voisinage des cases 

La meilleure position sera déterminée en fonction du voisinage des cases du tour. En effet, seules les cases du tour sont prises en compte car c'est elles qui potentiellement nous gâchent la vue. D'après le schéma plus haut, les cases du tour sont :

  • les cases de coins qui ont un voisinage de ce type :

  • les cases de bordure externe qui ont un voisinage de ce type là : 

Les indices

Une fois ces cases créées on a besoin des altitudes. Pour simplifier les choses, j'ai groupé les altitudes par case et créé des indices de 0 à 10 (Avec 0 : altitudes très basses et 10 : altitudes très élevées).

C'est quand même plus facile de travailler avec des indices de 0 à 10 que de 1425,56 à 2232,124 !

Voici donc un exemple de ce que l'on peut obtenir :

Il nous faut maintenant trouver au milieu de tous ces chiffres la case alpha.

La case alpha

C'est la case qui déterminera la fameuse position initiale de la caméra. Elle possède les voisins qui ont les plus petits indices.

On parcourt donc chaque case du tour en additionnant les indices de tout son voisinage (la case courante est comprise dans le voisinage)

La case qui a le résultat le plus bas est la case alpha.

Exemple : On peut voir ici que le voisinage de la case que l'on teste a une valeur égale à 2+1+2+1+8+3 = 17, c'est le minimum de tous les voisinages.

La case testée a le voisinage le plus bas, c'est la case alpha.

Placement de la caméra

Maintenant que l'on a trouvé la case alpha, il ne reste plus qu'à positionner la caméra en fonction de cette case.

On connait la position O du centre, on connait la position A de la case alpha, et on cherche la position C de la caméra. Un peu de mathématiques et le tour est joué !

On choisit par exemple OC = OA*3/2, ou un autre rapport, tout dépend de la promiscuité désirée entre la caméra et le terrain.

Il est vrai que plus le terrain est grand, plus la caméra sera loin de celui-ci. Mais plus il est grand, plus la caméra doit s'en éloigner pour le voir en entier !

Voici le résultat avec le même terrain qu'au tout début de l'article :

C'est quand même beaucoup plus appréciable ! Le terrain n'est pas caché et sauf si la randonnées est dans un trou au milieu d'une montagne, on aura toujours la meilleure vue initiale ou en tout cas quelque chose qui s'en rapproche.

Formations associées

Formations SIG / Cartographie

Formation QGIS

Toulouse Du 1 au 3 octobre 2025

Voir la Formation QGIS

Formations SIG / Cartographie

Formation Leaflet

Toulouse Du 4 au 5 décembre 2025

Voir la Formation Leaflet

Formations SIG / Cartographie

Formation PostGIS

Toulouse Du 22 au 24 octobre 2025

Voir la Formation PostGIS

Actualités en lien

Geotrek et OpenS­treet­Map : Mise en place d’une passe­relle pour une connais­sance du terri­toire enri­chie

08/09/2025

Dans l’uni­vers des logi­ciels open-source, les plus belles inno­va­tions naissent souvent de la rencontre entre des commu­nau­tés qui partagent les mêmes valeurs. Aujour­d’hui, nous célé­brons une avan­cée majeure pour Geotrek : la créa­tion d’une passe­relle avec OpenS­treet­Map (OSM), la plus grande base de données carto­gra­phique colla­bo­ra­tive au monde. Plus qu’une simple fonc­tion­na­lité, ce projet est le fruit d’un travail d’in­gé­nie­rie et de recherche appro­fondi.
Voir l'article
Image
Logo d'illustration pour la passerelle entre OSM et Geotrek

Instal­ler Geotrek : avec ou sans segmen­ta­tion dyna­mique ?

08/09/2025

Geotrek-admin propose deux modes de fonc­tion­ne­ment pour gérer les objets liés aux tronçons : avec ou sans segmen­ta­tion dyna­mique. Ce choix a un impact impor­tant sur la manière dont sont stockées et gérées les données, et sur les possi­bi­li­tés d’édi­tion, de cohé­rence topo­lo­gique et d’in­ter­opé­ra­bi­lité avec d’autres systèmes. Dans cet article, on vous explique ce qu’est la segmen­ta­tion dyna­mique ainsi que le réfé­ren­ce­ment linéaire, ses avan­tages, ses limites, et dans quels cas il est perti­nent (ou non) de les utili­ser.
Voir l'article
Image
Réseau de tronçons dans Geotrek

Geotrek-Mobile, zones sensibles désor­mais acces­sibles

17/07/2025

Une nouvelle fonc­tion­na­lité vient enri­chir l’ap­pli­ca­tion Geotrek-Mobile : l’af­fi­chage des zones sensibles direc­te­ment sur la carte, le long des itiné­raires.
Voir l'article
Image
Geotrek-Mobile contenus outdoor

Inscription à la newsletter

Nous vous avons convaincus