OpenFLUID Software Environment for Modelling Fluxes in Landscapes

Documents pareils
OpenFLUID Software Environment for Modelling Fluxes in Landscapes

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Google Drive, le cloud de Google

MEGA ITSM Accelerator. Guide de démarrage

Isadora. Photo jpeg qualité 50% %, 320X240. Prérequis

Travaux pratiques avec RapidMiner

Manuel d Utilisateur - Logiciel ModAFi. Jonathan ANJOU - Maud EYZAT - Kévin NAVARRO

VOS PREMIERS PAS AVEC TRACENPOCHE

Sélection du contrôleur

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Volet de visualisation

Avec PICASA. Partager ses photos. Avant de commencer. Picasa sur son ordinateur. Premier démarrage

MEGA ITSM Accelerator. Guide de Démarrage

Assistant d e tablissement de Tableaux

Innovations Majeures de la Version 4

Modélisation et simulation du trafic. Christine BUISSON (LICIT) Journée Simulation dynamique du trafic routier ENPC, 9 Mars 2005

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Module d échange de données INTERLIS v1.0 GeoConcept Manuel d'utilisation

Programmation Objet - Cours II

Le service de création de site Internet : Mode d emploi. La Création de Site Internet

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

TP Blender n 2 : Importation d un modèle SketchUp et animation

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Étape 3 : Afin d'approfondir vos connaissances sur le bit d'archivage, vous apprendrez l'effet d'une modification d'un fichier sur celui-ci.

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

Créer un diaporama avec Open Office. Sommaire

Cartographie Informatique Eclairage Public

Compte-rendu de projet de Système de gestion de base de données

Notice d'utilisation Site Internet administrable à distance

NOTICE D' UTILISATION CAMWORKS FRAISAGE. Luc Vallée Lycée Blaise Pascal Segré

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Module d introduction Comment réaliser vos propres cartes avec ArcGIS Online

Observatoires du Bruit. Import des données du Classement sonore : Utilisation de l'outil VSMAP

Utiliser le service de messagerie électronique de Google : gmail (1)

Tutoriel code::blocks

KeePass - Mise en œuvre et utilisation

Débuter avec Easyweb B

PRISE MAIN DE GOOGLE MAP ET GOOGLE EARTH DANS LE CADRE DE LA PREPARATION ET L EXPLOITATION D UNE JOURNEE DE TERRAIN

Découverte et prise en main de SWEET HOME 3D

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

BIRT (Business Intelligence and Reporting Tools)

Créer un sondage en ligne

Gérer, stocker et partager vos photos grâce à Picasa. Janvier 2015

1 Presentation du bandeau. 2 Principe de création d un projet : C2 industrialisation Apprendre Gantt project Ver 2.6 planifier

LES TOUT PREMIERS PAS

Faire un semi variograme et une carte krigée avec surfer

Créer une carte personnalisée

Construire un portail de ressources numériques avec Netvibes

Raja Bases de données distribuées A Lire - Tutoriel

1. Utilisation du logiciel Keepass

Faille PayPal sous Magento ou comment faire ses achats (presque) gratuitement

Exposer ses photos sur Internet

Guide sommaire de TecLocal

Les 1 er pas sur. Guide d utilisation

GUIDE D UTILISATION DE L ISU SEPTEMBRE 2013 GUIDE D UTILISATION DU NAVIGATEUR UIS.STAT (VERSION BÊTA)

VRM Monitor. Aide en ligne

SUPPRIMER SES COOKIES

Gestion de projets. avec. Microsoft Office PROJECT 2003

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

Gestionnaire de champs PRO

Comment bien démarrer avec. NetAirClub GUIDE ADMINISTRATEUR V1.5. Table des matières

Manuel BlueFolder ADMINISTRATION

Atelier n 12 : Assistance à distance

GanttProject : guide utilisateur

Utilisation de l éditeur.

SweetyPix, mode d'emploi

Infolettre #6: SkyDrive

79140 CERIZAY. Collège G. CLEMENCEAU. Page 1 sur 18

SOMMAIRE. Accéder à votre espace client. Les Fichiers communs. Visualiser les documents. Accéder à votre espace client. Changer de Workspace

1. Introduction / Identification

iil est désormais courant de trouver sur Internet un document

Tutoriel Prise en Main de la Plateforme MetaTrader 4. Mise à jour : 7/09/

Progression secrétariat

INTRODUCTION GENERALE...1 LA CONNEXION ODBC :...1. CONNEXION AU TRAVERS D EXCEL(tm)...6. LOGICIEL QUANTUM GIS (Qgis)... 10

Utiliser ma messagerie GMAIL

Démonstrateur libre Application des données Open Street Map à l analyse géographique de réseaux de voirie et Transports Collectifs

WHS FutureStation Nano Extras\Options: Général

LE PLAN. A l aide de la molette de la souris vous pouvez diminuer/augmenter la taille du plan.

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Cadastre du bruit SIT-JURA. Connecteur Arcview9.x - MSAccess. Mode d emploi. Appel formulaire. Page 1 sur 15

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Fonctions pour la France

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

SOMMAIRE GUIDE D UTILISATION DU WEBMAIL. vous guide

Les diagrammes de modélisation

Deuxième Licence en Informatique Data Warehousing et Data Mining La Classification - 1

Récupérer les documents stockés sur l ENTG

EX-word TextLoader Fonction Bibliothèque

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

claroline classroom online

NAS 206 Utiliser le NAS avec Windows Active Directory

ADELIE. Alerte-DEtection-Localisation-IncendiE. Documentation du logiciel Interface Homme / Machine du poste opérateur

@telier d'initiation

Utilisation du monitoring en temps réel

Transcription:

OpenFLUID Software Environment for Modelling Fluxes in Landscapes TP9 : Trac routier dans les rues de Manhattan Objectifs: Pré-requis: Dénir les concepts d'un modèle pour une simulation de circulation routière TP1 à TP7 Cet exercice est un exemple de résolution d'une problématique de modélisation à travers le formalisme de la plateforme OpenFLUID. Nous allons vous montrer quelles sont les principales étapes à réaliser pour répondre à cette question. Pour cela, nous allons nous éloigner de la modélisation hydrologique pour répondre à une problématique de modélisation des ux de voitures dans les rues de Manhattan, NY. 1 Présentation de la problématique Nous voulons modéliser le ux de voitures sur des routes de Manhattan. Notre espace à modéliser est constitué de routes reliées entre elles et dont certaines sont régulées par des feux de signalisation qui arrêtent (feu rouge) ou laissent passer le ux de voitures à la sortie des routes (feu vert). Chaque route contient un nombre de voitures (on partira du principe, certes peu crédible, que les routes peuvent stocker un nombre inni de voitures) et transfère un nombre de voiture par pas de temps (si une route à un taux de transfert de 30, elle peut, par pas de temps, transférer au maximum 30 voitures ou moins si son stock est inférieur à cette valeur). Enn, toutes les routes sont à sens unique, certaines routes seront dotées d'un système de "générateur" de voitures : ce seront des routes "sources". Nous allons nous intéresser à la dynamique du nombre de voitures sur chaque tronçon de route à chaque pas de temps de la simulation (les voitures ne sont pas individualisées : nous ne suivons pas le cheminement d'une voiture au cours de la simulation). Ainsi à chaque pas de temps, les routes stockent et transfèrent un nombre de voitures en fonction des signaux qu'elles reçoivent des feux de signalisation. 1

Le schéma suivant montre le domaine que nous allons modéliser : il est constitué de 11 segments de routes et de trois feux de circulation. Pour simplier le problème, nous imposons les règles suivantes : Toutes les routes sont à sens unique, la gestion des intersections se fait sans division du ux de voiture : à une intersection donnée, toutes les voitures vont dans la même direction imposée (à gauche, à droite ou tout droit), les feux de circulation n'ont que deux états (vert ou rouge), pour un feu donné la durée d'un état (rouge et vert) est la même, un feu est connecté à un seul segment de route. 2

2 Conceptualisation du modèle Maintenant que nous avons pris connaissance de la problématique, nous allons la décomposer en diérentes parties. Après avoir lu le texte, identiez les diérentes unités spatiales qu'il faut modéliser : Pour chaque unité identiée, pouvez vous décrire ses propriétés ainsi que ses comportements : Nom de l'unité Propriétés Comportements Pour chaque unité décrite, nous allons y attacher une fonction de simulation. Cette fonction de simulation va permettre, à chaque pas de temps, de gérer les propriétés et les comportements des unités. En quelques lignes, décrivez le comportement de chaque fonction de simulation qui est attachée aux unités que vous avez identiées : Nous allons maintenant vous proposer une solution possible pour modéliser cette problématique de ux de voitures à travers le formalisme de la plateforme OpenFLUID... 3

3 Approche conceptuelle choisie L'approche conceptuelle que nous avons choisie repose sur le schéma suivant : nous avons identié des unités feux de circulation que nous appelerons Trac Light Unit - TLU et des unités tronçons de routes que nous appelerons Road Unit - RU. Pour chacune de ces unités, nous allons développer une fonction de simulation. Pour les unités TLU, la fonction training.traclight.state permettra de gérer l'état de ces unités (passage entre les diérents états rouge et vert) au cours de la simulation. Pour les unités RU, la fonction training.road.trac va permettre de gérer les signaux reçus des feux pour autoriser ou non le transfert des voitures, gérer la variation de stock ainsi que le taux de transfert. De plus la fonction pourra recevoir en entrée des quantités de voitures générées par un générateur OpenFLUID. 3.1 Les unités Trac Light Unit - TLU Les unités TLU vont posséder 3 attributs : Un identiant numérique unique : SELF_ID, un attribut d'état booléen (true = vert ; false = rouge) : state, un attribut indiquant la durée de l'état : duration. 3.2 Les unités Road Unit - RU Les unités RU vont posséder 3 attributs : Un identiant numérique unique : SELF_ID, un attribut indiquant le stock initial de voitures : stockini, un attribut indiquant le taux de transfert maximum : transfervalue. 3.3 La fonction de gestion de l'état des TLU : training.traclight.state Cette fonction va gérer les changements d'état des TLU en fonction des attributs de ces unités. Elle va nécessiter deux données d'entrée (inputdata) des unités TLU : La donnée state qui indique l'état de la TLU (false ou true), la donnée duration qui indique la durée de l'état de la TLU. Elle va produire deux variables à chaque pas de temps : Une variable indiquant l'état de l'unité à chaque pas de temps : training.tlu.s.state, une variable indiquant à quel pas de temps aura lieu le prochain changement d'état : training.tlu.t.changetime. Le code source de la fonction training.traclight.state est contenu dans le chier /home/openuid/formation/datasets/src/tp9/training.traclight.state/tlufunc.cpp. 4

3.4 Le générateur de voitures OpenFLUID propose diérents types de générateurs de données (aléatoire, interpolation, injection). Celui que nous allons utiliser injecte à chaque pas de temps un nombre déterminé de voitures aux RU connectées au générateur. Le générateur va produire, à partir des données d'entrée, la variable training.ru.car.source. Les données injectées sont contenues dans les chiers suivants /home/openuid/formation/datasets/tp9/ carsource.txt, carsources.xml, carzero.txt et RUcardistri.dat. 3.5 La fonction de tranfert sur les RU : training.road.trac Cette fonction va gérer les variations de stock et les valeurs de transfert du nombre de voitures sur les RU à chaque pas de temps. Elle va également récupérer la variable training.tlu.s.state produite par la fonction training.traclight.state pour connaître l'état de l'unité TLU connecté à l'unité RU (si une RU n'est connecté à aucune TLU, on autorise tout le temps le transfert). De plus, certaines RU peuvent être connectées à un générateur de voitures ; il faut donc que la fonction reçoive cette entrée. La fonction va nécessiter deux données d'entrée (inputdata) des unités RU : La donnée stockini qui indique le nombre initial de voitures sur la RU, la donnée transfervalue qui indique le taux de transfert maximum autorisé pour une RU. Elle va pouvoir utiliser deux variables produites si celles ci sont présentes (USED_VAR) : La variable training.ru.car.source produite par le générateur OpenFLUID qui indique le nombre de voitures créées (les sources), la variable training.tlu.s.state produite par la fonction training.traclight.state qui indique l'état de l'unité TLU. Elle va produire deux variables : La variable training.ru.s.stock qui est le stock de voitures pour une RU à chaque pas de temps, la variable training.ru.t.transfert qui est le nombre de voitures transférées pour une RU à chaque pas de temps. Le code source de la fonction training.road.trac est contenu dans le chier /home/openuid/formation/datasets/src/tp9/training.road.trac/rufunc.cpp. 4 Construction du domaine La donnée shapele NY_street_pw9_wgs84.shp est contenue dans le dossier /home/openuid/formation/datasets/tp9/shapeles/. Nous allons maintenant nous intéresser au domaine de notre exemple. Vous pouvez visualiser le shapele à l'aide du logiciel SIG QGIS ou à l'aide du Mapview de OpenFLUID-builder. Protitez en également pour regarder la table attributaire de la couche NY_street_pw9_WGS84.shp pour observer les liens de topologie entre les diérentes RU à l'aide des colonnes suivantes : SELF_ID : identiant numérique de l'unité, 5

DownRU : identiant numérique de l'unité aval, ProcessOrd : ordre de traitement (process order) de l'unité. Il n'y pas de données shapeles concernant la position des feux de circulation TLU. La topologie des unités TLU et RU peut être visualisée grâce au chier /home/openuid/formation/datasets/tp9/domain.uidx. 5 Création du modèle Nous allons maintenant créer notre modèle en enchainant les deux fonctions de simulation et le générateur. L'odre d'appariemment des diérentes parties est important. Par exemple, nous savons que la fonction training.road.trac nécessite des variables issues du générateur et de la fonction training.traclight.state. Le modèle peut donc être écrit de la sorte : <? xml version =" 1.0 " standalone =" yes "? > < openfluid > <model > < function fileid =" training. trafficlight. state " > < generator varname =" training. RU. car. source " unitclass =" RU " method =" inject " > < param name =" distribution " value =" RUcardistri. dat "/ > < param name =" sources " value =" carsources. xml "/ > </ generator > < function fileid =" training. road. traffic " > </ model > </ openfluid > Nous devons également dénir les chiers run.uidx, output.uidx. Vous pouvez visualiser le contenu de ces chiers dans le dossier /home/openuid/formation/datasets/tp9/. 6 Lancement de la simulation Désormais tout est prêt pour lancer notre simulation. Créer le projet OpenFLUID NY_model à l'aide de OpenFLUID-builder dans le dossier /home/openuid/formation/projects/tp9 en important les données présentes dans le dossier /home/openuid/formation/datasets/tp9/. Lancez la simulation. Vous pouvez visualiser les résultats dans le dossier /OUT de votre projet pour chacune des unités TLU et RU. 7 Visualisation des résultats sour Google Earth Nous allons agrémenter un peu notre simulation et visualiser les résultats de la simulation sous Google Earth. Pour cela, téléchargez sur le Market Place Formation2012 les fonctions utils.export.spatialdomain-vars.kml-anim et utils.export.spatialdomain-vars.kml-plot. Pour plus d'informations sur ces deux fonctions, lisez le document Utilisation de Google Earth pour visualiser des résultats de simulation. 6

Ce projet va contenir les deux fonctions supplémentaires permettant la visualisation des résultats d'une simulation sous Google Earth : La fonction utils.export.spatialdomain-vars.kml-plot crée un chier kmz qui permet de visualiser la dynamique des variables par des courbes, la fonction utils.export.spatialdomain-vars.kml-anim crée un chier kmz permettant de visualiser la dynamique d'une variable à l'aide du curseur chronologique de Google Earth. Complétez votre modèle pour obtenir le chier model.uidx suivant : <? xml version =" 1.0 " standalone =" yes "? > < openfluid > <model > < function fileid =" training. trafficlight. state " > < generator varname =" training. RU. car. source " unitclass =" RU " method =" inject " > < param name =" distribution " value =" RUcardistri. dat "/ > < param name =" sources " value =" carsources. xml "/ > </ generator > < function fileid =" training. road. traffic " > < function fileid =" utils. export. spatialdomain - vars.kml - anim " > < param name =" configfile " value =" kmlanim. conf " / > < function fileid =" utils. export. spatialdomain - vars.kml - plot " > < param name =" configfile " value =" kmlplot. conf " / > </ model > </ openfluid > Lancez la simulation, puis allez dans le dossier /OUT et double cliquez sur le chier kmlplot.kmz, zoomez sur la ville de New York ; double cliquez sur une unité RU, une fenêtre s'ouvre et vous permet de voir les graphiques de dynamique des variables training.ru.s.stock et training.ru.t.transfert. Fermez Google Earth. Allez dans le dossier /OUT et double cliquez sur le chier kmlanim.kmz, zoomez sur la ville de New York ; à l'aide du curseur chronologique (dont vous pouvez paramétrer la vitesse d'achage à l'aide de sa boîte de dialogue), lancez l'animation pour voir la dynamique de la variable training.ru.s.stock. 7