SlideShare a Scribd company logo
WWW.PTVap.COMBSTM-MM in VISUMVikas Sharma, PTV Asia Pacific
BSTM is for Brisbane SDSouth East QueenslandBrisbane SDBrisbane CityBrisbane SD == BSTM“The Study Area”
BSTM Dimensions1678 zones1493 Internal Zones
16 External Zones
169 Special Zones9788 nodes24500 links2304 PT linesBus, rail and ferry routesModesModesCar as DriverCar as PassengerWalkBikeWalk + PTCar + PT (Park & Ride)Car + PT (Kiss & Ride)TruckPTRailBusFerryExpress BusLight Rail
Trip PurposesHome based work (Blue Collar)Home based work (White Collar)Home based education (school)Home based education (uni/ tafe)Home based shoppingHome based otherWork based workOther non-home based
Private Vehicle LoadingLinks divided into various types based onMax Capacity of a lane (600 cars to 2100 cars)Free Flow Speed (20kmph to 100kmph)J FactorCongested time on links is found by Akcelik functiont = to + 0.25 Tf[(V/C-1) + {(V/C-1)2 + 8 J (V/C) / (C Tf)}0.5]
Public Transport User LoadingFrequency of a service to guess wait timeCommuters using trains and ferries ‘doubly’ familiar than those using busesWait time 2 times more onerous than travelling in the vehicleCommuters use walk (or bike) to reach a station/bus stop but walking is 1.4 times more onerous than travelling in the vehicleIt takes 6 sec to board a train/ ferry but 9 sec to board a bus
Model StructureBasic StructureSub-models:Commercial Vehicle ModelExternal Movement ModelHousehold Segmentation ModelBased on workers & studentsAccessibility ModelPT/ Walk to WorkVehicle Availability ModelPark & Ride/ Kiss & RideTime Period SplitTrip GenerationTrip DistributionMode SplitAssignment
Original Implementation in EMMEUses EMME’s network and matrix calculator through a series of macrosA wrapper macro calls various other macros for different modules/ sub-modelsMultiple level of nesting: harnesses historical work done by recycling classical macrosUses multi-class equilibrium assignment for highway and multi-modal assignment for transit with user defined ‘volume delay’ and ‘transit time’ functions
Adaptation in VISUMA combination of VISUM’s off-the-shelf procedures and Custom scripts in PythonTwo levels of wrappingVarious operations and scripts are bundled as ‘Procedure Parameter’ filesVarious ‘parameter files’ are loaded and ‘executed’ through a wrapper scriptAlso used for convergence tests andA solution for RAM Fragmentation problems leading to ‘Memory Errors’
Folder SetupModel can be run at any location in the computer butA pfd needs to be designed and saved (as std.pfd) and copied at <../PTV_Vision/VISUM10/Exe> folderFolder carrying the model has two sub-foldersmatrices: (to keep most of the output matrices)tpfmatrices: (to keep time period factor matrices)
FilesParameter files (7)00.par01.par02_MCP_AM_TD.par03_MS.par04_PNRLogit_KNRLogit.par05_TP.par06_Ass.parFilter filesT2.filT3.filNormal bus roads.filNormal buses_t2_t3.filVersion file (1)bstm.verTime period factor matrix files (48)Six character nameFirst two character for time period (am)Third character to mark if it is for Production or Attraction (a/p)Last two characters for the modeCd (car driver)Cp (car passenger)Om (other modes)
OutputsLoads and paths in VISUM version fileMatrices by purpose and modeA text log providingstart and end time of every moduleMatrix sumsStatus of convergence criteria for every loopContinuously updated...can be opened and checked while model run is on
Scripts (60)TG*Trip GenerationTD*Trip DistributionMCP*Mode ChoiceMS*Mode SplitASS*Assignment relatedCV*Commercial VehicleEM*External Traffic ModellingVA*Vehicle AvailabilityHS*Household SegmentationPNR*/ KNR*Park/ Kiss & RideCA*Accessibility Calculations
Script Hierarchyif ATL change < 0.5%
Procedures00 Initialisation/ TGEdit Attribute (link costs)AssignmentCalculate Skim Matrix01 SubmodalsCVMain zone modificationLevelling/ Smoothening heavy truck productions/ attractionsPnRMatrix Convolution (to find the best station)External ModelEdit Attribute?
Procedures03 Mode SplitSet run and dwell times (turned off: only run in case of network changes)06 AssignmentAssignmentCalculate Skim MatrixRead filtersEdit Attributes (link PT run times)Set run and dwell times (only for segments which are NOT ferry, rail or busways)
Procedures/ Scripts to be run only when model is being modified0000a InitialisationProcedure 2-4: “Edit Attribute” to recalculate link costs00c PT Fare matrix and Airtrain adjustmentsProcedure 11: PT Assignment with Fare matrix calculationProcedure 12: A script to adjust for Airtrain fares03 Mode SplitProcedure 2: Set PT runtime from EMME3 dataProcedure 3: Set PT dwell times from EMME3 data
Pending IssuesStation Choice sub-model (part of Park & Ride sub-model) is limited to two iterationsInstead of original fiveA simplified script is available which bypasses station choice and dumps all trips marked for a station to itCalculation of fare matrix for PT is time consuming and is recycled at the momentNot a major issue as zonal fares do not change with change in the networkRuntime for each iteration is 6 hoursTime reduces to 3 hours if station choice model for PnR/ KnR is bypassed
Mode Share comparison
Trip Distribution - Workers
Trip Distribution - Shoppers
Assignment
How to use?Code new networkZones, connectors, links, lines, stopsRecalculate fare matrixRecalculate link costsSplit base matricesTime period factor matrices Truck seed matrixRelatively simple operationMostly, values will be repeatedCan be automatedEI.IE proportion matrix
Acquire data for new zonesHouseholdsPopulationChildrenTotalSchool Age ChildrenPost Secondary StudentsResidents employedTotalIn blue collar industriesIn white collar industriesDependents per household aged0-1718-65>65 Special GeneratorsSchool EnrolmentsPrimary/ Pre-primarySecondaryTertiaryEmploymentRetailServiceProfessionalIndustrialOtherVehicles per household
Comparing EMME VISUM Car volumes
Comparing EMME VISUM Car volumes
Comparing EMME VISUM Car volumes
PythonObject oriented programming/ scripting languageOpen source languageEasily extensibelInterpreted language/ JITCCross PlatformStrong user baseOften used to teach programming to non-programmersEasy to write and maintain code
Why use Python?Easy to learnQuick – written in C/C++Abundance of librariesMatricesGraphicsSimulation etcPopularESRIGoogleNokiaNASA, etcExcellent for scientific applicationsNetworksData analysisLand use modelling, etcGuido van Rossum
Learning PythonEasy to learnClean syntaxPTV Vision TutorialUsing Python with VISUMAll files (with examples) included with VISUMPythonWin interactive shellLots of web resources – www.python.org
Basic interaction with VISUMVisum object exposed when running scriptAccess to just about everything in VISUMVisumPyimport numpy as npimport win32com.clientimport VisumPy.helpers as himport VisumPy.matrices as mz = np.array(h.GetMulti(Visum.Net.Zones,"No"))onhtrp=m.readBIMatrix(Visum.GetPath(69)+"onhtrp.mtx")np1=m.readBIMatrix(Visum.GetPath(69)+"wnp1.mtx")np2=m.readBIMatrix(Visum.GetPath(69)+"wnp2.mtx")np3=m.readBIMatrix(Visum.GetPath(69)+"wnp3.mtx")
Matrix manipulationNumpy – Python matrix libraryBasic operationsMatrix indexingVisumPy.matricesAggregateTrip Length FrequencyMatrix BalancingMore...#Car Driverhwyamt = np.array(h.GetSkimMatrix(Visum,"hwyamt","CAD"))hamcst = np.array(h.GetSkimMatrix(Visum,"hamcst","CAD"))pkcost = np.array(h.GetMulti(Visum.Net.Zones,"pkcost"))zoneah = np.reshape(h.GetMulti(Visum.Net.Zones,"zoneah"),(N,1))zonevh = np.reshape(h.GetMulti(Visum.Net.Zones,"zonevh"),(N,1))wbu1 = bmmtt * hwyamt+\bcost * ( hamcst +0.5*(pkcost))+\badvh * ( zoneah - zonevh )+\bshftv
NumPy: Numerical PythonAn array/ matrix package for PythonWell suited for demand modelling – one function can operate on the entire arraySlicing by dimensions and applying functions to these slices – concise and straightforwardNearly 400 methods defined for use with NumPy arrays (e.g. Type conversions, mathematical, logical etc)ResourcesNumPy homepage: http://numpy.scipy.org/NumPy download: http://www.scipy.org/DownloadNumPy tutorial (not complete): http://www.scipy.org/Tentative_NumPy_TutorialNumPy Example List: http://www.scipy.org/Numpy_Example_List_With_Doc
Data VisualisationWealth of Python extensionsExcel chartingMatplotlib library
Custom User InterfaceswxPython – GUI libraryComprehensive C++ GUI toolkit
Looking ahead...Just about anything is possible with Python!Script sharingVisumPy will growExciting future ahead
Network Calculator
Matrix Calculator
Matrix Convolution
Matrix Balancing
PT Line Buffers / Google Transit Import
PyCrust in VISUM
VISUM Junction Editor?VISUM started as a strategic travel demand modelling softwareClassical node-link topology (or a graph of vertices and edges)A junction essentially remains abstracted as a node (a point)More demanding assignment algorithms required more precise junction delay assessmentsDynamic User Equilibrium / Stochastic Dynamic etcBlocking Back AnalysisExport to VISSIM for micro-simulationNeed felt to let users manage junction attributes graphicallyLets users view and manipulate a junction’s attributesAlso lets manipulation of other network objects directly related to the junctionLinks, Turns, Legs, Lanes, Laneturns, Signal Controllers, Signal Groups, Signal Timings 44
The editor opens alongside the main network mapper...45
And provides control over directly related network objects...46
Graphical and tabular views are in sync47
Attributes in tabular views can be edited...Set of attributes displayed can be fully customised...48
Geometry view provides manipulation of junction specific network objects...49
Signal controller and signal heads can be manipulated......added, deleted and assigned to lane-turns50
An extended signal time editor (VISSIG) can be used for including multiple signal programs51
A daily signal program ‘list’ can be generated52
...and activated programmatically/ procedurally53
‘One time’ global settings are specified separately...54
Intersection GeometryIntersection performance (using HCM 2000/2010)Node impedance during assignmentMicro-sim model generation
Intersection Performance Report
Intersection Performance Report
Intersection Performance Report
Intersection Performance Report
Node ImpedanceTurn VDFTurn VDF + Node VDFHCM 2010
Assignment algorithm with more detailsBlocking – back calculations (pseudo dynamic assignment)Static assignment with HCM 2010Dynamic assignmentsDynamic stochasticDynamic user equilibriumBi-criterion equilibrium assignments for toll investigations
Signal investigationsVisualise signal settings through time-space diagramsSignal cycle and split optimisationSignal coordination
Public Transportation ImprovementsIncorporate the full time table (all systems)Visualise the timetable in its entiretyImprove headway based assignmentHeadway calculation based on time table dataLess volatility due to departure time variation in case of infrequent services
Visualise the time table
Perform time-table based assignmentTake into account time-table coordinationPrecise PT performance indicator calculationSearch connections for each OD pairTwo alternative algorithms available for connection searchBranch and boundShortest path
Further improve headway based assignmentIncorporate a choice model for boarding decisionNo information and exponentially distributed headwaysNo information and constant headwaysInformation on the elapsed wait timesInformation on the next departure times of the lines from the stopComplete informationThis can potentially incorporate behavioural effect of the ‘passenger information system’
Consolidate your stopsGroup stops as per the ground situation / real life modellingManage walk connectors and walk times between group stopped easilyMake do with less precise informationSystem to system instead of stop to stop
Example: Queen St/ King George SqAll stops close-by / sharing platform groupedConnectors createdZero transfer time assumedAll grouped stops can be further grouped if in vicinityConnector createdIndividual walk-times/ transfer times can be supplied....ORGeneralised transfer times can be supplied
Incorporate more PT detailsLine coordinationA headway of 20min means a wait of about 10minEffect of introducing a second line will depend on the exact departure time vis-a-vis the first lineLine coupling/ splitManaging coupled line route is made easierChanging one changes all other
Kinds of line coupling
Harness ticket dataSEQ’s zone based fares and smart card deployment present a big opportunityA stop X stop (~ zone X zone) matrix can be generated Selected data can be used to improve matricesEnhanced PT specific matrix estimatorCan use stop boarding, stop alighting or line load data
Other possible PT improvements...Not directly beneficial to ITP/TMR but...Can increase models usability for sister organisations...Operational Indicator calculationsLine costing (line by line)Revenue analysis (line by line)Profitability analysis (line by line)Time table optimisationDepot location/ dead kilometerage minimisation/ maximising fleet utilisationVehicle Scheduling

More Related Content

PPTX
Sumo, Simulation of Urban Mobility, (DLR, Open Source) tutorial
PPTX
Simulation of urban mobility (sumo) prest
PDF
L2 Microscopic Traffic Flow Parameters
PPTX
SUMO ( SIMULATION OF URBAN MOBILITY)
PDF
PPTX
Sumo tutorial: 1) Manual Network creation, 2) OSM to Netwrok, 3) OD Matrix to...
PPTX
Intelligent transportation system its
PPTX
ADVANCED TRAVELLER INFORMATION SYSTEM
Sumo, Simulation of Urban Mobility, (DLR, Open Source) tutorial
Simulation of urban mobility (sumo) prest
L2 Microscopic Traffic Flow Parameters
SUMO ( SIMULATION OF URBAN MOBILITY)
Sumo tutorial: 1) Manual Network creation, 2) OSM to Netwrok, 3) OD Matrix to...
Intelligent transportation system its
ADVANCED TRAVELLER INFORMATION SYSTEM

What's hot (20)

PPT
04 transport modelling
PPT
Speed study analysis
PDF
Lecture 02 Traffic Flow Characteristics (Traffic Engineering هندسة المرور & D...
PDF
02-A Components of Traffic System [Road Users and Vehicles] (Traffic Engineer...
PPTX
Public Vs Private Transportation Systems
PDF
Intelligent Transportation system
PPTX
Traffic simulation
PPTX
Origin & destination survey
PPTX
Accident study
PPTX
Automatic Vehicle Locator
PPTX
Intelligent transportation system
PPTX
Road Safety as a Key Element in Planning & Design
PPTX
Intelligent transport system himanshi
PPTX
Self Driving- Advantages and Disadvantages
PPTX
Real time bus information system
PDF
02-B Components of Traffic System [Roadway and Control Device] (Traffic Engin...
PDF
IRJET-Road Traffic Accident Analysis and Prediction Model: A Case Study of Va...
PDF
2013 methodology for the calibration of vissim in mixed traffic
PPTX
PLACK Sokhit_Traffic Impact assessment (TIA).pptx
PPTX
Traffic flow model
04 transport modelling
Speed study analysis
Lecture 02 Traffic Flow Characteristics (Traffic Engineering هندسة المرور & D...
02-A Components of Traffic System [Road Users and Vehicles] (Traffic Engineer...
Public Vs Private Transportation Systems
Intelligent Transportation system
Traffic simulation
Origin & destination survey
Accident study
Automatic Vehicle Locator
Intelligent transportation system
Road Safety as a Key Element in Planning & Design
Intelligent transport system himanshi
Self Driving- Advantages and Disadvantages
Real time bus information system
02-B Components of Traffic System [Roadway and Control Device] (Traffic Engin...
IRJET-Road Traffic Accident Analysis and Prediction Model: A Case Study of Va...
2013 methodology for the calibration of vissim in mixed traffic
PLACK Sokhit_Traffic Impact assessment (TIA).pptx
Traffic flow model
Ad

Viewers also liked (12)

PPT
Session 38 Martin Holmstedt
PDF
En us ptv-vistro_brochure
PDF
01_102808_I-390_Calibration_Report
PPTX
What\'s new in Visum 11.5
PPT
PTV Emissions &amp; Enviver
PPTX
Continuous Flow Intersection
PPT
PTV Vissig Optimisation Share
PPTX
Transport Modelling Workshop Software Innovation
PPTX
Introduction to PTV Vistro
PPT
Presentation on Traffic Volume Survey
PPTX
Urban traffic management system assignment 2
PPTX
VISSIM Manual ( Huong Dan Su Dung VISSIM)
Session 38 Martin Holmstedt
En us ptv-vistro_brochure
01_102808_I-390_Calibration_Report
What\'s new in Visum 11.5
PTV Emissions &amp; Enviver
Continuous Flow Intersection
PTV Vissig Optimisation Share
Transport Modelling Workshop Software Innovation
Introduction to PTV Vistro
Presentation on Traffic Volume Survey
Urban traffic management system assignment 2
VISSIM Manual ( Huong Dan Su Dung VISSIM)
Ad

Similar to BSTM-MM in VISUM (20)

PPT
Parallel Programming Primer
PPTX
Voyager Presentation
PPT
Parallel Programming Primer 1
PPT
Anti Collision Railways System
PDF
ML and Data Science at Uber - GITPro talk 2017
PPTX
Patterns and practices for real-world event-driven microservices
PPTX
Patterns and practices for real-world event-driven microservices by Rachel Re...
PPT
SoTM US Routing
PDF
Spark Summit EU talk by Francois Garillot and Mohamed Kafsi
PDF
Mobility insights at Swisscom - Understanding collective mobility in Switzerland
PDF
Features
PDF
Sc13 comex poster
PPTX
Introduction to NServiceBus
PPT
Machine Learning Approach to Report Prioritization with an ...
PPT
Target updated track f
PPT
Chip Ex2010 Gert Goossens
PPT
Material Handling System
DOCX
Mca5010 web technologies
PPT
Mazda Use of Third Generation Xml Tools
DOCX
Mca5010 web technologies
Parallel Programming Primer
Voyager Presentation
Parallel Programming Primer 1
Anti Collision Railways System
ML and Data Science at Uber - GITPro talk 2017
Patterns and practices for real-world event-driven microservices
Patterns and practices for real-world event-driven microservices by Rachel Re...
SoTM US Routing
Spark Summit EU talk by Francois Garillot and Mohamed Kafsi
Mobility insights at Swisscom - Understanding collective mobility in Switzerland
Features
Sc13 comex poster
Introduction to NServiceBus
Machine Learning Approach to Report Prioritization with an ...
Target updated track f
Chip Ex2010 Gert Goossens
Material Handling System
Mca5010 web technologies
Mazda Use of Third Generation Xml Tools
Mca5010 web technologies

BSTM-MM in VISUM

  • 1. WWW.PTVap.COMBSTM-MM in VISUMVikas Sharma, PTV Asia Pacific
  • 2. BSTM is for Brisbane SDSouth East QueenslandBrisbane SDBrisbane CityBrisbane SD == BSTM“The Study Area”
  • 5. 169 Special Zones9788 nodes24500 links2304 PT linesBus, rail and ferry routesModesModesCar as DriverCar as PassengerWalkBikeWalk + PTCar + PT (Park & Ride)Car + PT (Kiss & Ride)TruckPTRailBusFerryExpress BusLight Rail
  • 6. Trip PurposesHome based work (Blue Collar)Home based work (White Collar)Home based education (school)Home based education (uni/ tafe)Home based shoppingHome based otherWork based workOther non-home based
  • 7. Private Vehicle LoadingLinks divided into various types based onMax Capacity of a lane (600 cars to 2100 cars)Free Flow Speed (20kmph to 100kmph)J FactorCongested time on links is found by Akcelik functiont = to + 0.25 Tf[(V/C-1) + {(V/C-1)2 + 8 J (V/C) / (C Tf)}0.5]
  • 8. Public Transport User LoadingFrequency of a service to guess wait timeCommuters using trains and ferries ‘doubly’ familiar than those using busesWait time 2 times more onerous than travelling in the vehicleCommuters use walk (or bike) to reach a station/bus stop but walking is 1.4 times more onerous than travelling in the vehicleIt takes 6 sec to board a train/ ferry but 9 sec to board a bus
  • 9. Model StructureBasic StructureSub-models:Commercial Vehicle ModelExternal Movement ModelHousehold Segmentation ModelBased on workers & studentsAccessibility ModelPT/ Walk to WorkVehicle Availability ModelPark & Ride/ Kiss & RideTime Period SplitTrip GenerationTrip DistributionMode SplitAssignment
  • 10. Original Implementation in EMMEUses EMME’s network and matrix calculator through a series of macrosA wrapper macro calls various other macros for different modules/ sub-modelsMultiple level of nesting: harnesses historical work done by recycling classical macrosUses multi-class equilibrium assignment for highway and multi-modal assignment for transit with user defined ‘volume delay’ and ‘transit time’ functions
  • 11. Adaptation in VISUMA combination of VISUM’s off-the-shelf procedures and Custom scripts in PythonTwo levels of wrappingVarious operations and scripts are bundled as ‘Procedure Parameter’ filesVarious ‘parameter files’ are loaded and ‘executed’ through a wrapper scriptAlso used for convergence tests andA solution for RAM Fragmentation problems leading to ‘Memory Errors’
  • 12. Folder SetupModel can be run at any location in the computer butA pfd needs to be designed and saved (as std.pfd) and copied at <../PTV_Vision/VISUM10/Exe> folderFolder carrying the model has two sub-foldersmatrices: (to keep most of the output matrices)tpfmatrices: (to keep time period factor matrices)
  • 13. FilesParameter files (7)00.par01.par02_MCP_AM_TD.par03_MS.par04_PNRLogit_KNRLogit.par05_TP.par06_Ass.parFilter filesT2.filT3.filNormal bus roads.filNormal buses_t2_t3.filVersion file (1)bstm.verTime period factor matrix files (48)Six character nameFirst two character for time period (am)Third character to mark if it is for Production or Attraction (a/p)Last two characters for the modeCd (car driver)Cp (car passenger)Om (other modes)
  • 14. OutputsLoads and paths in VISUM version fileMatrices by purpose and modeA text log providingstart and end time of every moduleMatrix sumsStatus of convergence criteria for every loopContinuously updated...can be opened and checked while model run is on
  • 15. Scripts (60)TG*Trip GenerationTD*Trip DistributionMCP*Mode ChoiceMS*Mode SplitASS*Assignment relatedCV*Commercial VehicleEM*External Traffic ModellingVA*Vehicle AvailabilityHS*Household SegmentationPNR*/ KNR*Park/ Kiss & RideCA*Accessibility Calculations
  • 16. Script Hierarchyif ATL change < 0.5%
  • 17. Procedures00 Initialisation/ TGEdit Attribute (link costs)AssignmentCalculate Skim Matrix01 SubmodalsCVMain zone modificationLevelling/ Smoothening heavy truck productions/ attractionsPnRMatrix Convolution (to find the best station)External ModelEdit Attribute?
  • 18. Procedures03 Mode SplitSet run and dwell times (turned off: only run in case of network changes)06 AssignmentAssignmentCalculate Skim MatrixRead filtersEdit Attributes (link PT run times)Set run and dwell times (only for segments which are NOT ferry, rail or busways)
  • 19. Procedures/ Scripts to be run only when model is being modified0000a InitialisationProcedure 2-4: “Edit Attribute” to recalculate link costs00c PT Fare matrix and Airtrain adjustmentsProcedure 11: PT Assignment with Fare matrix calculationProcedure 12: A script to adjust for Airtrain fares03 Mode SplitProcedure 2: Set PT runtime from EMME3 dataProcedure 3: Set PT dwell times from EMME3 data
  • 20. Pending IssuesStation Choice sub-model (part of Park & Ride sub-model) is limited to two iterationsInstead of original fiveA simplified script is available which bypasses station choice and dumps all trips marked for a station to itCalculation of fare matrix for PT is time consuming and is recycled at the momentNot a major issue as zonal fares do not change with change in the networkRuntime for each iteration is 6 hoursTime reduces to 3 hours if station choice model for PnR/ KnR is bypassed
  • 25. How to use?Code new networkZones, connectors, links, lines, stopsRecalculate fare matrixRecalculate link costsSplit base matricesTime period factor matrices Truck seed matrixRelatively simple operationMostly, values will be repeatedCan be automatedEI.IE proportion matrix
  • 26. Acquire data for new zonesHouseholdsPopulationChildrenTotalSchool Age ChildrenPost Secondary StudentsResidents employedTotalIn blue collar industriesIn white collar industriesDependents per household aged0-1718-65>65 Special GeneratorsSchool EnrolmentsPrimary/ Pre-primarySecondaryTertiaryEmploymentRetailServiceProfessionalIndustrialOtherVehicles per household
  • 27. Comparing EMME VISUM Car volumes
  • 28. Comparing EMME VISUM Car volumes
  • 29. Comparing EMME VISUM Car volumes
  • 30. PythonObject oriented programming/ scripting languageOpen source languageEasily extensibelInterpreted language/ JITCCross PlatformStrong user baseOften used to teach programming to non-programmersEasy to write and maintain code
  • 31. Why use Python?Easy to learnQuick – written in C/C++Abundance of librariesMatricesGraphicsSimulation etcPopularESRIGoogleNokiaNASA, etcExcellent for scientific applicationsNetworksData analysisLand use modelling, etcGuido van Rossum
  • 32. Learning PythonEasy to learnClean syntaxPTV Vision TutorialUsing Python with VISUMAll files (with examples) included with VISUMPythonWin interactive shellLots of web resources – www.python.org
  • 33. Basic interaction with VISUMVisum object exposed when running scriptAccess to just about everything in VISUMVisumPyimport numpy as npimport win32com.clientimport VisumPy.helpers as himport VisumPy.matrices as mz = np.array(h.GetMulti(Visum.Net.Zones,"No"))onhtrp=m.readBIMatrix(Visum.GetPath(69)+"onhtrp.mtx")np1=m.readBIMatrix(Visum.GetPath(69)+"wnp1.mtx")np2=m.readBIMatrix(Visum.GetPath(69)+"wnp2.mtx")np3=m.readBIMatrix(Visum.GetPath(69)+"wnp3.mtx")
  • 34. Matrix manipulationNumpy – Python matrix libraryBasic operationsMatrix indexingVisumPy.matricesAggregateTrip Length FrequencyMatrix BalancingMore...#Car Driverhwyamt = np.array(h.GetSkimMatrix(Visum,"hwyamt","CAD"))hamcst = np.array(h.GetSkimMatrix(Visum,"hamcst","CAD"))pkcost = np.array(h.GetMulti(Visum.Net.Zones,"pkcost"))zoneah = np.reshape(h.GetMulti(Visum.Net.Zones,"zoneah"),(N,1))zonevh = np.reshape(h.GetMulti(Visum.Net.Zones,"zonevh"),(N,1))wbu1 = bmmtt * hwyamt+\bcost * ( hamcst +0.5*(pkcost))+\badvh * ( zoneah - zonevh )+\bshftv
  • 35. NumPy: Numerical PythonAn array/ matrix package for PythonWell suited for demand modelling – one function can operate on the entire arraySlicing by dimensions and applying functions to these slices – concise and straightforwardNearly 400 methods defined for use with NumPy arrays (e.g. Type conversions, mathematical, logical etc)ResourcesNumPy homepage: http://numpy.scipy.org/NumPy download: http://www.scipy.org/DownloadNumPy tutorial (not complete): http://www.scipy.org/Tentative_NumPy_TutorialNumPy Example List: http://www.scipy.org/Numpy_Example_List_With_Doc
  • 36. Data VisualisationWealth of Python extensionsExcel chartingMatplotlib library
  • 37. Custom User InterfaceswxPython – GUI libraryComprehensive C++ GUI toolkit
  • 38. Looking ahead...Just about anything is possible with Python!Script sharingVisumPy will growExciting future ahead
  • 43. PT Line Buffers / Google Transit Import
  • 45. VISUM Junction Editor?VISUM started as a strategic travel demand modelling softwareClassical node-link topology (or a graph of vertices and edges)A junction essentially remains abstracted as a node (a point)More demanding assignment algorithms required more precise junction delay assessmentsDynamic User Equilibrium / Stochastic Dynamic etcBlocking Back AnalysisExport to VISSIM for micro-simulationNeed felt to let users manage junction attributes graphicallyLets users view and manipulate a junction’s attributesAlso lets manipulation of other network objects directly related to the junctionLinks, Turns, Legs, Lanes, Laneturns, Signal Controllers, Signal Groups, Signal Timings 44
  • 46. The editor opens alongside the main network mapper...45
  • 47. And provides control over directly related network objects...46
  • 48. Graphical and tabular views are in sync47
  • 49. Attributes in tabular views can be edited...Set of attributes displayed can be fully customised...48
  • 50. Geometry view provides manipulation of junction specific network objects...49
  • 51. Signal controller and signal heads can be manipulated......added, deleted and assigned to lane-turns50
  • 52. An extended signal time editor (VISSIG) can be used for including multiple signal programs51
  • 53. A daily signal program ‘list’ can be generated52
  • 55. ‘One time’ global settings are specified separately...54
  • 56. Intersection GeometryIntersection performance (using HCM 2000/2010)Node impedance during assignmentMicro-sim model generation
  • 61. Node ImpedanceTurn VDFTurn VDF + Node VDFHCM 2010
  • 62. Assignment algorithm with more detailsBlocking – back calculations (pseudo dynamic assignment)Static assignment with HCM 2010Dynamic assignmentsDynamic stochasticDynamic user equilibriumBi-criterion equilibrium assignments for toll investigations
  • 63. Signal investigationsVisualise signal settings through time-space diagramsSignal cycle and split optimisationSignal coordination
  • 64. Public Transportation ImprovementsIncorporate the full time table (all systems)Visualise the timetable in its entiretyImprove headway based assignmentHeadway calculation based on time table dataLess volatility due to departure time variation in case of infrequent services
  • 66. Perform time-table based assignmentTake into account time-table coordinationPrecise PT performance indicator calculationSearch connections for each OD pairTwo alternative algorithms available for connection searchBranch and boundShortest path
  • 67. Further improve headway based assignmentIncorporate a choice model for boarding decisionNo information and exponentially distributed headwaysNo information and constant headwaysInformation on the elapsed wait timesInformation on the next departure times of the lines from the stopComplete informationThis can potentially incorporate behavioural effect of the ‘passenger information system’
  • 68. Consolidate your stopsGroup stops as per the ground situation / real life modellingManage walk connectors and walk times between group stopped easilyMake do with less precise informationSystem to system instead of stop to stop
  • 69. Example: Queen St/ King George SqAll stops close-by / sharing platform groupedConnectors createdZero transfer time assumedAll grouped stops can be further grouped if in vicinityConnector createdIndividual walk-times/ transfer times can be supplied....ORGeneralised transfer times can be supplied
  • 70. Incorporate more PT detailsLine coordinationA headway of 20min means a wait of about 10minEffect of introducing a second line will depend on the exact departure time vis-a-vis the first lineLine coupling/ splitManaging coupled line route is made easierChanging one changes all other
  • 71. Kinds of line coupling
  • 72. Harness ticket dataSEQ’s zone based fares and smart card deployment present a big opportunityA stop X stop (~ zone X zone) matrix can be generated Selected data can be used to improve matricesEnhanced PT specific matrix estimatorCan use stop boarding, stop alighting or line load data
  • 73. Other possible PT improvements...Not directly beneficial to ITP/TMR but...Can increase models usability for sister organisations...Operational Indicator calculationsLine costing (line by line)Revenue analysis (line by line)Profitability analysis (line by line)Time table optimisationDepot location/ dead kilometerage minimisation/ maximising fleet utilisationVehicle Scheduling
  • 74. Emission ModellingA set of emission factors from Germany, Switzerland and Austria (HBEFA 3.1)More countries joining-inSystematic descriptors for traffic situation (ARTEMIS)Assessment and Reliability of Transport Emission Models and Inventory SystemsSimplifies mapping from transport models to emission modelsUrban/Rural, road hierarchy, free flow speed and LOSReadymade as well as customisable fleet compositionEnables localisationCold/ warm start distinction also possibleOutput can be exported as shape file for more detailed modelling

Editor's Notes

  • #3: Our big and coarse model is know as BSTM...stands for Brisbane Strategic Transportation Model. Its for the BSD...which the city and some full and part councils around it.
  • #4: This ‘study area’ is divided into 1500 internal zones. In addition to that it has 15 ‘gateway’ zones and about 170 special purpose zones (mostly rail and bus terminals).Network is made up of about 10,000 nodes and 25,000 links. It also has about 800 pt routes.
  • #5: Travel is described in terms of eight modes. Notice that Car appears twice and PT thrice. Also notice that PT is made up component systems (rail, bus, ferry etc).
  • #6: Also, and independently, travel is described in terms of its intent (or purpose). Notice how frequently the word ‘Home’ appears. Also notice that workers are divided by the colour of their collar....and student are divided between school and uni.
  • #7: Roads are grouped according some obvious attributes such as lanes and central divisionAnd some not so obvious ones such as .....how many cars can flow on each of its lane.....and how fast they will go unhindered....and how quickly this speed will fall with increasing volume.The complicated looking function ensures that time taken by a vehicle on a link increases with increasing volume (notice that every symbol except v is a constant). The complications of iterative procedures are taken care by modern day tools.
  • #8: Remember that PT is a single mode (Rail or Bus or Ferry is not an independent mode). A journey is made up of walk, in-vehicle travel and wait. Complications are taken care by modern day tools.Lot of these assumptions might sound very coarse but they are better than not having them at all.
  • #9: Basic structure is traditional and simple but many of the constituent sub-models are very modern.
  • #47: Has its own toolbar
  • #51: Demonstrate VISSIM Preview and ICA LOS analysis
  • #65: Line transfers for feeder services/ coordinated services