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 extendable, you can write your own components for parsing inputs and persisting outputs. However, in most cases, you can simply use the default XML based input and output components provided by PLANit, referred to as the “default format”.
Network (zoning, and Services) Input Data Formats
The following data formats are fully or partially supported:
Data Format | Type | Status | Network | (Public Transport) Services | Zoning | Demands | Python | Java |
---|---|---|---|---|---|---|---|---|
PLANit | XML |
Supported | Read/Write | Read/Write | Read/Write | Read/Write | YES | YES |
Open Street Map | XML /PBF |
Supported | Read | Read (platforms/poles only) | Read (No ODs) | N/A | YES | YES |
GTFS | GTFS |
Supported | Read | Read | Read (No ODs) | N/A | YES | YES |
MATSim | XML |
Supported | Write | Write | Write (No ODs) | N/A | YES | YES |
TNTP | ASCII |
prototype | Read | N/A | Read | Read | YES | YES |
Shape files | SHAPE |
prototype | Write | Write | Write | N/A | YES | YES |
where the Network, (Public Transport) Services, 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 supported 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. How to use the memory output formatter is detailed in the documentation sections of PLANit-Python and PLANit-Java, respectively.
For detailed information on the PLANit XML 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