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.
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!
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.
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.