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