Système d'information géographique
|
||||||||||||||
Le projet SimTaDyn : Simulation Tableur DynamiquePrésentationSimTaDyn (acronyme pour Simulation Tableur Dynamiquge) est un prototype de tableur spécialisé dans la gestion dynamique de cartes géographiques. Le but est de dessiner une carte géographique puis de la manipuler comme une feuille de tableur en faisant dessus des calculs complexes grâce à un langage interprété tel que Forth, remplaçant avantageusement Visual Basic. Des exemples typiques de SimTaDyn seraient:
SimTaDyn est à l'origine un projet d'étudiants fait à l'école EPITA en 2003-2004. Il a été écrit en C, Gtk+2.0, Opengl (Legacy), Forth et MySQL. Notons que dans le cadre scolaire où ce projet a été initialement lancé, un interpréteur Forth complet (tel que gForth) n'a pas été utilisé mais a été refait et ce dans un but d'apprentissage. Depuis fin 2016, SimTaDyn a été repris en tant projet personnel et re-développé en C++, Gtkmm-3.0, OpenGL 3.3, Forth. Aperçus de SimTaDyn legacyAu coeur de SimTaDynUn tableur est un éditeur de feuilles de calcul, à savoir des tables de cellules formant un pavage rectangulaire. Chaque cellule contient des données de type divers y compris des fonctions susceptibles de faire du calcul sur son contenu et celui des autres cellules. Un Système d'Information Géographiques (SIG) est un autre type d'éditeur manipulant des tables contenant des champs ayant des interprétations géographiques. Elles sont représentées par des cartes permettant d'accéder facilement aux champs n'ayant pas d'interprétations géographiques. De plus, les SIG ne contiennent pas de fonctions susceptibles d'agir sur la table donc sur la carte. L'accès aux champs non géographiques est obtenu en pointant sur un objet particulier. Seuls les champs de l'objet désigné sont affichés contrairement aux tableurs qui essaient toujours de montrer l'ensemble des données. Par contre, leurs outils d'édition de cartes sont très puissants. Les fonctionnalités des tableurs et des SIG ont donc toujours été dissociées. SimTaDyn est un prototype de synthèse de ces deux types de fonctionnalités. Il manipule des tables dynamiques c.à.d. des tables pouvant contenir en plus des données standards des fonctions capables de modifier la table elle-même. Il représente les données géographiques en positionnant les objets correspondants dans le plan. Il essaie de visualiser simultanément tous les objets de même type. SimTaDyn, à la différence des tableurs standards, ne possède plus forcément un pavage de cellules rectangulaires mais un pavage polygonal quelconque du plan. De plus, les frontières des pavés -- qui sont des lignes brisées donc, finalement, une union de segments -- sont considérées comme des cellules à part entière. De même, les bords des segments sont des sommets eux mêmes considérés comme des cellules à part entière. Donc finalement, SimTaDyn, possède trois types de cellules : les sommets, les segments et les pavés. Les cellules contiennent aussi plusieurs champs, dont certains peuvent être des fonctions mathématiques. Les calculs sur les cellules sont faits grâce à un langage interprété de type Forth qui a été adapté pour le projet. Forth étant un langage minimaliste mais très puissant car auto-évoluant, il remplace Visual Basic. Mon article est une introduction à ce langage. TéléchargementLe code source est disponible sur GitHub en Open source. La branche git master pointe sur la version 2016 de SimTaDyn en cours de re-écriture (et donc incomplet) alors que la branche git release-EPITA-2004 pointe sur la version legacy de SimTaDyn (codée rapidement mais l'IDE est plus complète) et peut servir de démonstrateur. Les sources de la version legacy de SimTaDyn peuvent également être téléchargées ici. Cette version fonctionne sur une Ubuntu 16.04 et à l'époque sur Mac Os X 10.3 avec X11. La compilation n'a jamais été testé pour Windows.
AvancementLa nouvelle version du projet étant en cours de re-écriture, voici les différences avec la version legacy et ce qui reste à améliorer:
|
||||||||||||||
|