Development of an Open Matrix Emme Integration Tool

Slides:



Advertisements
Similar presentations
Implementing Tableau Server in an Enterprise Environment
Advertisements

1 Projection Indexes in HDF5 Rishi Rakesh Sinha The HDF Group.
HP Quality Center Overview.
Breaking the Static Barrier: Building Regional Support for Implementation of Dynamic Traffic Assignment in Long-Range Planning Processes TRB Planning Applications.
Streaming NetCDF John Caron July What does NetCDF do for you? Data Storage: machine-, OS-, compiler-independent Standard API (Application Programming.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Data Analytics and Dynamic Languages Lee E. Edlefsen, Ph.D. VP of Engineering 1.
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
Agenda Overview Why TransCAD Challenges/tips Initiatives Applications.
SCRIPTING LANGUAGE. The first interactive shells were developed in the 1960s to enable remote operation of the first time-sharing systems, and these,
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
Chapter 3 Software Two major types of software
Workflow API and workflow services A case study of biodiversity analysis using Windows Workflow Foundation Boris Milašinović Faculty of Electrical Engineering.
Air Quality Data Analysis Using Open Source Tools
Data Transformation for Analysis Purposes Presented By: Gregg Ravenscroft Khulisa Management Services
CORE Rome Meeting – 3/4 October WP3: A Process Scenario for Testing the CORE Environment Diego Zardetto (Istat CORE team)
Calculating Transportation System User Benefits: Interface Challenges between EMME/2 and Summit Principle Author: Jennifer John Senior Transportation Planner.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
ARC ABM Visualization & Reporting ARC – Nov 12, 2010 Activity-Based Model (Java, Cube) Activity-Based Model (Java, Cube) Database (SQL Server) Visualization.
Stephen Lawe Colin Smith April 4, 2013 Open Source Programming in Transportation Prepared for: 2013 TRB Applications Conference.
K. Harrison CERN, 20th April 2004 AJDL interface and LCG submission - Overview of AJDL - Using AJDL from Python - LCG submission.
Development of ORBIT Data Generation and Exploration Routines G. Shelburne K. Indireshkumar E. Feibush.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Introduction of Geoprocessing Topic 7a 4/10/2007.
Hands-on Introduction to R. We live in oceans of data. Computers are essential to record and help analyse it. Competent scientists speak C/C++, Java,
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
EMME Users’ Group Meeting Recent toll patronage forecasting using EMME 27 May 2011.
WHAT OUR CUSTOMERS ARE SAYING “After thorough market research and a review process, Qorus Breeze Proposals stood out from the competitors because of its.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
Context Service Overview
TACTIC | Workflow: Project Management OSS on Microsoft Azure Helps Enterprises to Create Streamline, Manage, and Track Digital Content MICROSOFT AZURE.
Open Source & Interoperability Profit Proprietary Closed Free Collaborative Open.
Executive Overview. Software modeling is essential, because it is the map that guides your developers. Additionally: Modeling Software  Visual information.
Introduction of Geoprocessing Lecture 9 3/24/2008.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
Programming Language Basics. What is a Programming Language? “A computer, human-created language used to write instructions for a computer.” “An artificial.
Molecular Dynamics Analysis Toolkit Karl Debiec and Nick Rego Chong Group Department of Chemistry August 30 th 2013.
If it’s not automated, it’s broken!
WV DOT Scanning Project
Travel Modelling Group Technical Advisory Committee
Air Plugins Extending and customizing uDeploy (IBM UrbanCode Deploy)
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Development Environment
Amazon Storage- S3 and Glacier
Docker Birthday #3.
Mohamed Mahmoud, Ph.D. Senior Planner, Forecasting TransLink
Spark Presentation.
6 Benefits of Using Microsoft Access Database. Microsoft Access is an efficient program that helps companies to carry out complex business processes in.
Study course: “Computing clusters, grids and clouds” Andrey Y. Shevel
The Client/Server Database Environment
Balanced Scorecard Designer
TRANSLATORS AND IDEs Key Revision Points.
DataForge: A DDI-Enabled Toolkit for Researchers and Data Managers
Web Server Administration
Software Defined Networking (SDN)
Chapter 2: System Structures
Keep Your Digital Media Assets Safe and Save Time by Choosing ImageVault to be Your Digital Asset Management Solution, Hosted in Microsoft Azure Partner.
Top Reasons to Choose Android Today. Over the years the Android OS has progressed largely by acquiring major percent of global market share. A number.
Top Reasons to Choose Android Today. Over the years the Android OS has progressed largely by acquiring major percent of global market share. A number.
Touchstone Testing Platform
Programming Language Basics
Agile testing for web API with Postman
Single Cell’s Progenitor Powered by Microsoft Azure Improves Organisational Efficiency with Strategic Procurement, Contract Management, and Analytics MICROSOFT.
Business Intelligence
TransCAD Working with Matrices 2019/4/29.
Computational Environment Management
Web Application Development Using PHP
Integrated Statistical Production System WITH GSBPM
Presentation transcript:

Development of an Open Matrix Emme Integration Tool INRO Model City Portland September 21, 2016

What is OMX and why should I care? How do EMME and OMX work together? Today’s Talk What is OMX and why should I care? How do EMME and OMX work together? Example integrations for LCOG’s mode choice model Oregon Metro’s new multi-criterion evaluation toolkit

What is OMX and why should I care?

Purpose of OMX Is a simple standard matrix format for storing and transferring matrix data that can be easily adopted For Anyone managing transportation data with a matrix structure Who Wants a portable and open format for storing and exchanging that data That Is easy to understand, can be used in custom programs/scripts, and supports commercial products Unlike Existing solutions that are either proprietary, cumbersome, slow, and/or too large

Who We Are A diverse group of agency, consultant, and research modelers Formed a working group to define and implement the file format for use in modeling Similar to the HTML working group for example Formed in early 2013, shortly after TRB Periodically meet to update the standard/project

We Believe OMX will: make model development and application easier across models and software packages help spur industry research and innovation by having a shared data structure (think shapefile, GTFS) enable researchers, students, agencies, and practitioners to collaborate in ways that are currently difficult, cumbersome and error-prone

What is OMX Open matrix is a published file format (i.e. skims.omx) Based on open-source HDF-5 file storage technology Binary data storage with compression Stores multiple matrices in one file and includes zone indexes/lookups Can contain additional attributes for matrices and indexes Python, R, Java, C#, C++, Ruby interfaces available Built-in support in EMME, VISUM, and TransCAD Supported by CT-RAMP and DaySim ABM platforms

How do EMME and OMX work together?

inro.emme.data.matrix.export_to_omx

inro.emme.data.matrix.import_from_omx

Example integrations

EMXtoOMX Command Line Tool EMME tools work well for basic matrix I/O However, we needed something that easily fits within our typical DOS-based overall model workflow Thus, we developed a little command line tool for matrix I/O Export python EMXtoOMX.py proj.emp 9999 mats.omx -e mf1 mf2 Import python EMXtoOMX.py proj.emp 9999 mats.omx -i mf1 mf2

EMXtoOMX Command Line Tool Steps Starts EMME Loads the specified project and scenario If export: Exports the matrices using inro.emme.data.matrix.export_to_omx Removes appended matrix names in order to keep tool interface simple mf1_timau  mf1 If import: Imports the matrices using inro.emme.data.matrix.import_from_omx

LCOG Model Choice Model Example Eugene MPO C++ mode choice model previously did binary databank I/O, which is no longer supported So we revised the C++ program by linking in the OMX/HDF5 libraries and recompiling the program Updated the overall model run script as well: Export matrices python EMXtoOMX.py LCOG.emp 9999 mos.omx -e mo10 mo11 mo12 mo13 … python EMXtoOMX.py LCOG.emp 9999 mds.omx -e md02 md03 md34 python EMXtoOMX.py LCOG.emp 9999 mfs.omx -e mf294 mf295 … Run model lcogmc.exe hbw.ctl report.rpt Read back in updated matrices python EMXtoOMX.py LCOG\LCOG.emp 9999 mfs.omx -i mf81 mf82 mf83 …

Metro MCE Toolkit Example Portland Oregon MPO multi-criterion evaluation (MCE) / benefits-cost analysis (BCA) social return on investment (SROI) Python/pandas-based calculator currently being development Requires zone, OD, and link-level model outputs for a base and build scenario Monetizes the differences and compares the benefits to scenario costs Model also run via cmd line so data export looks similar to LCOG: Export base scenario skims and trips python EMXtoOMX.py nb_skimsbank.emp 4 mfs.omx -e mf1 mf2 … python EMXtoOMX.py nb_assignbank.emp 4 mfs.omx -e mf8 mf7 … Export build scenario skims and trips python EMXtoOMX.py b_skimsbank.emp 4 mfs.omx -e mf1 mf2 … python EMXtoOMX.py b_assignbank.emp 4 mfs.omx -e mf8 mf7 …

Resources

OMX project, code, packages, examples, etc. Resources OMX project, code, packages, examples, etc. https://github.com/osPlanning/omx EMME OMX cmd line tool https://github.com/bstabler/EMXtoOMX HDF5 https://www.hdfgroup.org/hdf5 pandas (basically Python’s version of R) http://pandas.pydata.org

Contacts Ben Stabler ben.stabler@rsginc.com www.rsginc.com Portland, OR ben.stabler@rsginc.com www.rsginc.com