usdot-jpo-ode / wzdx

The Work Zone Data Exchange (WZDx) Specification aims to make harmonized work zone data provided by infrastructure owners and operators (IOOs) available for third party use, making travel on public roads safer and more efficient through ubiquitous access to data on work zone activity.
Creative Commons Zero v1.0 Universal
92 stars 62 forks source link

Best Practices for Road Number #95

Closed Polly-Okunieff closed 3 years ago

Polly-Okunieff commented 4 years ago

Issue name: Best Practices for Road Number

Road number requires a designator for county, state or interstate. Yet there are no rules for its value. Either there should be a business rule for interstate, each state and county or a standardized list for every numbered road in the US.

j-d-b commented 4 years ago

@Polly-Okunieff this is a good idea, can you propose an implementation or what you'd like to see specifically for the business rules?

Polly-Okunieff commented 4 years ago

Use Case: Road number requires a designator for county, state or interstate. Yet there are no rules for its value. Either there should be a business rule for interstate, each state and county or a standardized list for every numbered road in the US. Additionally, some numbered roads have two numbers, and both numbers may be interstates (e.g., I-93 and I-95 in the Boston metro area). There is a stretch of road where I-93 N overlaps with I-95 S. Number of issues:

  1. What to use for the road number designator (e.g., I-, I or Interstate)
  2. What is the priority for overlapping roads (does it matter?)

Proposed Solution: Option 1: Many jurisdictions publish a list of roads or a shape file with standardized names for roads. These files can be posted on a public portal and logged in the metadata file as the source for roadway naming so that users have a reference for numbered roads. Option 2: standardize naming convention for a numbered road: (I-, US-, SH-, SR-, NJ-XX), a one or two letter designator followed by a dash. Next Steps:

Dunge commented 4 years ago

Naming conventions are always a good thing.

I just want to share my point of view on the impacts of forcing one here.

In our use-case as a wzdx data publisher, we plan to semi-automatize data entry of certain fields. Road name and number is one of them. The goal is having a IoT device reporting GPS coordinates, and then the service would do a Reverse Geocoding request to a mapping service (HERE/Google/OpenStreetMap/etc.) and fill the fields automatically. If the mapping service returns a road name/number in a different format than the naming convention that would be decided here, we would need to do string manipulation to adapt it, which could cause problems in certain case.

Fortunately, the mapping service we use seems to return the proposed road numbering format for now (ex: I-93).

eli104 commented 4 years ago

As noted by Dunge, many agencies will use a mapping service to surmise the proper road name for a geo-location. However some services will provide multiple names for a specific roadway point or section. These are not limited to overlapping Interstate names, but may also include state or even local road names which are more commonly known to local travelers.

Example of overlap: One of the approaches to the George Washington Bridge from the New Jersey side is designated by HERE as, I-95, US-46, US-9, and the New Jersey Tpke.

Example of local naming within the map data: In Massachusetts, I-90 appears in the same map data as "I-90, Massachusetts Tpke, and Mass Pike (the most recognized name for the roadway).

In such cases, I would posit that the agency publishing the data should first be able to designate whether to use a name instead of a number, as well as which name is preferred, and then follow the numbering convention and/or a naming convention (e.g. "turnpike" vs. "tpke", etc.).

Polly-Okunieff commented 4 years ago

There is established practice to generate association tables with a preferred name and then all the variations of alternative names. This approach would work with Eli's comment.

jewel1965 commented 4 years ago

How about making both road_name and road_number elements arrays of values. This will allow data producers to provide as many names and number that roadway segment may have.

Standardization for these type of data elements may be good, but may cause problem for jurisdictions where standard conventions cannot be applied.

DeraldDudley commented 4 years ago

There is nothing in the specification prohibiting the use of an array in the road_name and road_number properties. Maybe this can be resolved by adding clarifying language in the specification.

road_name example: Zero value example: road names are required so they cannot be left empty Single value example: "road_name": "Main Street" Multiple value example: "road_name": ["Main Street", "Baltimore Pike", "York Road"]

road_number example: Zero value example: "road_number": "" or omit the key/value pair. Single value example: "road_number": "I-43" Multiple value example: "road_name": ["I-43", "I-240", "OK-3"]

In the @eli104 GW Bridge example: "road_name": "New Jersey Turnpike"; "road_number": ["I-95", "US-46", "US-9"]

DeraldDudley commented 4 years ago

Use Case: Road number requires a designator for county, state or interstate. Yet there are no rules for its value. Either there should be a business rule for interstate, each state and county or a standardized list for every numbered road in the US. Additionally, some numbered roads have two numbers, and both numbers may be interstates (e.g., I-93 and I-95 in the Boston metro area). There is a stretch of road where I-93 N overlaps with I-95 S. Number of issues:

  1. What to use for the road number designator (e.g., I-, I or Interstate)
  2. What is the priority for overlapping roads (does it matter?)

Proposed Solution: Option 1: Many jurisdictions publish a list of roads or a shape file with standardized names for roads. These files can be posted on a public portal and logged in the metadata file as the source for roadway naming so that users have a reference for numbered roads. Option 2: standardize naming convention for a numbered road: (I-, US-, SH-, SR-, NJ-XX), a one or two letter designator followed by a dash. Next Steps:

  • Determine business rule
  • Understand impacts / implications
  • May decide to have both standard conventions and a list of road names and numbers.

If we consider designating Interstate, US, State, County, or City routes then I would separate the type of route from the number.
e.g." "road_number": [{"route_type": "Interstate", "route_number": "95"}, {"route_type": "US Route", "route_number": "46"}, {"route_type": "US Route", "route_number": "9"}]

j-d-b commented 4 years ago

There is nothing in the specification prohibiting the use of an array in the road_name and road_number properties.

This is incorrect. By both the data field type and JSON schema type, road_name and road_number must be text strings, not arrays.

j-d-b commented 4 years ago

It seems like road_number does not address anything that road_name does not already cover and thus doesn't add value. Perhaps a better resolution for multiple names and formats of names is to allow road_name to be an array, and/or adding a business rule for the content of road_name, and removing road_number.

j-d-b commented 3 years ago

Resolved in #150.