Sommaire de l’annexe technique
1. Architecture Technique de SIMBAD
1.1 Configuration logicielle et formats d’échanges
Pour assurer le fonctionnement de l’application SIMBAD, les logiciels suivants doivent être installés : Logiciel Version Description
OPUS UrbanSim 4.1 Open Platform for Urban Simulation (OPUS). http://www.UrbanSim.org/
Version disponible depuis Octobre 2008.
Pour l’installation, cf. guide téléchargeable à l’adresse :
http://www.UrbanSim.org/opus/releases/latest-stable-release/docs/installation/
Python 2.5 ou
ultérieur e
Langage de développement des applications OPUS et SIMBAD.
Le langage Python est placé sous une licence libre proche de la licence BSD et fonctionne sur la plupart des plates-formes informatiques, des supercalculateurs aux ordinateurs centraux, de Windows à Unix en passant par Linux et MacOS, avec Java ou encore .NET. Il est conçu pour optimiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple à utiliser. http://www.python.org/
Eclipse 3.2 Environnement de développement intégré libre (IDE) extensible, universel et polyvalent permettant de créer des applications dans divers langages de programmation comme Java, C/C++, PHP, Python. Il permet la configuration et lancement de SIMBAD. Il contient un client CVS. http://www.eclipse.org/
MySql 5.0 ou
ultérieur e
Base de données relationnelle en logiciel libre (open source)
http://www.mysql.fr/
Freturb 3.0 Logiciel de simulation des flux de marchandises en ville.
http://www.transports-marchandises-en- ville.org/rubrique.php3?id_rubrique=54
Version développée spécialement en vue de son intégration dans SIMBAD. Ce logiciel utilise Microsoft Access.
Microsoft Access 2000 Logiciel de base de données de la société Microsoft.
Davisum 10.03 Logiciel d’analyse et prévision de trafic de la société PTV Vision. Il permet d’affecter les flux sur un réseau routier ou de transport public.
Annexe technique : l’application SIMBAD version 1 Projet SIMBAD
127 Laboratoire d’Economie des Transports
1.1.1 UrbanSim
UrbanSim est un logiciel développé sous environnement OPUS afin de simuler l’évolution des localisations, des prix de l’immobilier, ou du développement urbain d’une agglomération. Il est fourni avec un jeu de données exemple, la base Eugene-Springfield, dont la structure a été reprise pour traiter les données lyonnaises.
1.1.2 Python
Opus – UrbanSim est développé en Python, un langage inventé au début des années 90 qui permet une programmation modulaire (notion de Package et Module) et objet (notion de Classe). En mode objet, on peut créer de nouvelles classes qui héritent des attributs (données) et des comportements (méthodes) des classes dont elles héritent. Ce langage présente bien d’autres intérêts qui ne seront pas développés dans ce document comme la gestion dynamique de la mémoire, la portabilité, la disponibilité d’un grand nombre de bibliothèques (réseau, Internet, base de données, mathématiques, graphiques …).
1.1.3 Eclipse
Eclipse est un éditeur de code, on l’utilise pour modifier UrbanSim ou ajouter des modules sous Opus, compiler et exécuter le logiciel. Ce logiciel permet la gestion d’un projet de développement en langage Python grâce au plug-in PyDev.
Eclipse est doté d’une interface multifenêtres offrant des menus contextuels.
Environnement Eclipse
Fenêtre
d’exécution Arborescence des fichiers sources
Fenêtres d’édition avec coloration syntaxique Menu principal
et barre d’outils
Liste synthétique des variables, des objets, et des méthodes Python du source en cours d ’édition.
Les fichiers sources peuvent être affichés sous forme d’arborescence avec un filtre permettant d’ignorer les fichiers compilés (fichiers d’extension .pyc).
Les sources sont éditées avec coloration et analyse syntaxique, complétion, navigation vers la définition de la variable sélectionnée ou la classe parente.
Le logiciel offre également la possibilité de lancer des recherches évoluées sur l’ensemble des fichiers :
Exemple de recherche
Résultat de la recherche
Il permet l’exécution et mise au point du code python en mode débogage (points d’arrêt, exécution pas à pas, affichage du contenu des variables) :
Annexe technique : l’application SIMBAD version 1 Projet SIMBAD
129 Laboratoire d’Economie des Transports
Exemple de lancement en mode « débogage »
Menu de lancement de l’exécution en mode « debug »
du fichier source sélectionné. Point d’arrêt
Programme interrompu dans le débuggeur
Exécution suspendue au point d’arrêt Variables locales Pile d’exécution Boutons de commandes de l’exécution
Grâce à Eclipse, il est également possible de créer des liens avec CVS pour la gestion des différentes versions du logiciel stockées sur le serveur :
Liaison CVS
1.1.4 MySql
MySql est un système de gestion de bases de données. Il est utilisé pour réaliser toutes les opérations relatives aux données introduites dans SIMBAD – UrbanSim, ainsi que pour pouvoir exploiter les résultats produits par le logiciel. Ainsi, les données initiales de SIMBAD, fournies aux formats Excel, Paradox ou Access, sont-elles chargées dans la base de données MySQL à l’aide de scripts SQL ou bien directement pour les données Ms Access en utilisant le pilote ODBC de MySql (MyOBDC).
Une fois toutes les données rassemblées dans MySql, OPUS - UrbanSim les exporte dans un cache constitué d’une arborescence de fichiers ce qui permet d’une part un accès plus rapide aux données et d’autre part d’utiliser un format neutre1. Le tableau suivant donne les équivalences du format de stockage
des données entre une base MySql et le cache produit par UrbanSim :
MySql Cache UrbanSim
Base de données Répertoire racine du cache
Table Sous répertoire portant le nom de la table Attribut (ou champ) Fichier portant le nom de l’attribut Type de l’attribut Extension du fichier de l’attribut Enregistrements Contenu du fichier
1 Les données dites de format neutre permettent à Urbansim de travailler avec une structuration unique de type « à plat » (Flat),
Annexe technique : l’application SIMBAD version 1 Projet SIMBAD
131 Laboratoire d’Economie des Transports
1.1.5 Freturb
Freturb est un logiciel développé par le LET et programmé avec Visual Basic pour Microsoft Access. Il permet, à partir de la liste exhaustive des établissements économiques d’une agglomération, d’estimer les flux de marchandises qui résultent des échanges entre ces établissements. Ainsi, à partir des simulations sur la localisation des activités produites par Opus – UrbanSim, Freturb propose des matrices de flux Origine – Destination qui pourront être affectées sur le réseau viaire grâce à Davisum.
L’application Freturb est liée à l’application SIMBAD à l’aide de tables et des vues liées à la base MySql via ODBC.
La liaison ODBC entre Access et MySql
Base MySQL SIMBAD
Base Microsoft Access FRETURB
Ainsi, les modifications de données effectuées par Freturb au sein des tables liées sont disponibles dans MySQL. La gestion des sources de données ODBC est effectuée sur le poste à partir du Panneau de configuration / Outils d’administration / Source de données (ODBC) par l’ajout de la source de données « lyonprototype ».
Mise en place de la liaison ODBC
Lorsque la structure d’une table liée est modifiée dans MySQL, il est nécessaire de rafraîchir le lien dans Freturb en le supprimant et le re-créant à partir du menu Fichier / Données externes / Lier les tables …
Annexe technique : l’application SIMBAD version 1 Projet SIMBAD
133 Laboratoire d’Economie des Transports
1.1.6 Davisum
Davisum est un logiciel développé par la société PTV Vision dont les traitements peuvent être automatisés à l’aide de programmes qui utilisent l’interface OLE/COM de Microsoft.
Depuis l’application SIMBAD le logiciel Davisum est utilisé pour effectuer :
• l’affectation des flux d’échanges sur le réseau routier et le réseau de transports collectifs,
• le calcul des temps généralisés,
• la création des matrices d’indicateurs.
Davisum possède ses propres données qui constituent une cartographie de l’aire urbaine de Lyon découpée en 777 Zones (IRIS) et une numérisation des réseaux de transport routier et de transport en commun en entités de type tronçons. Afin de réaliser les calculs d’affectation de la charge du réseau et de calculer les temps d’échanges entre zones, Davisum a besoin en entrée d’un ensemble de matrices de demande représentant le flux de chaque mode de transport (voitures particulières, VUL et PL, transports collectifs) et ce pour chaque classe de revenu (bas, moyen, haut). A partir des données issues des bases du ménage, cordon et de Freturb, l’application SIMBAD génère les matrices de demande sous la forme de fichiers ascii dans le format attendu par le logiciel Davisum (fichiers mtx). Un exemple de ces transferts de données entre avec Davisum est donné au chapitre 4.3.1.
Annexe technique : l’application SIMBAD version 1 Projet SIMBAD
135 Laboratoire d’Economie des Transports