openmobilityfoundation / curb-data-specification

A data specification to help cities manage their curb zone programs and surrounding areas, and measure the utilization and impact.
https://www.openmobilityfoundation.org/about-cds/
Other
47 stars 18 forks source link

Defining Overlapping Policies for Distinct Activity Types #138

Open lummish opened 4 months ago

lummish commented 4 months ago

Is your feature request related to a problem? Please describe.

We are having trouble defining a policy which overlaps in time and user classes with another policy, but specifies regulations for a different activity type.

For a representative example, consider the following situation:

Regulation A: There is a loading zone which has normal operating hours between 09:00 and 17:00. In this zone, we allow all types of vehicle to park during the specified hours.

Regulation B: We would like to define a 24-hour policy for this zone which specifies that vehicles cannot stop in the travel lane along the zone (i.e. vehicles are not allowed to double park). This regulation applies to all classes of vehicle.

Currently, it does not seem possible to specify both Regulation A and Regulation B as separate policies because, though the policies specify regulations regarding different activities (parking vs. travel), they do not do so using disjoint user classes.

Describe the solution you'd like

Modify the specification to allow policies with overlapping time spans to be defined with equal priorities on the same zone if they specify disjoint user classes or disjoint activities.

Is this a breaking change

The only potential breaking change that this proposal would introduce would be with respect to policy validation logic, as policies which would previously have been considered as conflicting, would not necessarily be conflicting.

Impacted Spec

For which spec is this feature being requested?

Describe alternatives you've considered

cc: @michaelautomotus

schnuerle commented 4 months ago

@lummish Can you recommend a specific change to the spec that would accommodate what you are asking for? Is it enough to just allow equal policy priorities?

lummish commented 4 months ago

@schnuerle I don't believe any material change to the specification would be required other than modifying the provision in the "priority" section here. Currently, it reads:

Two Policies that apply to the same Curb Zone with overlapping Time Spans and equivalent User Class enumerations MUST NOT have the same priority.

This could be changed to:

Two Policies that apply to the same Curb Zone with overlapping Time Spans MAY ONLY have the same priority if the policies apply to disjoint User Classes or disjoint Activities.

LaurentG-AMD commented 4 months ago

Is there really a conflict if both activities are disjointed? If car A is performing activity A covered by policy A, isn't policy B that does not cover it just irrelevant? So setting whichever priority higher than the other achieve the same result anyways?

jacobmalleau commented 4 months ago

Also, would this not be considered two separate curb zones? There is the curb adjacent zone which has the loading policy (Policy A), and then the travel lane with the no stopping policy (Policy B).

I know technically CDS does not cover travel lanes, but could in this context.

schnuerle commented 4 months ago

We certainly could change the spec to allow the use of CDS in travel lanes. I think this is something we have talked about.