Maximum speed in segment
-
- Posts: 6
- Joined: Fri Jun 19, 2020 1:54 pm
Maximum speed in segment
Hi,
When we call PTV xLocate in order to know cartographic reference of a point (with coordinates), we receive city, postal code, street, state, country, etc, but we need the speed limit of the segment of the road.
Can you let us know how we can get this speed limit using xLocate?
Thanks and regards.
When we call PTV xLocate in order to know cartographic reference of a point (with coordinates), we receive city, postal code, street, state, country, etc, but we need the speed limit of the segment of the road.
Can you let us know how we can get this speed limit using xLocate?
Thanks and regards.
- Bernd Welter
- Site Admin
- Posts: 2703
- Joined: Mon Apr 14, 2014 10:28 am
- Contact:
Re: Maximum speed in segment
Hello Pedro,
As you might know we currently support 2 different major versions of our APIs (xServer1 and xServer2).
In xServer 1 there was some option to gather the speeds more or less (through a dummy routing with slightly different coordinates):
https://xserver.ptvgroup.com/forum/view ... imit#p3046
Unfortunately the coverage of this kind of data wasn’t optimal – depending on the provider you used.
I'm not aware of a proper successor in xServer2 at the moment and therefore I forwarded the topic to our Development to get a strategic statement.
Can you give us more details about the usecase? Maybe this helps us to understand how to approach this challenge properly.
Best regards,
Bernd
As you might know we currently support 2 different major versions of our APIs (xServer1 and xServer2).
In xServer 1 there was some option to gather the speeds more or less (through a dummy routing with slightly different coordinates):
https://xserver.ptvgroup.com/forum/view ... imit#p3046
Unfortunately the coverage of this kind of data wasn’t optimal – depending on the provider you used.
I'm not aware of a proper successor in xServer2 at the moment and therefore I forwarded the topic to our Development to get a strategic statement.
Can you give us more details about the usecase? Maybe this helps us to understand how to approach this challenge properly.
Best regards,
Bernd
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany
Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning...
Technical Partner Manager Developer Components
PTV Logistics - Germany
Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning...
-
- Posts: 6
- Joined: Fri Jun 19, 2020 1:54 pm
Re: Maximum speed in segment
Hi Bernd,Bernd Welter wrote: Can you give us more details about the usecase? Maybe this helps us to understand how to approach this challenge properly.
We are a GPS data provider for vehicles fleet. Our customers need to know if its vehicle is faster than maximum speed is allowed. We invoke to xLocate with coordinates and xLocate send to us postal code, city, state, address, ... even road, but not speed limit of this segment of the road.
To invoke a second call to xRoute to get this speed limit has several cons,
1. it takes a long time for us,
2. we need two points, when only need this speed limit in a place (that is inside one segment, and only one),
3. if we invoke xRoute with two points, we could find several segments, with differents speed limit each one.
Thanks and regards.
- Bernd Welter
- Site Admin
- Posts: 2703
- Joined: Mon Apr 14, 2014 10:28 am
- Contact:
Re: Maximum speed in segment
Hello Pedro,
thanks foir the usecase description. I also forwared the thread to your primary consulting contact. Furthermore I will ask one of our dutch buddies (he is in touch with some customers who have the same usecase) whether he could summarize his customers strategy in a public post.
One potential idea I have in mind right now is a look-aside table which contains the speed values:
determineSpeed(x,y)
Best regards,
Bernd
thanks foir the usecase description. I also forwared the thread to your primary consulting contact. Furthermore I will ask one of our dutch buddies (he is in touch with some customers who have the same usecase) whether he could summarize his customers strategy in a public post.
One potential idea I have in mind right now is a look-aside table which contains the speed values:
determineSpeed(x,y)
- determine SegmentID based on (x,y) - webservice call towards PTV xServer INTERNET
- determine speed of segmentID - database call to a local database
Best regards,
Bernd
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany
Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning...
Technical Partner Manager Developer Components
PTV Logistics - Germany
Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning...
Re: Maximum speed in segment
Reading your use case: I would recommend build this solution around xLocate. There is often to many inaccuracies in a GPS signal causing xLocate to snap to the incorrect road. I would advise to look at xMapmatch and it's ability to also take heading into account and more. In my experience there is very little room in business case around speed limits for falsely flagging a speed violation because the software took retuned a small side road in stead of a main road so to speak.
xMapmatch also has another advantage: it can return the most common speed limit directly. However if you need to be able to handle more (like time dependent speed limits) you still need the side lookup tables.
xMapmatch also has another advantage: it can return the most common speed limit directly. However if you need to be able to handle more (like time dependent speed limits) you still need the side lookup tables.
Joost Claessen
Senior Technical Consultant
PTV Benelux
Senior Technical Consultant
PTV Benelux
-
- Posts: 6
- Joined: Fri Jun 19, 2020 1:54 pm
Re: Maximum speed in segment
Hi Joost,
How can I invoke a call to xmapmatch to get the speed limit we need?
Would you be good enough to send me some example?
Thanks in advance.
How can I invoke a call to xmapmatch to get the speed limit we need?
Would you be good enough to send me some example?
Thanks in advance.
-
- Posts: 6
- Joined: Fri Jun 19, 2020 1:54 pm
Re: Maximum speed in segment
Hi all,
Amar tell us what is possible is to get back the provider ID and look up the speed limits in a separate table. Thus we need invoke two calls to xServer. The first call is that we are doing now. But the second one (in order to get the speed limit with provider ID) would be a new invoke for us. We need to know how fast is this second invoke, if it takes the same order of time as calculating a route between two points, or it takes the same order of time as getting inverse georeference. This it is very important for us.
Thanks in advance.
Amar tell us what is possible is to get back the provider ID and look up the speed limits in a separate table. Thus we need invoke two calls to xServer. The first call is that we are doing now. But the second one (in order to get the speed limit with provider ID) would be a new invoke for us. We need to know how fast is this second invoke, if it takes the same order of time as calculating a route between two points, or it takes the same order of time as getting inverse georeference. This it is very important for us.
Thanks in advance.
-
- Posts: 6
- Joined: Fri Jun 19, 2020 1:54 pm
Re: Maximum speed in segment
Hi all,
We have installed database with countries tables speed limits.
The columns are LINKID, DIRECTION and SPEEDLIMITID.
How can I know which DIRECTION is? If I know bearing how can I know to use DIRECTION 0 or DIRECTION 1?
Thanks and regards.
We have installed database with countries tables speed limits.
The columns are LINKID, DIRECTION and SPEEDLIMITID.
How can I know which DIRECTION is? If I know bearing how can I know to use DIRECTION 0 or DIRECTION 1?
Thanks and regards.
Re: Maximum speed in segment
For xmapmatch you can parse it out of the vendorId on the matched segment on the matchedLocation.path.Last() .
For xLocate we do not have a way for you determine the DIRECTION.
The direction is determined by our data provider and they do not have a orientation rule as far as I am aware of. So our engine need to traverse the segment to determine the direction. xMapmatch does this, xLocate does not.
For xLocate i usually take the highest limits defined.
For xLocate we do not have a way for you determine the DIRECTION.
The direction is determined by our data provider and they do not have a orientation rule as far as I am aware of. So our engine need to traverse the segment to determine the direction. xMapmatch does this, xLocate does not.
For xLocate i usually take the highest limits defined.
Joost Claessen
Senior Technical Consultant
PTV Benelux
Senior Technical Consultant
PTV Benelux
-
- Posts: 6
- Joined: Fri Jun 19, 2020 1:54 pm
Re: Maximum speed in segment
Ok Joost, we will review this point.
Another question: Inside each .spl file there are several columns, and I don't know what is its function,
For Nederland,
* LEGALLIMITTYPE: possibles values, 1 and 2
* LIMITTYPE: only one value, 1
* LIMITWHEATHERCONDITION: possibles values, 1 and 2
* LIMITDRIVERCONDITION: only one value, 0
* LIMITTIMECONDITION: possibles values, 0 and 1
* TIMEPERIODID: no values
* LIMITAREACONDITION: 4 possibles values, 0, 1, 2 and 3
* LIMITMANNERCONDITION: only one value, 0
* LIMITLANECONDITION: only one value, 0
* NUMLANES: only one value, 0
* LIMITROADCONDITION: possibles values, 0 and 1
* TSYSCODE: no values
* DESCRIPTION: no values
Can you explain me?
Thanks and regards.
Another question: Inside each .spl file there are several columns, and I don't know what is its function,
For Nederland,
* LEGALLIMITTYPE: possibles values, 1 and 2
* LIMITTYPE: only one value, 1
* LIMITWHEATHERCONDITION: possibles values, 1 and 2
* LIMITDRIVERCONDITION: only one value, 0
* LIMITTIMECONDITION: possibles values, 0 and 1
* TIMEPERIODID: no values
* LIMITAREACONDITION: 4 possibles values, 0, 1, 2 and 3
* LIMITMANNERCONDITION: only one value, 0
* LIMITLANECONDITION: only one value, 0
* NUMLANES: only one value, 0
* LIMITROADCONDITION: possibles values, 0 and 1
* TSYSCODE: no values
* DESCRIPTION: no values
Can you explain me?
Thanks and regards.