Detect best matching ressource (taxi / cab usecase)
Posted: Thu Oct 27, 2022 2:45 pm
Cheerio,
these days I've been challenged by several players with some performance topics. Their story was compareable and after some discussions with DEV I am super excited that Max dragged my attention to this approach outside the box.
Here are the constraints:
When I discussed the story with the partners based on different "dima driven approaches" we ran into different topics:
Here's the new approach / idea:
these days I've been challenged by several players with some performance topics. Their story was compareable and after some discussions with DEV I am super excited that Max dragged my attention to this approach outside the box.
Here are the constraints:
- Person needs a taxi at (x,y) as quick as possible
- Several taxi positions (x,y) are known
- Distances are compareably low, maybe preselected
- Both historical and live data are required
- Quality should match "ExactAtStart" behaviour
When I discussed the story with the partners based on different "dima driven approaches" we ran into different topics:
- XDima2.CreateDistanceMatrix doesn't support ExactAt..Consideration
Here's the new approach / idea:
- Instead of DIMA routings use a com.ptvgroup.xserver.xroute.MultiCoordinateOnRoadWaypoint !
- Supports both ExactAtStart / ExactAtArrival
- This approach seems to work fine if the single used wayoint is sufficient - because the interface already performed the choice for you!
Code: Select all
{
"storedProfile": "car",
"requestProfile": {
"routingProfile": {
"course": {
"violations": {
"enabled": false
}
}
},
"featureLayerProfile": {
"themes": [
{
"id": "PTV_TrafficIncidents",
"enabled": true
},
{
"id": "PTV_SpeedPatterns",
"enabled": true
}
]
}
},
"waypoints": [
{
"$type": "MultiCoordinateOnRoadWaypoint",
"coordinates": [
{
"x": 13.79165398,
"y": 51.152859002
},
{
"x": 13.743576969,
"y": 51.01651402
},
{
"x": 13.730742916,
"y": 51.098036026
}
]
},
{
"$type": "OffRoadWaypoint",
"location": {
"offRoadCoordinate": {
"x": 13.782697007,
"y": 50.999312007
}
}
}
],
"resultFields": {
"polyline": true
},
"routeOptions": {
"timeConsideration": {
"$type": "ExactTimeConsiderationAtStart"
}
}
}