Data formats

In this section of the manual we discuss the data formats supported by PLANit i.e., input/output file formats and structure.

We make a clear distinction between input and output data formats. Inputs comprise network, demands, zoning structure, services (possibly differentiated by service network and service routing) while outputs are differentiated by output type (link, path, etc.). Since PLANit is modular and extendible, you can write your own components for parsing inputs and persisting outputs. However, in most cases, you can simply use the default input and output components provided by PLANit, referred to as the “default format”.

Input Data Formats

The following data formats are fully or partially supported :

Data Format Type Status Network Zoning Demands Python Java
PLANit XML Supported Read/Write Read/Write Read YES YES
Open Street Map XML/PBF Supported Read Read N/A YES YES
MATSim XML Supported Write Write N/A YES YES
TNTP ASCII prototype N/A N/A N/A NO YES

where the Network, Zoning, and Demands columns related to the respective main components of the PLANit memory model required to conduct traffic assignment. A Read/Write result indicates that there exists support to parse and persist the respective PLANit memory model component, whereas Read indicates read support, but no write support, and write vice versa. If there is no Python support, the respective data format is only available through the Java implementation.

PLANit-Python: All traffic assignment runs are conducted using the PLANit memory model and the respective PLANit native XML I/O format. If other inputs are to be used, they must first be converted into the native PLANit XML format using a converter, see PLANit-Python ConverterFactory for more information on how to do this. Once converted, the assignment can use the native XML I/O to collect the inputs and perform the simulation.

PLANit-Java: The user has the freedom to either parse network, zoning, demands via a PlanitProject, in which case an appropriate builder is to be provided that supports a particular data format. Alternatively, network, zoning, demands, can be parsed/persisted via the converter’s readers/writers in one of the supported formats, analogous to PLANit-Python. It is recommended to - like in PLANit-Python - always first convert any inputs/ouputs in the native PLANit XML format via a converter before conducting any assignment, although it is possible to create custom InputBuilders that support other data formats directly, e.g., the TNTP builder is an example of this, or not use the builder but instead use one of the converter readers to create a PLANit memory model of network, zoning, etc. directly from one of the other suported formats.

Traffic assignment output Data

The following output formatters to persist/access results from PLANit assignment runs are available:

Data Format File type Status Documentation Python support Java support
PLANit default output format XML supported YES YES YES
Memory output format None supported YES YES YES

The memory output format does not result in any files on disk as it keeps all the results in memory. Useing the memory outfor formatter is detailed in the respective documentation sections of PLANit-Python and PLANit-Java respectively.

For detailed information on the PLANit default output format we refer the reader to the dedicated section on the PLANit Default Output Data Format.

See Also

PLANit Output Data Formats for information on all available output formats
PLANit Default Output Data Format for the Default PLANit output format
PLANit Input Data Formats for information on all available input formats
PLANit Default Input Data Format for the Default PLANit input format

Last modified January 1, 0001