-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
doc: add tp-lib stage 1 proposal #177
base: main
Are you sure you want to change the base?
Changes from all commits
1246349
f70d23c
8c19c36
ef0ceab
8c962b0
279f9d7
352c852
21a9e90
35e9aba
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
# Questionnaire for projects intending to join the OpenRail Association | ||
|
||
_As a project intending to join the OpenRail Association, please fill out this questionnaire and send it to the Technical Committee. See the [incubation process](../../incubation-process.md) for details about criteria and requirements for new projects and how it works to get new projects into the association._ | ||
|
||
_Copy this template and fill in your answers to the questions in the sections below._ | ||
|
||
## What is the project's name? | ||
|
||
Trainpositioning lib | ||
|
||
## Describe the project. What does the project do, why is it valuable, where does it come from? | ||
|
||
The library is used in production by Infrabel. It allows to post process the GNSS location as measured by a train. At Infrabel we use it to improve the positioning of measurement vehicles and thus of the measured values of the track, catenary, signaling, ... | ||
|
||
The library works by taking into account: | ||
|
||
- the navigability of the topology, you cannot jump from one track to the other | ||
- a train path as registered by the traffic management or the signaling system | ||
|
||
## Who are the maintainers of the project (these will be the primary contacts for the OpenRail Association)? | ||
|
||
Infrabel: | ||
|
||
- [email protected] | ||
- [email protected] | ||
- [email protected] | ||
- [email protected] | ||
|
||
## Which organizations are sponsoring/contributing to the project? | ||
|
||
Infrabel | ||
|
||
## Where is the code hosted? | ||
|
||
At the moment, on a gitlab server at Infrabel. We want to opensource it immediately under the openrail organisation. | ||
|
||
## Which exact repositories do you intend to transfer to the GitHub organization of the OpenRail Association? | ||
|
||
Originally, the repository contains a JSON API. We will split of the logic from the API and put it in a separate repository. The API wrapper is not very useful to opensource, so we will only opensource the library repository. | ||
|
||
|
||
## What is the project's main license? | ||
|
||
Apache License 2.0 | ||
|
||
## What other licenses does the project use, e.g., for included 3rd-party code? | ||
|
||
|
||
We are still in the progress of simplifying the library, but at the moment, these packages are used with their respective licenses: | ||
|
||
- NetTopologySuite: BSD-3-Clause License | ||
- NodaTime: Apache License 2.0 | ||
- Npgsql.NetTopologySuite: PostgreSQL License | ||
- Serilog: Apache License 2.0 | ||
- Serilog.Sinks.Console: Apache License 2.0 | ||
- DotSpatial.Projections: MIT License | ||
|
||
We don't immediately see any major issues. | ||
|
||
## Are any trademarks associated with the project? | ||
|
||
No | ||
|
||
## Does the project have a web site? Where is it? Are you ok with moving it to be hosted by the OpenRail Association? | ||
|
||
No, no website. We will foresee documentation and a separate .net project to run tests, both will also be open sourced. | ||
|
||
|
||
## What are the communication channels the project uses (such as mailing lists, Slack, IRC, etc.)? | ||
|
||
Git issues | ||
|
||
## What is the project's leadership team and decision-making process? | ||
|
||
- Project lead: [email protected] | ||
- Teamlead: [email protected] | ||
- Dev: [email protected] | ||
- Dev: [email protected] | ||
|
||
## How is it decided if and when a pull request is merged? | ||
|
||
Depends on the pull request, generally the project leader decides. | ||
|
||
## How can someone become a committer or a maintainer to/of the project? | ||
|
||
After discussion with the project leader and current development team. | ||
|
||
## How is development of the project planned and organized? Is this transparent to the public? | ||
|
||
Using git issues & epics/stories. | ||
|
||
## What is the project's roadmap? | ||
|
||
After the project refactoring and extensive testing, no further development is planned. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What does that mean in terms of resources allocated to the project? Are there areas where other users will likely need further development? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The TP-lib is part of a bigger project that has a dedicated team of 4 and 5 engineers. There is always support for the project for internal needs.
That's difficult for me to answer. I don't know the needs of "other users". |
||
|
||
## What other organizations in the world should be interested in this project? | ||
|
||
All organisations that use measurement trains and process the measurements. But the project can also be used as a guideline for organisations that want to post processes location measurements for other domains that include topology and navigability. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What are the specific requirements for measurement trains so that the trainpositioning lib can be useful? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Measurements done by a measurement train need to be linked to a track position. The TP-lib helps with this aspect of positioning. A measurement train will generally measure a value and save that value either in a kind of ledger together with other measurements such as gnss position. Or it could save the value together with the timestamp in a seperate file. In a post processing step, the gnss position is improved and positioned on the track topology. Afterwards, the measured value is positioned on the track topology. |
||
|
||
## Why would this project be a good candidate for inclusion in the OpenRail Association? | ||
|
||
Because all infra managers do this and should better do it together. | ||
|
||
## Are there competing products or projects? If there are, please explain how the proposed projects differentiates. | ||
|
||
|
||
Not that we know of. | ||
|
||
## What standards does the project implement or rely on? How are they related to other existing standards? | ||
|
||
Topology and navigability is also defined by several other railway related standards. But they are very loosely related. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In what form does the library consume topology and train path data? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't understand this question. It's a dotnet library so the "form" is a dotnet object of a dotnet class inside a dotnet list object. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So there is no API for reading data about topology and train paths from a standard format? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To my knowledge, the only standard format for topology that exists at the moment is railML. Besides the moral objections from some of the Openrail members, the TP-lib currently does not support working with this format. RCM-DX also allows to define the topology but this definition is not sufficiently railway independent (still heavily SBB). We are working on making that more open and according to RSM/RTM standards. Hopefully we will be able to implement a connector with the RINF by the start of 2026, when all IM's need to publish their microtopology according to EU legislation. At the moment, al data transfer into the library is only defined as an "Interface". That means that the necessary functions and their signature (properties input and output) are defined but the actual work isn't. This allows every user of the library to implement their own calls. Be it to a knowledge graph, a database, a file or something else. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is there any (possible) relation to RCM DX? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not all members of the Technical Committee have access to the BoD materials. So if there is any more info about the context and how to understand the diagrams please add them here as well. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. RCM-DX is a data format. The RCM-DX file can contain GNSS data. In case topological locations are also requested, TP-Lib could be used to read data out of the file and write its result back into the RCM-DX file. TP-lib is currently not able to read/write to RCM-DX but an implementation could be developed. |
||
|
||
## What is the tech stack of the project? Name the major programming languages and frameworks which are used. | ||
|
||
C#.NET | ||
|
||
## What is the project's plan for growing in maturity if accepted within the OpenRail Association? | ||
|
||
Find other openrail members with similar software and if they are willing, combine their logic into this project and collaborate to both advance. | ||
|
||
## Concluding statements | ||
|
||
By sending this questionnaire you confirm that the project will adhere to the [code of conduct](CODE_OF_CONDUCT.md) of the OpenRail Association. | ||
|
||
By sending this questionnaire you confirm that the project intends to be incubated in the OpenRail Association and plans to meet the maturity criteria set out by the OpenRail Association for incubated projects. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Who is the project leader? Is this the PM? Is the PM a technical role?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, PM = Project leader.
That depends on your definition of 'technical'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this context I would define "technical" as "will work with the project on GitHub and is at least able to do commits to the git repository".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's going to be the case yes. I assume that the actual merging (pushing the button) will be performed by a developer.