Etat de l'art des API Web Cartographiques
Evolutions
la 3D
Problème
Une fois la 2D maitrisée les SIG se dirige aujourd'hui vers la 3D de plus en plus de données sont disponibles en 3 dimensions il serait donc intéressant de pouvoir représenter cette données.
La 3D pose plusieurs contraintes :
- Les volumes de données
C'est un problème, bien que les débits internet soient de plus en plus important, chargé un gros volume de données reste contraignant pour l'utilisateur. - La complexité de calcul, la 3D demande énormément de ressources et de puissance de calcul. D'autant plus dans un navigateur web puisque le rendu est mono-threadé.
- Le manque de maturité des outils SIG d'une part mais également de la 3D dans un navigateur web.
Solution ?
Une des solutions pour répondre à ce besoin et notamment l'aspect performance est d'exploité l'accélération matérielle. Pour cela une technologie permet à travers le navigateur web d'utiliser la puissance de calcul des cartes graphique et ainsi d'améliorer la qualité et la vitesse des rendu 3D.
WebGL est une spécification d'interface de programmation de 3D dynamique pour les pages et applications HTML5 créée par le Khronos Group. Elle permet d'utiliser le standard OpenGL ES au sein d'une page web, ou bien d'une application basée sur le standard HTML5, en s'aidant du langage JavaScript, des données au format JSON et de l'accélération matérielle pour les calculs et le rendu 3D à l'aide des pilotes OpenGL ES du ou des processeurs graphique du terminal informatique (Ordinateur, smartphone, tablette numérique, etc.). OpenGL ES a été choisi pour son large support au sein des architecture embarquées et mobiles.
Césium
Dans le monde SIG un outil appelé Césium développer en WebGL permet de travailler et faire des rendus 3D de données SIG.
- Création : 2011
- Contributeurs : ~30
- Version actuelle : b23
- Par des informaticiens
- Avantages :
- Simple
- Puissant
- Inconvénient :
- Documentation
- Lisibilité du code
Césium est une première approche malheureusement il n'est pas encore suffisamment avancée ne serait-ce que par rapport aux API 2D.