Knowledge Base Road Graph Restrictions

×

Warning message

You can't delete this newsletter because it has not been sent to all its subscribers.

In Km4City there are three kinds of Restrictions:

  • TurnRestriction: indicate forced or prohibited turn from one RoadElement of another.
  • MaxMinRestriction: indicate possible speed limit for a RoadElement.
  • AccessRestriction: indicate possible restrictions in using a RoadElement.

In Fig. 1 the class diagram is reported

Figure 1: restriction class diagram. Yellow rectangle are classes (with data properties shown into them when relevant). Pink rhomboid indicate object properties linking different classes. For object properties arrows go from the domain to the range class.

1.Turn restriction

A TurnRestriction is related to one Node and two RoadElement, according to the following schema:

  • <TurnRestriction> <where> <RoadElement>: indicate the RoadElement from which start the restriction
  • <TurnRestriction> <towards> <RoadElement>: indicate the RoadElement destination of the restriction
  • <TurnRestriction> <node> <Node>: indicate the Node on which is applied the restriction. Note that this node is a start or end node for both the RoadElement considered in the restriction.

The following data properties are used to specify the restriction:

  • day_on / day_off: day of beginning and ending of the restriction

  • hour_on / hour_off: hour of beginning and ending of the restriction
  • except: vehicle categories that are not forced to comply to the restriction (it seems not instantiated in Km4City)
  • restriction: the kind of description that can take one of the following values:
    • "only_straight_on", "no_straight_on", "no_right_turn", "only_right_turn", "no_left_turn", "only_left_turn", "no_u_turn"

This organization reflects the OpenStreeMap (OSM), where turn restrictions are represented with relations involving two ways and one node. See for example Fig.2.

Figure 2: OSM restriction example

2.MaxMinRestriction

A MaxMinRestriction indicate some upper or lower limit on some quantity in a specific Road (not on a RoadElement).

A MaxMinRestriction is related to one Road, according to the following schema:

  • < MaxMinRestriction > <where> <Road>: indicate the Road on which is valid the restriction

The following data properties are used to specify the restriction:

  • limit: a number (in string format) specifying the limit

  • what: indicate to what the limit is applied to (e.g., max speed, max load, etc.). In Km4City the what property is instantiated with the following values:"maxspeed", "maxweight", "maxheight", "maxwidth", "maxlength"

Note that in RoadElement (that is related to a Road with the object properties containsElement) there are data property speedLimit and width that seem redundant w.r.t. the maxspeed and maxwidth what values.

In OSM such maxmin values can be specified in the attributes of the way elements representing roads.

3.Access Restriction

An AccessRestriction indicates that specific Road Element are not accessible.

A AccessRestriction is related to one RoadElement, according to the following schema:

  • < AccessRestriction> <where> <RoadElement>: indicate the RoadElement on which is valid the restriction

The following data properties are used to specify the restriction:

  • who: the categories of vehicles to which the restriction applies. Takes values: 

    • "vehicle", "bicycle", "psv""foot", "emergency", "motorcar", "motorcycle", "horse", "motor_vehicle",  "hgv""bus" ,"wheelchair", "mofa""moped" ,"ski""snowmobile", "taxi"
  • condition: conditions under which the restriction applies. It is usually a time interval or some weight specification (e.g., “>7.5t”, heavier than 7.5 tons
  • direction: direction of the route. Takes values: "backward", "forward"
  • access: indicate the type of restriction. In Km4City the access property is instantiated with the following  values:
    • "no", "yes", "private", "designated", "permissive", "use_sidepath", "destination", "forestry", "dismount", "delivery", "customers", "permit"

In OSM such details are possibly reported in the way element attributes (e.g., the tag hvg).

4.Example SPARQL Queries

The following queries are executed on the firenze-splitted knowledge base, obtained starting from OSM data for the area of Florence, elaborated such to split any roads with double travel directions in two different roads with unique travel direction, and then ingested thought a triplication process. A Virtuoso query editor is available at http://192.168.1.107:8890/sparql

Get TurnRestriction for a given RoadElement

SELECT * WHERE {

   graph <urn:osm:firenze-splitted> {

        ?r a km4c:TurnRestriction.

        ?r km4c:where <http://www.disit.org/km4city/resource/OS00000000488RE/0>.

   }

}

Get the TurnRestriction shown in Figure 2

SELECT * WHERE {

   graph <urn:osm:firenze-splitted> {

      VALUES ?r { <http://www.disit.org/km4city/resource/OS00317213430RE/8> }

      ?r a km4c:RoadElement.

      ?tr a km4c:TurnRestriction.

      ?tr km4c:where ?r.

   }

}

5.Restrictions in the Snap4City Scenario Editor

In the Snap4City Scenario Editor [CITA] restrictions are visualized using popups appearing after the user clicks on a RoadElement. In the popup the present restrictions are listed with the needed values. The user can change or delete current restrictions, or insert new restrictions.

A.TurnRestriction

TurnRestriction are visualized as shown in Fig. 3.

Figure 3: TurnRestriction in the Snap4City Scenario Editor

After clicking on a RoadElement, a popup is shown in which, after details on the RoadElement, information about the restriction are reported in the fields:

  • Restrictions: the name of the restriction. This is a expandable menu in which the user can select other restrictions applied to the same RoadElement.
  • Type: the type of the TurnRestriction applied (according to the restriction values reported in Section 1)
  • From: the RoadElement from which the restriction start;
  • To: the RoadElement destination of the restriction;
  • Node: the node on which the restriction is applied.

The From and To RoadElement are colored in green and purple respectively, to better highlight the elements included in the TurnRestriction.

A TurnRestriction can be modified, by changing the values in the To filed. Note that, an algorithm checks the feasible RoadElement that can be considered, according to the type of restriction, limiting the selection to valid RoadElement only. For example, in the case shown in Fig. 3, for the “only_straight_on” type, no other possible To RoadElement can be selected.

A TurnRestriction can be deleted clicking on the “Delete restriction” button.

Novel TurnRestriction can be defined, by selecting the “Create new TurnRestriction” from the Restrictions menu. In this case, the user must select the Type and the To RoadElement.

---to be completed...

By saving the Scenario, TurnRestriction are saved in an auxiliary JSON with the following format:

---to be completed...

B.AccessRestriction

AccessRestriction… ..to be completed.....

for example:

http://www.disit.org/km4city/resource/OS00022926818RE/11/restriction/access/vehicle/backward/unconditioned

Fig.5

on RE = OS00022926818RE/11

 

Fig-6

C.   MaxMinRestriction

MaxMinRestriction…… ..to be completed.....