-
Notifications
You must be signed in to change notification settings - Fork 74
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
Write user-specified options to TransportNetworkConfig #644
Comments
The configuration options at hand could just be in the top level object, rather than in a nested config within the manifest. And actually this flat top-level object would be a networkBuildConfig rather than a manifest. We can safely eliminate the concept of bundle manifests; in storage, these are just |
If users want a different config, they can just create a new bundle and select previously used GTFS and OSM. |
Initial suggested configuration fields and default values:
|
Store and retrieve user-specified network config, addresses #644
Added in #941 |
Users should be able to configure a range of options when creating bundles (then have these options read when a worker builds the corresponding network):
SpeedConfig
valuesUpdate: The paragraphs here are largely superseded by changes in #862. See more recent comments in this issue.
It might be worth the effort to allow some of these options to be set in analysis requests, but it's probably sufficient for at least some of them to be set once at the network level.
But note that "network bundle creation" (on the backend) is not the same as network building (on workers). It's not enough to specify assumptions about streets when uploading OSM -- those assumptions need to be saved somewhere and passed along to the worker that actually builds the network.
One idea is to save a new
NetworkBuilderConfig
in the bundle manifest json saved to S3. With that approach, we would no longer rely on passing a defaultTNBuilderConfig
inTransportNetwork.fromFiles()
.At first glance, a TNBuilderConfig file is read when building a network...
r5/src/main/java/com/conveyal/r5/transit/TransportNetwork.java
Line 209 in bc69f80
But in practice, we don't provide that config file, so R5 reverts to the default in this block...
r5/src/main/java/com/conveyal/r5/transit/TransportNetwork.java
Lines 254 to 256 in bc69f80
This current implementation seems subpar, and many of the fields in TNBuilderConfig are for old point-to-point routing instead of analysis.
We could strip out the fallback to a default config, and instead throw an exception if a bundle manifest does not have the config. There's not a backwards compatibility concern, because old workers will continue to have the fallback.
The text was updated successfully, but these errors were encountered: