Configuring the decoding process

The OpenLR decoder can be configured using decoder properties in a xml-file. The following example shows the standard configuration of the decoding process.

<?xml version="1.0" encoding="UTF-8"?>

<!--
The Rating type defines four different categories indicating how good the 
compared values match. The ranking of the categories from best to worst is: 
EXCELLENT -> GOOD -> AVERAGE -> POOR. Each category will correspond to a rating
value which indicates the score being achieved in that particular category. 
-->

<!--
The Rating interval type defines the boundaries of the difference intervals 
defined by the rating type      categories. It is assumed that the first interval 
starts with a difference value of 0. The excellent category then defines the 
interval beginning at zero and ending at the "excellent" value. The good 
category defines the interval from "excellent" to "good", the average category 
falls into the interval from "good" to "average" and all values inferior the 
"average" value belong to the poor category.
-->

  <!-- The decoder type encloses all configuration parameters for the OpenLR 
       decoder. -->
<ml:OpenLRDecoderProperties 
  xmlns:ml="http://www.example.org/OpenLRpropertiesProperties/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://www.example.org/OpenLRpropertiesProperties/
  properties/OpenLRDecoderProperties.xsd ">

  <!-- Defines the distance between the first and second point being used for 
       bearing calculation.The value is measured in meters and determined along 
       the line geometry. -->
  <BearingDistance>20</BearingDistance>

  <!-- Defines the maximum distance being used to search for map nodes to a 
       location reference point position. -->
  <MaxNodeDistance>100</MaxNodeDistance>

  <!-- Factor for the importance of the node rating. -->
  <NodeFactor>3</NodeFactor>

  <!-- Factor for the importance of the line attribute rating. -->
  <LineFactor>3</LineFactor>

  <!-- Defines the score values for each rating category for the functional 
       road class values. -->
  <FRC_Rating>
    <Excellent>100</Excellent>
    <Good>75</Good>
    <Average>50</Average>
    <Poor>0</Poor>
  </FRC_Rating>

  <!-- Defines the interval boundaries for the functional road class 
       differences. -->
  <FRC_Intervals>
    <Excellent>0</Excellent>
    <Good>1</Good>
    <Average>2</Average>
  </FRC_Intervals>

  <!-- Defines the score values for each rating category for the form of way 
       values. -->
  <FOW_Rating>
    <Excellent>100</Excellent>
    <Good>50</Good>
    <Average>50</Average>
    <Poor>25</Poor>
  </FOW_Rating>

  <!-- Defines the score values for each rating category for the bearing 
       values. -->
  <Bearing_Rating>
    <Excellent>100</Excellent>
    <Good>50</Good>
    <Average>25</Average>
    <Poor>0</Poor>
  </Bearing_Rating>

  <!-- Defines the interval boundaries for the bearing differences. -->
  <Bearing_Intervals>
    <Excellent>6</Excellent>
    <Good>12</Good>
    <Average>18</Average>
  </Bearing_Intervals>

  <!-- Defines the variance being used during comparison of functional road 
       class values. -->
  <FRC_Variance>2</FRC_Variance>

  <!-- Defines the minimum rating value being accepted for a line. Values below 
       that minimum should be rejected. -->
  <MinimumAcceptedRating>700</MinimumAcceptedRating>

  <!-- Defines the maximum number of retries if a route search between two LRP
       fails. -->
  <MaxNumberRetries>3</MaxNumberRetries>

  <!-- Defines the degradation of the rating value for two candidate lines. 
       Each LRP might have several candidate lines and for the route search 
       start line and end line needs to be chosen. The rating of such candidate
       line pairs shall be degraded if start and end line are equal. -->
  <SameLineDegradation>0.10</SameLineDegradation>

  <!-- Defines the increase of the rating value for two candidate lines. Each 
       LRP might have several candidate lines and for the route search start 
       line and end line needs to be chosen. The rating of such candidate line 
       pairs shall be increased if the current start line is equal to the 
       previously chosen end line. This ensures that the resulting path is 
       connected and no recalculation of a previously calculated paths needs 
       to be done. --> 
  <ConnectedRouteIncrease>0.10</ConnectedRouteIncrease>
  
  <!-- Defines the variance of the distance to next point values which will also be
           accepted while checking the length of a calculated route. This value is used
           to determine a lower and an upper bound of a length interval. The length of the
           calculated route must fall into this interval. This variance is necessary if the
           received DNP value is just an approximation of the real value. -->
  <DNPVariance>118</DNPVariance>

  <!-- Defines the maximum allowed angle difference between the bearing value resolved
           from the physical format and the bearing of the candidate line. Candidate lines
                with a bearing difference greater than the defined value will be rejected. -->
  <maxBearingDifference>90</maxBearingDifference>
  
  <!-- If set to true then the decoder shall also calculate the lines being (fully or partly)
       covered by an area location -->
  <Calc_Affected_Lines>false</Calc_Affected_Lines>

</ml:OpenLRDecoderProperties>