-
Notifications
You must be signed in to change notification settings - Fork 0
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
EPIC: As MaaS4Italy I would like to receive from the Open Data Hub a standard interface for planned and real-time mobility data (NeTEx and SIRI) #1
Comments
After discussing this in person, some more details
|
The deadline for the first PoC is set to end of March 2024 |
@rcavaliere First PoC is up for static parking data: https://sta-netex.opendatahub.testingmachine.eu/netex/parking I've changed the ID a bit and added IT:OpenDataHub (it has to be globally unique), aside from that it should be faithful to the document. Booleans currently default to XSD validation is also not implemented yet. |
@clezag that's look good, great work. |
I've updated the ID to the format
where e.g. station with This is how I understand the specification of NeTEx (4.2.1), and also matches with their examples. The document from STA is not consistent with the NeTEx spec:
Origin is not necessary, since our scode is unique for station type. Each parking station is guaranteed to have a unique scode, and this way we avoid chaos when we deprecate/change origin in the future |
@clezag this is fine for me! Thanks for the input for the STA IDs |
A PoC for sharing services (currently bike sharing BZ only) is now available: A PoC for SIRI-FM is available here: I think now would be a good time to talk both internally and with STA to define the next steps. On our side, we mainly need to figure out how to integrate all the missing data (e.g. bike/car models, Operator address, zone polygons etc.). With STA I'd like to finalize the workflow, format and interfaces of the API, and possible validation, as soon as possible |
@clezag wonderful work! I will analyze your work more in deep starting next week. I agree with you, we can start sharing this work with STA and define with them the next steps. I will contact them and put you in CC! |
Tasks to be completed:
|
@clezag I have started to insert the metadata. Parking areas and operators are completely filled. |
@clezag a remark: I would suggest to have at the end three different CompositeFrames:
|
@clezag an update on the SIRI interfaces. I have got an informal information that we would need to provide these interfaces using the "Lite" approach foreseen in the standard, which is much simpler. At the end it is exactly to provide end-points that a 3rd party can access with simple HTTP requests. Check as examples https://developer.entur.org/pages-real-time-api |
@clezag I have modified the user story description. The request is to add bike parking data (static -> NeTEx and dynamic -> SIRI) in the interfaces. Please note that we have also a new SIRI profile, some fields have been removed. 240514_PianificazioneSviluppi.docx |
@clezag I have completed the insertion of metadata, including for bike parking. Let me know if there are some doubts, I would suggest to include this data as metadata for the reference station types, and then include in the mapping with the NeTEx export. Let me know when you are done so that I can check if in the NeTEx exports we have all fields available with the proper values. |
@clezag I have had also a look at the current exports. In general, it looks very good! There is something I would change.
|
Just writing down what we discussed in person in addition to the points above: Metadata
Bike Parking
|
@clezag I have seen that in the document the integration modalities for car sharing data in the SIRI interface was missing. I have updated the document. |
@clezag an important update in relation to the implementation of the SIRI interfaces. We have received the attached documentation, available also in the description of this epic. DSRM-Architettura Target_Dati dinamici e sharing v1.2_signed.pdf |
@rcavaliere Just some progress updates: static parking is now fully implemented:
In general I think it's best to limit the dataset to what we know works, and only add new providers/origins explicitly. |
@clezag agree. I have just checked, I inserted all metadata here: https://noibz-my.sharepoint.com/:x:/r/personal/c_zagler_noi_bz_it/_layouts/15/Doc.aspx?sourcedoc=%7B0E6FBB54-B477-4D50-B9A4-1E133893F3B5%7D&file=NeTEx%20missing%20data.xlsx&fromShare=true&action=default&mobileredirect=true Are you checking this file, isn't it? Let me know if there is something missing. Do you have some new NeTEx exports that I can check? Thanks for your great work here |
@rcavaliere
On the static parking export, I've implemented all the missing points, so from my side I consider it complete. Only skidata is missing, which IMO is a "wontfix" until the data collector works again or better is in production. Sharing is here: Still missing are the other bike sharing providers, the car sharing, and then the new SIRI developments |
@clezag let's try to close this first implementation iteration. I have looked at the NeTEx parking export, in my opinion it's nearly done. I would just one thing: I would consider as names for the operators not their origin, but a "standard name". I have made a proposal in the shared Excel file, see here in red: Can you match the correspondent fields with these values? |
@rcavaliere I've added the mapping, but I'm not completely sure I understood: |
@clezag thanks! I would also change the IDs accordingly, so that we have consistency in the data.Yes, skidata and bicincittà have to refer to the same operator STA |
This is also my impression. NeTEx/Siri are really (very big) XML schemas and it's up to the implementers to fill it with life and agree on a subset of it. Most of them call it a profile, so we have EPIP, Nordic profile, UK profile. There appears to be huge room for interpretation, which is a shame. What I miss most is some form of community where you can ask "Here is my XML, am I using it how it is intended?". To answer your question: OTP doesn't use the JSON version of Siri so it's hard to say if it conforms to a schema but if I translate it back to XML in my head it looks correct on first glance. However, I would prefer to try it out with a proper parser and then give you feedback. |
@leonardehrenfried |
@clezag thanks for your feedback. OK, let's push our message that since all this data is licensed CC0 we won't implement any security mechanism in front of the end-points |
@clezag, yes only these filters are really necessary! |
@clezag I tried out the Netex parking feed today and it conformed flawlessly to the schema (that OTP uses). If the Siri XML is of the same quality, I expect it no problems there as well. |
@rcavaliere @leonardehrenfried URL scheme is: siri-lite/fm It defaults to JSON, you can force XML via Let me know if you run into any issues with the XML |
@clezag both are siri-lite, the difference with SIRI "standard" is that there is this simple URL, without a publish / subscribe mechanism at the beginning between data producer and data consumer |
@rcavaliere I've edited my comment above, the |
@clezag can you please put in the main description of this user story the consolidated end-points for the NeTEx and SIRI exports? I have now a bit confusion about what are the correct URLs :-) For the SIRI end-points, I would suggest, if you already didn't fix this, to change "sta-netex" at the beginning and just put "siri.opendatahub...." as mentioned above. Thanks a lot! |
@rcavaliere I'm implementing the filters, and I'm not sure what "datasetId" is supposed to be. To which fields does it map (either in OpenDataHub or netex) |
@clezag can you please tell me exactly where this kind of filter is mentioned? I can not find it... |
|
@clezag I would implement just the facilityRef filter. The datasetId would be useful if we have in the SIRI feed a field specifying the data provider for certain records, which would correspond to our "sorigin" field. But it's not clear to me how we could implement this... |
I've implemented the filters (aside from datasetId). Regarding the endpoint URL, since the service is running both netex and siri at the same time, what do you think of making the endpoint I can also set it up like you suggested, and have two URLs,
but it's a more complicated setup with custom proxy configuration, separate swagger definitions and so on, because we will fake a single service being two separate ones I would prefer one single URL, and then have the |
@clezag thanks for your work. I agree, let's have one single end-point called |
@rcavaliere I'm still working on providing swagger etc. which I will also link in the main story (should just be the One minor thing: please note that in production, using the SIRI In the sprint meeting today, we also emphasized to not forget to link and document this API on out main channels and websites once it has reached some level of stability (when it goes into testing with the NAP). |
@leonardehrenfried https://transmodel.api.opendatahub.com (production) and the old URL will be dismissed shortly |
@clezag can you please put here some examples on how you can make some API calls with active filters? I was not able alone to reproduce this. Thanks! |
Note to myself, the Netex parking feed is now at: https://transmodel.api.opendatahub.testingmachine.eu/netex/parking |
Just FYI, this is the testing link, production is https://transmodel.api.opendatahub.com/netex |
Openapi spec is now up: https://transmodel.api.opendatahub.com/ Feel free to suggest additional documentation we could include. |
@clezag I'm currently working on consuming the Siri feed. What does the following mean?
This is a parking lot with RechargingAvalable=true, so presumably that's a charger for an electric car. But does |
The specs of the mapping are [here, section 3.2.x] (https://github.com/noi-techpark/transmodel-api/blob/main/documentation/240603_PianificazioneSviluppi.docx) TL;DR: In general, the status is to be interpreted as the state of parking, not charging availability. In your case the one parking space is occupied (presentCount=1, capacity=1), so parking is 'notAvailable' For the specific parking station you are looking at, we happen to deduce it from the charging state, because that's all we have, but a SIRI consumer wouldn't know about that. @rcavaliere correct me if I'm wrong here, you wrote the spec 😉 |
@clezag the feedback is correct. At the end the e-charging is location is not available in the sense that a person can not make a charging operation, or is not available because somebody else is charging the car. In both cases the parking is to be considered not available, and that's the reason why, at the moment, we do not differentiate these situations. Also for routing purposes, such parking shouldn't be considered in such situations. |
@clezag we have received an approval for our SIRI FM end-point by the reference national staff! The only thing they have asked to change is the naming of our end-points, as follow: Current situation:
Final situation:
Can you please fix this? Please do it also on our testing environment, thanks! |
Done |
@clezag I think we can close the EPIC. In case of further enhancements, let's open new specific tickets |
In the scope of the new MaaS4Italy project the Open Data Hub is request to provide a standard interface for its mobility data, so that it can be integrated in a new MaaS architecture to be developed at national level. The following specification provides details between available Open Data Hub data and the requested fields.
240701_PianificazioneSviluppi.docx
The services to be considered are:
Below the national specifications to be considered:
230711_Linee-guida-compilazione-NeTEx-IT-v.3.0.pdf
240502_SpecificaSIRI_v.1.0.3.pdf
DSRM-Architettura Target_Dati dinamici e sharing v1.2_signed.pdf
(relevant: paragraph 2.4)
NeTEx exports can be compared with an XSD before being published, available there https://github.com/5Tsrl/netex-italian-profile
The API is online at
The URL schemes are :
/netex
/netex/parking
/netex/sharing
/siri-lite/fm
/siri-lite/fm/parking
/siri-lite/fm/sharing
Update 14.05.2024: STA has also requested to include in the exports bike parking services, since they are bookable and interesting for MaaS providers. I have amended in track change mode the internal specification document with indication on how to include this additional data. Please also note that there has been a new version of the SIRI national standard, some fields for parking have changed (removed).
The text was updated successfully, but these errors were encountered: