02/27/16 - The OMX project is now entirely on GitHub - https://github.com/osPlanning/omx.  Check out our linked wiki (https://github.com/osPlanning/omx/wiki) for more information, including API user guides, how to import and export OMX matrices from EMME, VISUM, TransCAD, and Cube, where to get the OMX viewer, and other background information on how OMX was created. Note that this site and our listserv (https://groups.google.com/forum/?fromgroups#!forum/openmodeldata-discuss) will no longer be maintained.  Please watch the GitHub project to stay up-to-date on OMX.

Open Model Data:  Collaborating on data formats for transportation and land use modelers

You've found the Open Model Data website! We're a loose group of transportation and land use modeling professionals who share a common vision: we want to specify universal data formats for the large and usually proprietary data formats we use in our daily work. Our goal is to start with matrix data and will eventually expand to other data types as well.

Join us!  There's so much to do. :-)


10/22/15 - Andrew Rohne created a Ruby API

05/28/2015 -
TRB Planning Apps meetup had about 15 people, which was not bad given our time slot.  We discussed progress on OMX, and also an open network format.  We generally agreed that a simple network format could be done, but beyond that, the definition of a network varies so much, that it would be difficult to agree upon a standard.  And, it would be even more difficult to actually get it adopted in practice.  For a simple network format, INRO suggested just using open street map XML.  TransCAD has native support for OMX in version 7 and Cube has started looking into supporting the format as well.  OMX is now being used in a few new models too, with Cube, VISUM, R, and Java. 

02/10/2015 - TRB meetup went well.  One neat idea - store centroid Xs and Ys as lookups in order to make mapping OMX data easier.  We're planning to meet again at the TRB Planning Applications conference in May.  Stay tuned.

OMX Data File Specification Released!
OMX is a file specification for an open matrix (OMX) and a series of APIs for reading/writing OMX files.  We've started this project by collecting case studies and use cases.  We also reviewed existing solutions such as HDF5 and zip matrixAlso check out our discussion group to see how we got here.

What is OMX?

The open matrix file format (or simply OMX) is based on an open-source file storage technology called HDF5. OMX files can store multiple matrices in one file, can include multiple indexes/lookups, and can contain attributes (key/value pairs) for both matrices and indexes. Once created, OMX files can be manipulated and examined using existing platform tools. The first release of the OMX specification is available online and has implementations for Python, Java, R, C#, and Ruby. An implementation for C++ is also under development.  We are in the process of developing importers/exporters for all the major transportation modeling packages as well.

A GUI viewer is available for Windows, Linux, and Mac which allows exploring OMX datasets directly. We hope for the modeling industry to adopt the OMX standard, and we will periodically review the specification to make revisions as necessary.

Why is this important?

The justification for the new format was simple — to create an industry standard matrix format for storing and transferring matrix data.  We believe that an open, common format for matrix data across models and software packages will make model development and application easier.  We also believe that a standard format for a key data structure will help spur industry research and innovation, similar to what the ESRI shapefile did for GIS. An open matrix data exchange format will enable university researchers, students, public agencies, and practitioners to collaborate in ways that are currently impossible.

How do I get started?

We've created APIs which can create, read, and modify OMX matrix files for the four most popular languages used in modeling: Python, R, Java, and C#.  All four are linked in the nav to the left.  The python API is an exceptionally good place to start if you are already familiar with Python scripting.  A C++ API is also being developed.

In the files section, you can also download an OMX file viewer that works on Windows 7 and above.  We also have importers/exporters for all the major transportation modeling packages as well.

Our hope is that existing model systems can be retrofitted to use OMX files instead of proprietary matrix files from software vendors, in order to foster collaboration and data sharing amongst agencies and with the larger public.

Thanks for checking us out!