Skip to content

Software & tools

Eliot edited this page Sep 29, 2023 · 38 revisions

Data production & quality 📊

An ecosystem of NeTEx XML tools is under development, including both open-source and commercial products.

Editing /Management & visualization tools

These tools enable the creation, modification, storage, and exchange of transport data.

Open source

Tool Name Description Profile URL
Nplan Java backend / TypeScript frontend for create/edit/export of NeTEx data (Support both Timetable based and On-demand polygon based services) Nordic Backend: https://github.com/entur/uttu Frontend: https://github.com/entur/enki
NSR Java backend / JavaScript frontend for import/creation/edit/export for NeTEx stops data. (Act as a National Stops Register for the whole of Norway) Nordic Backend: https://github.com/entur/tiamat Frontend: https://github.com/entur/abzu
Chouette An open source Stop and Timetable data management package. Nordic Backend: https://github.com/entur/chouette Frontend: https://github.com/entur/chouette2
Blicksem https://plannerstack-docs.readthedocs.io/en/latest/bliksem/schedules/

Commercial

Tool Name Description Profile URL
Hogia Public transport Data integration platform. https://www.hogia.se/int/public-transport-system
Ito World Public transport Data integration platform. https://www.itoworld.com/ito-transit-hub/
IVU pool used for the German national NAP. https://www.ivu.com/
Mentz Diva Public transport Data integration platform. https://www.mentz.net/en/solutions/efa/data-integration/#funktionen_tab2
Trapeze Public transport Data integration platform. https://trapezegroup.co.uk/passenger-information/

Data validation tool

Any normal XML validator (e.g. Xerces) can be used to validate a NeTEx document against the NeTEx Schema. This will check data types, tags and tag order, and referential integrity

Here are some specific tools:

Tool Name Description Profile Repository URL
Greenlight - The Data4PT Validation tool Validating NeTEx data. All https://github.com/ITxPT/DATA4PTTools
NeTEx validator java Validation library for NeTEx data, analyzing and reporting schema compliance. Nordic https://github.com/entur/netex-validator-java
Antu Validate NeTEx datasets against the Nordic NeTEx Profile. Nordic https://github.com/entur/antu

Mapping & conversion 🛠️

Conversion of NeTEx between other formats

When it comes to converting NeTEx data to other formats or vice versa, various tools are available to assist in this process. These tools facilitate the transformation of public transport data between different standards and formats. Here are some notable mapping and conversion tools for NeTEx data:

Tool Name Description Profile GitHub Repository
netex-protobuf netex-protobuf is a converter designed to transform NeTEx data into the Protobuf format. Suitable for various NeTEx profiles. netex-protobuf on GitHub
gtfs2netexfr gtfs2netexfr is a specialized tool for exporting GTFS (General Transit Feed Specification) data into NeTEx format, with a focus on the French profile. French NeTEx profile. gtfs2netexfr on GitHub
hastus Giro Hastus OIG script to export NeTEx from a system, in addition can export crew operations. Dutch and Nordic NeTEx profiles. hastus on GitHub
Chimera Chimera is a framework for semantic data transformation pipelines. A converter between GTFS and NeTEx has been implemented adopting an intermediate Transmodel representation. Nordic (ready), EPIP/Italian (ongoing). Chimera on GitHub
Damu Converts NeTEX datasets into GTFS datasets using by the Netex-to-GTFS converter library. Nordic https://github.com/entur/damu
NeTEx to GTFS converter Java Library used to convert NeTEx-Nordic Profile into GTFS datasets. Nordic https://github.com/entur/netex-gtfs-converter-java

Canonical Mapping

For developers looking to achieve enhanced interoperability and seamless integration of shared mobility data feeds, the NeTEx Mapping Solution is a useful resource. Developed through collaboration between the EU-funded DATA4PT project and MobilityData experts, this solution plays a pivotal role in the evolving landscape of the NeTEx standard: https://data4pt.org/w/images/5/5b/Canonical_mapping_-_NeTEx_and_SIRI_new_modes_with_GBFS.pdf

Others 🧰

Name of the Tool Description URL
OpenTripPlanner Timetable and shortest path journey planner supporting reading various input formats including GTFS and NeTEx. https://github.com/entur/OpenTripPlanner

Bindings

A Binding provides a ready made interface for a specific programming language

C# code #️⃣

It is possible to create C# classes in different ways.

There are many tools out there, but for instance, you could use the Microsoft xsd.exe tool or the mganss/XMLSchemaClassGenerator tool available on Github at https://github.com/mganss/XmlSchemaClassGenerator.

Currently there are some issues if you try to use the official NeTEx XSD as a starting point with either of these tools.

However, the above-mentioned tools work fine if you use them together with an adapted set of XSD-files available from Data4PT. The file set is designed to be compatible with the official NeTEx XSD and to cover many important use cases. It does however not cover all use cases possible with the official schema. There is an interactive graphical presentation of the adapted and reduced XSD available at https://data4pt.org/NeTEx/GraphicKit/Documention_of_reduced_XSD.html.

If you wish to try out this reduced XSD, you can download it at https://data4pt.org/NeTEx/GraphicKit/XSD_reduced.zip.

Using the Microsoft tool

  1. Get the zipped XSD.
  2. Extract the ZIP to a folder.
  3. Make sure that you have a recent version of the xsd.exe. It is part of the .NET Framework Developer Pack and can be downloaded from https://dotnet.microsoft.com/download/dotnet-framework.
  4. Install the developer pack. The xsd.exe will be placed in a folder with a path similar to C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools.
  5. Open a command prompt in the same folder as where the NeTEx_publication_reduced-NoConstraint.xsd resides.
  6. Execute the following command (you may have to adapt the path to xsd.exe):

Using the MGANSS tool

  1. Get the zipped XSD.
  2. Extract the ZIP to a folder.
  3. Download and extract the binary from https://github.com/mganss/XmlSchemaClassGenerator/releases to a separate folder, e.g., C:\MGANSS.
  4. Open a command prompt in the same folder as where the NeTEx_publication_reduced-NoConstraint.xsd resides.
  5. Execute the following command (you may have to adapt the path to the exe):

C:\MGANSS\XmlSchemaClassGenerator.Console.exe NeTEx_publication_reduced-NoConstraint.xsd -n http://www.opengis.net/gml/3.2=gml-v

Java code ☕️

When working with NeTEx data in Java, you can generate Java classes from NeTEx XSD using various tools and libraries. This section will introduce you to the tools and libraries available for Java development with NeTEx.

Tool Name Description GitHub Repository
netex-java-model The netex-java-model is a Java library that provides NeTEx XML bindings for Java, including additional support for mapping temporal types to native Java objects. https://github.com/entur/netex-java-model
netex-parser-java The netex-parser-java is a Java library designed for parsing NeTEx files and providing the ability to lookup entities within an index. https://github.com/entur/netex-parser-java

Please refer to the respective GitHub repositories for detailed documentation, usage examples, and installation instructions for these Java libraries.

XML editors

An XML Editor is a software tool that reads and validates XML data files, providing a Graphical User Interface (GUI) to visualize and edit XML schemas and documents.

These tools serve two main purposes:

  • Schema Definition: They allow the definition of W3C schemas and Data Type Definitions (DTDs) to specify XML data structures for specific problem domains, such as public transport. W3C schema files typically end in .xsd, for example, netex_publication.xsd.

  • Document Validation: They help create and validate XML documents according to a given XML schema. XML instance document filenames usually end in .xml, like myStops.xml.

XML editors are especially valuable when working with large data models like NeTEx, which require careful modularization for flexibility and maximum reuse. To effectively manage such schemas, a set of documents often needs to be assembled and interpreted as a whole. We strongly recommend using an XML editor to browse or work with XML schemas.

Some XML Editors

Numerous XML editors are available, including commercial products like XmlSpy and Oxygen, as well as open-source options. You can find a comparison of XML editors at Comparison_of_XML_editors.