Dev:Splitting and merging railML files

From railML 3 Wiki
Revision as of 12:23, 9 September 2024 by RailML Orga Ontology (talk | contribs) (added more text)
Jump to navigation Jump to search

Introduction

This is a guide on splitting and merging railML files.

Problem statement

Users have a big file with railway network and lines in it. Reading software may not support importing this big file. Users want to extract lines from the network to separate files and then (after import) to bring lines back into one network. Splitting and merging of lines may be done by different parties and different tools.

Railway sector actors should be able to prepare their data for splitting and integration in a unified standardized way i.e. split files into (lines) parts intended for integration in an automated way, define explicit points for connection.

General concept

2024-09-09 railML splittingConcept.svg

Connector <netElement> is a redundant <netElement> marking a “border” of a file. It exists in both files after splitting.

Splitting between <netElement>s

Splitting one <netElement> into two <netElement>s

In the Simple example (link to the railML® website) there is only one <netElement> corresponding to the line section between Arnau and Cstadt. This means that net element should be split and replaced by two net elements.

In between of two split net elements a connector <netElement> should be inserted.

If splitting at linear coordinate 2500 then:

- every functional IS with coordinate ≤ 2500 should be extracted to file1;

- every functional IS with coordinate > 2500 should be extracted to file2;

- netElement1 beginning at milage 700 end ending at mileage 2500 should be added in file1;

- netElement2 beginning at milage 2500 end ending at mileage 4300 should be added in file2;

- connector2 should be inserted in the end of netElement1 in file1;

- connector2 should be inserted in the beginning of netElement1 in file2.

Initial net element will be lost.

Splitting functional infrastructure entities with linear location