Page 1 of 1

SpeedLimits - how we deal with them from a data perspective

Posted: Thu Sep 02, 2021 3:11 pm
by Bernd Welter
Hi there,

some of you need to work with SPEED LIMITS in a way the PTV engines do not handle them by themselves (e.g. xServer2 does not return speed limits, at least in version x2.24 (august 2021)). We therefore offer the opportunity to deal with specific side tables and I'd like to give you some details about how these tables work.
  • We provide speed limits based on pairs of files per IU (=integration unit, usually a country):
    • *.spl : this file contains the structure definition of set of "limit scenarios". Usually somewhere between 10 and 50 scenarios within a single IU
    • *.l2s : this file contains a very detailed list of all the segments in the IU plus a reference to the scenario ID that applies to such a segment.
  • These pairs are provided per IU
  • As segment IDs are not stable between map versions the side tables have to be updated whenever you update the underlying map.
  • SPL: Here are the columns of the SPL file:
    FieldNameDatatypeAttribute typeMinMaxDefaultDescription
    1IDNUMBER 10.0PK121474836471unique key of speed limit
    2LEGALLIMITTYPENUMBER 10.0Man030implicit or explicit speed limit
    3LIMITTYPENUMBER 10.0Man181kind of speed limit
    4LIMITWEATHERCONDITIONNUMBER 10.0Man070weather related conditions
    5LIMITDRIVERCONDITIONNUMBER 10.0Man070driver related conditions
    6LIMITTIMECONDITIONNUMBER 10.0Man030time related conditions
    7TIMEPERIODIDNUMBER 10.0FKOpt12147483647reference to time period
    8LIMITAREACONDITIONNUMBER 10.0Man0150area related conditions
    9LIMITMANNERCONDITIONNUMBER 10.0Man070other conditions
    10LIMITLANECONDITIONNUMBER 10.0Man070lane related conditions
    11NUMLANESNUMBER 10.0Opt07number of lanes the speed limit is valid for
    12LIMITROADCONDITIONNUMBER 10.0Man0150road related conditions
    13TSYSCODEVARCHAR2(8)FKOptreference to transport system
    14DESCRIPTIONVARCHAR2(255)Optdescription of speed limit
    15VNUMBER 10.0Opt0999speed limit
  • Sample for Belarus
    Sample pair from Belarus... 11 different scenarios for that integration unit. Maximum speed on segment 4278 is 90km/h. About 750'000 records in this L2S file fro Belarus (divide it by 2 to get the number of segments)
    Sample pair from Belarus... 11 different scenarios for that integration unit. Maximum speed on segment 4278 is 90km/h. About 750'000 records in this L2S file fro Belarus (divide it by 2 to get the number of segments)
Usecase scenario "identify speed limit violation"
  • Given data: a vehicles GPS trace with (x,y), heading, speed, timestamp.
  • Question : did the driver exceed the official limit?
  • Approach:
    • use xMatch to reconstruct the driven geometry based on (x,y) and heading. This will give you segment IDs for each given position.
    • use the side table to determine the maximum speed on the segments.
    • compare the maximum speed with the driven speed
Any questions? Get back to us!

Bernd