Skip to content

Software & tools

Eliot edited this page Sep 25, 2023 · 38 revisions

Data production & quality

Editing /Management & visualization tools

Tool Name Availability Description Profile License URL
Nplan Available Java backend / TypeScript frontend for create/edit/export of NeTEx data (Support both Timetable based and On-demand polygon based services) Nordic EUPL Backend: https://github.com/entur/uttu Frontend: https://github.com/entur/enki
NSR Available 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 EUPL Backend: https://github.com/entur/tiamat Frontend: https://github.com/entur/abzu
Chouette Available Java backend / Ruby frontend for import/validation/edit/export of NeTEx data. Highly modified version of the old AFIMB version of Chouette. NOTE: Legacy software not recommended for new implementations Nordic CeCIL -B Backend: https://github.com/entur/chouette Frontend: https://github.com/entur/chouette2

Data validation tool

Tool Name Description Profile Repository URL
Greenlight - The Data4PT Validation tool Validating NeTEx data. All https://github.com/ITxPT/DATA4PTTools
XMLlint XML syntax validation, XSD schema validation and constraint checking. All http://www.xmlsoft.org/

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

These mapping and conversion tools empower users to seamlessly transfer NeTEx data to various formats, facilitating interoperability and data exchange within the public transport domain.

Others

Building code from NeTEx XSD

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.

netex-java-model

  • Description: 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.
  • GitHub Repository: netex-java-model on GitHub

netex-parser-java

  • Description: The netex-parser-java is a Java library designed for parsing NeTEx files and providing the ability to lookup entities within an index.
  • GitHub Repository: netex-parser-java on GitHub

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

Python code