Cette page n’est plus maintenue depuis la version 2022 de Geoconcept Web. Pour accéder à la documentation à jour de ce web service, veuillez suivre ce lien.
Ce web service calcule une matrice d’itinéraires pour un ensemble de points et retourne un distancier. Il s’appuie sur le graphe paramétré dont le nom a été spécifié dans l’interface d’administration de Geoconcept Web. Voir aussi le web service de calcul de matrice compacte.
Les versions précédente du web service sont conservées dans Geoconcept Web pour assurer la compatibilité avec les développements antérieurs. Il est recommandé d’utiliser la version la plus récente.
Changements avec la V4
- Ajout des paramètres "timeOut" et "computeOptions".
- Ajout dans la snapMethod "nodes" de l’accrochage aux noeuds les plus proches.
Changements avec la V3
- Ajout de la notion de noeud, plus rapide, pour s’accrocher aux noeuds du graphe plutôt qu’a des coordonnées géographiques. Ajout des éléments suivants : "originNodes", "destinationNodes" et de "nodes" dans les snapMethod.
- Ajout du paramètre "maxCost".
Changements avec la V2
- Ajout du paramètre "snapMethod"
- Ajout du paramètre "startDateTime"
- Suppression du paramètre "RejectFlags", remplacé par "exclusions"
- Les paramètres "distance" et "duration" sont renommés respectivement "distanceMeters" et "durationSeconds"
En entrée
paramètre | description | optionnel | défaut |
---|---|---|---|
srs |
projection (code EPSG comme epsg:4326 ou wgs84) |
oui |
|
origins |
Liste des coordonnées des points d’origines. Les coordonnées longitude et latitude sont séparées par la caractère , |
oui * |
|
originNodes |
Liste des noeuds ids d’origines. Les Noeuds ids sont séparées par la caractère ,. Attention : un noeud physique n’a pas le même ID dans un autre graphe. |
oui * |
|
destinations |
Liste des coordonnées des points de destinations. Les coordonnées longitude et latitude sont séparées par la caractère , |
oui * |
|
destinationNodes |
Liste des noeuds ids de destinations. Les Noeuds ids sont séparées par la caractère ,. Attention : un noeud physique n’a pas le même ID dans un autre graphe. |
oui * |
|
graphName (déprécié) |
Nom du graphe à utiliser |
oui |
|
method |
itinéraire le plus court (distance) ou le plus rapide (time) |
oui |
time |
profileId (déprécié) |
Identifiant du véhicule (enregistré dans les profils de véhicule) |
oui |
|
profileName (déprécié) |
Profil du véhicule (enregistré dans les profils de véhicule) |
oui |
|
exclusions |
Liste des règles de restrictions à utiliser, séparés par le caractère ; (Exemple : Toll, Tunnel, Bridge) |
oui |
|
startDateTime |
Date et heure de départ (format ISO8601 : heure locale) Exemple : 2014-01-21T09:00:00.000+01:00 (ou 2014-01-21T09:00:00.000%2B01:00) pour un départ le 21 janvier 2014, à 9h à Paris. Attention le caractère + peut être mal interprété par les navigateurs, dans ce cas, il faut le remplacer par %2B. |
oui |
|
snapMethod |
Méthode d’accrochage au graphe |
oui |
standard |
avoidArea |
Zone de transit interdit au format WKT (POLYGON ou MULTIPOLYGON) dans la projection (paramètre srs) demandée |
oui |
|
configName |
Nom de la configuration à utiliser (défini dans Geoconcept Web - Administration / Outils / Définitions des graphes) |
oui |
|
computeOptions |
Liste des options pour le calcul, séparées par le caractère ; |
oui |
|
maxCost |
Coût maximum à ne pas dépasser dans les résultats |
oui |
|
timeOut |
Time out pour le calcul (en millisecondes) |
oui |
(*) Au moins l’un des deux couples de paramètres origins/destinations ou originNodes/destinationsNodes doit être renseigné.
(M18) Disponible à partir de la version M18 des graphes fournis par GEOCONCEPT SAS.
En sortie
Matrice (matrixResultV3)
paramètre | type | min/max | description |
---|---|---|---|
origins/origin (ou origins en JSON / JSON-P) |
string (ou array of origins/origin en JSON / JSON-P) |
0/illimité |
positions d’origine. |
destinations/destination (ou destinations en JSON / JSON-P) |
string (ou array of destinations/destination en JSON / JSON-P) |
0/illimité |
positions de destination. |
rows/row (ou rows en JSON / JSON-P) |
matrixRowV3 (ou array of rows/row (matrixRow) en JSON / JSON-P) |
0/illimité |
Ligne de matrice |
Ligne de matrice (matrixRowV3)
paramètre | type | min/max | description |
---|---|---|---|
cells/cell (ou cells en JSON / JSON-P) |
matrixCellV3 (ou array of cells/cell (matrixCellV3) en JSON / JSON-P) |
0/illimité |
Cellule de matrice |
Cellule de matrice (matrixCellV3)
paramètre | type | min/max | description |
---|---|---|---|
distanceMeters |
double |
1/1 |
Distance de cellule de matrice (en mètres) |
durationSeconds |
double |
1/1 |
Durée de cellule de matrice (en secondes) |
status |
string |
0/1 |
Status cellule de matrice : |
WSDL
http://<server>
/<webapp>
/api/ws/matrixService?wsdl
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://geoconcept.com/gc/schemas"> <soapenv:Header/> <soapenv:Body> <sch:matrixV4> <!--Optional:--> <request> <!--Optional:--> <srs>epsg:27572</srs> <!--Optional:--> <origins> <!--1 or more repetitions:--> <origin> <x>315846.96</x> <y>2254268.35</y> </origin> <origin> <x>313584.77</x> <y>2251648.97</y> </origin> </origins> <!--Optional:--> <originNodes> <!--1 or more repetitions:--> <originNode></originNode> </originNodes> <!--Optional:--> <destinations> <!--1 or more repetitions:--> <destination> <x>321442.89</x> <y>2251013.98</y> </destination> <destination> <x>318982.27</x> <y>2248315.22</y> </destination> </destinations> <!--Optional:--> <destinationNodes> <!--1 or more repetitions:--> <destinationNode></destinationNode> </destinationNodes> <!--Optional:--> <graphName></graphName> <!--Optional:--> <method>time</method> <!--Optional:--> <profileId></profileId> <!--Optional:--> <profileName></profileName> <!--Optional:--> <exclusions> <!--Zero or more repetitions:--> <exclusion></exclusion> </exclusions> <!--Optional:--> <startDateTime></startDateTime> <!--Optional:--> <snapMethod></snapMethod> <!--Optional:--> <avoidArea></avoidArea> <!--Optional:--> <configName></configName> <!--Optional:--> <computeOptions></computeOptions> <!--Optional:--> <timeOut></timeOut> <!--Optional:--> <maxCost>0</maxCost> </request> </sch:matrixV4> </soapenv:Body> </soapenv:Envelope>
Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:matrixV4Response xmlns:ns2="http://geoconcept.com/gc/schemas"> <MatrixResult> <status>OK</status> <origins> <origin>315846.96,2254268.35</origin> <origin>313584.77,2251648.97</origin> </origins> <destinations> <destination>321442.89,2251013.98</destination> <destination>318982.27,2248315.22</destination> </destinations> <srs>epsg:27572</srs> <rows> <row> <cells> <cell> <distanceMeters>8109.0</distanceMeters> <durationSeconds>564.66</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>11249.39</distanceMeters> <durationSeconds>816.38</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>11736.89</distanceMeters> <durationSeconds>856.77</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>7636.69</distanceMeters> <durationSeconds>526.1</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </MatrixResult> </ns2:matrixV4Response> </soap:Body> </soap:Envelope>
Requête
Requête JSON
http://<server>/<webapp>/api/lbs/matrix/v4.json?origins=315846.96,2254268.35;313584.77,2251648.97&destinations=321442.89,2251013.98;318982.27,2248315.22&srs=epsg:27572&method=time
Requête JSON-P
http://<server>/<webapp>/api/lbs/matrix/v4.json?origins=315846.96,2254268.35;313584.77,2251648.97&destinations=321442.89,2251013.98;318982.27,2248315.22&srs=epsg:27572&method=time&callback=myCallback
Requête XML
http://<server>/<webapp>/api/lbs/matrix/v4.xml?origins=315846.96,2254268.35;313584.77,2251648.97&destinations=321442.89,2251013.98;318982.27,2248315.22&srs=epsg:27572&method=time
Réponse
La réponse est toujours encodée en UTF-8.
Format JSON
{ "message":null, "status":"OK", "origins":[ "315846.96,2254268.35", "313584.77,2251648.97" ], "destinations":[ "321442.89,2251013.98", "318982.27,2248315.22" ], "srs":"epsg:27572", "rows":[ { "cells":[ { "distanceMeters":8109.0, "durationSeconds":656.74, "status":"OK" }, { "distanceMeters":11249.37, "durationSeconds":888.57, "status":"OK" } ] }, { "cells":[ { "distanceMeters":11736.89, "durationSeconds":959.9, "status":"OK" }, { "distanceMeters":7636.67, "durationSeconds":609.35, "status":"OK" } ] } ] }
Format JSON-P
MyCallBack({ "message":null, "status":"OK", "origins":[ "315846.96,2254268.35", "313584.77,2251648.97" ], "destinations":[ "321442.89,2251013.98", "318982.27,2248315.22" ], "srs":"epsg:27572", "rows":[ { "cells":[ { "distanceMeters":8109.0, "durationSeconds":656.74, "status":"OK" }, { "distanceMeters":11249.37, "durationSeconds":888.57, "status":"OK" } ] }, { "cells":[ { "distanceMeters":11736.89, "durationSeconds":959.9, "status":"OK" }, { "distanceMeters":7636.67, "durationSeconds":609.35, "status":"OK" } ] } ] });
Format XML
<?xml version="1.0" encoding="UTF-8"?> <matrixResultV4> <status>OK</status> <origins> <origin>315846.96,2254268.35</origin> <origin>313584.77,2251648.97</origin> </origins> <destinations> <destination>321442.89,2251013.98</destination> <destination>318982.27,2248315.22</destination> </destinations> <srs>epsg:27572</srs> <rows> <row> <cells> <cell> <distanceMeters>8109.0</distanceMeters> <durationSeconds>656.74</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>11249.37</distanceMeters> <durationSeconds>888.57</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>11736.89</distanceMeters> <durationSeconds>959.9</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>7636.67</distanceMeters> <durationSeconds>609.35</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </matrixResultV4>
Cas d’un itinéraire trouvé (matrixResultV3/status est OK)
<?xml version="1.0" encoding="UTF-8"?> <matrixResultV4> <status>OK</status> <origins> <origin>315846.96,2254268.35</origin> <origin>313584.77,2251648.97</origin> </origins> <destinations> <destination>321442.89,2251013.98</destination> <destination>318982.27,2248315.22</destination> </destinations> <srs>epsg:27572</srs> <rows> <row> <cells> <cell> <distanceMeters>8109.0</distanceMeters> <durationSeconds>656.74</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>11249.37</distanceMeters> <durationSeconds>888.57</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>11736.89</distanceMeters> <durationSeconds>959.9</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>7636.67</distanceMeters> <durationSeconds>609.35</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </matrixResultV4>
Cas d’un oubli de spécification d’origine ou de destination (matrixResultV3/status est ERROR)
<matrixResultV4> <message>Origins and destinations must be not null</message> <status>ERROR</status> </matrixResultV4>
Cas d’un mauvais typage (serviceResult/status est ERROR)
<serviceResult> <message>NumberFormatException: For input string: "AAA"</message> <status>ERROR</status> </serviceResult>
Cas d’une erreur d’accrochage au graphe (matrixResultV3/status est OK) / (cell/status est KO)
<matrixResultV4> <status>OK</status> <origins> <origin>-0.36147,49.18392</origin> <origin>7.26132,43.70629</origin> </origins> <destinations> <destination>146.08821,48.43253</destination> <destination>2.34878,48.86473</destination> </destinations> <rows> <row> <cells> <cell> <distanceMeters>0.0</distanceMeters> <durationSeconds>0.0</durationSeconds> <status>KO</status> </cell> <cell> <distanceMeters>234196.77000000002</distanceMeters> <durationSeconds>9451.57</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>0.0</distanceMeters> <durationSeconds>0.0</durationSeconds> <status>KO</status> </cell> <cell> <distanceMeters>930934.64</distanceMeters> <durationSeconds>31773.440000000002</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </matrixResultV4>
Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (serviceResult/status est ERROR)
<serviceResult> <message>ServiceException: Error in matrix computation Error in smartrouting datasource is null</message> <status>ERROR</status> </serviceResult>
En entrée
paramètre | description | optionnel | défaut |
---|---|---|---|
srs |
projection (code EPSG comme epsg:4326 ou wgs84) |
oui |
|
origins |
Liste des coordonnées des points d’origines. Les coordonnées longitude et latitude sont séparées par la caractère , |
oui * |
|
originNodes |
Liste des noeuds ids d’origines. Les Noeuds ids sont séparées par la caractère ,. Attention : un noeud physique n’a pas le même ID dans un autre graphe. |
oui * |
|
destinations |
Liste des coordonnées des points de destinations. Les coordonnées longitude et latitude sont séparées par la caractère , |
oui * |
|
destinationNodes |
Liste des noeuds ids de destinations. Les Noeuds ids sont séparées par la caractère ,. Attention : un noeud physique n’a pas le même ID dans un autre graphe. |
oui * |
|
graphName |
Nom du graphe à utiliser |
oui |
|
method |
itinéraire le plus court (distance) ou le plus rapide (time) |
oui |
time |
profileId |
Identifiant du véhicule (enregistré dans les profils de véhicule) |
oui |
|
profileName |
Profil du véhicule (enregistré dans les profils de véhicule) |
oui |
|
exclusions |
Liste des règles de restrictions à utiliser, séparés par le caractère , ou ; (Exemple : "Toll", "Tunnel", "Bridge") |
oui |
|
startDateTime |
Date et heure de départ (format ISO8601 : heure locale) Exemple : 2014-01-21T09:00:00.000+01:00 (ou 2014-01-21T09:00:00.000%2B01:00) pour un départ le 21 janvier 2014, à 9h à Paris. Attention le caractère + peut être mal interprété par les navigateurs, dans ce cas, il faut le remplacer par %2B. |
oui |
|
snapMethod |
Méthode d’accrochage au graphe |
oui |
standard |
avoidArea |
Zone de transit interdit au format WKT (POLYGON ou MULTIPOLYGON) dans la projection (paramètre srs) demandée |
oui |
|
configName |
Nom de la configuration à utiliser (défini dans Geoconcept Web - Administration / Outils / Définitions des graphes) |
oui |
|
maxCost |
Coût maximum à ne pas dépasser dans les résultats |
oui |
(*) Au moins l’un des deux couples de paramètres origins/destinations ou originNodes/destinationsNodes doit être renseigné.
En sortie
Matrice (matrixResultV3)
paramètre | type | min/max | description |
---|---|---|---|
origins/origin (ou origins en JSON / JSON-P) |
string (ou array of origins/origin en JSON / JSON-P) |
0/illimité |
positions d’origine. |
destinations/destination (ou destinations en JSON / JSON-P) |
string (ou array of destinations/destination en JSON / JSON-P) |
0/illimité |
positions de destination. |
rows/row (ou rows en JSON / JSON-P) |
matrixRowV3 (ou array of rows/row (matrixRow) en JSON / JSON-P) |
0/illimité |
Ligne de matrice |
Ligne de matrice (matrixRowV3)
paramètre | type | min/max | description |
---|---|---|---|
cells/cell (ou cells en JSON / JSON-P) |
matrixCellV3 (ou array of cells/cell (matrixCellV3) en JSON / JSON-P) |
0/illimité |
Cellule de matrice |
Cellule de matrice (matrixCellV3)
paramètre | type | min/max | description |
---|---|---|---|
distanceMeters |
double |
1/1 |
Distance de cellule de matrice (en mètres) |
durationSeconds |
double |
1/1 |
Durée de cellule de matrice (en secondes) |
status |
string |
0/1 |
Status cellule de matrice : |
WSDL
http://<server>
/<webapp>
/api/ws/matrixService?wsdl
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://geoconcept.com/gc/schemas"> <soapenv:Header/> <soapenv:Body> <sch:matrixV3> <!--Optional:--> <request> <!--Optional:--> <srs>epsg:27572</srs> <!--Optional:--> <origins> <!--1 or more repetitions:--> <origin> <x>315846.96</x> <y>2254268.35</y> </origin> <origin> <x>313584.77</x> <y>2251648.97</y> </origin> </origins> <!--Optional:--> <originNodes> <!--1 or more repetitions:--> <originNode></originNode> </originNodes> <!--Optional:--> <destinations> <!--1 or more repetitions:--> <destination> <x>321442.89</x> <y>2251013.98</y> </destination> <destination> <x>318982.27</x> <y>2248315.22</y> </destination> </destinations> <!--Optional:--> <destinationNodes> <!--1 or more repetitions:--> <destinationNode></destinationNode> </destinationNodes> <!--Optional:--> <graphName></graphName> <!--Optional:--> <method>time</method> <!--Optional:--> <profileId></profileId> <!--Optional:--> <profileName></profileName> <!--Optional:--> <exclusions> <!--Zero or more repetitions:--> <exclusion></exclusion> </exclusions> <!--Optional:--> <startDateTime></startDateTime> <!--Optional:--> <snapMethod></snapMethod> <!--Optional:--> <avoidArea></avoidArea> <!--Optional:--> <configName></configName> <!--Optional:--> <maxCost>0</maxCost> </request> </sch:matrixV3> </soapenv:Body> </soapenv:Envelope>
Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:matrixV3Response xmlns:ns2="http://geoconcept.com/gc/schemas"> <MatrixResult> <status>OK</status> <origins> <origin>315846.96,2254268.35</origin> <origin>313584.77,2251648.97</origin> </origins> <destinations> <destination>321442.89,2251013.98</destination> <destination>318982.27,2248315.22</destination> </destinations> <srs>epsg:27572</srs> <rows> <row> <cells> <cell> <distanceMeters>8109.0</distanceMeters> <durationSeconds>564.66</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>11249.37</distanceMeters> <durationSeconds>816.38</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>11736.89</distanceMeters> <durationSeconds>856.77</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>7636.67</distanceMeters> <durationSeconds>526.1</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </MatrixResult> </ns2:matrixV3Response> </soap:Body> </soap:Envelope>
Requête
Requête JSON
http://<server>/<webapp>/api/lbs/matrix/v3.json?origins=315846.96,2254268.35;313584.77,2251648.97&destinations=321442.89,2251013.98;318982.27,2248315.22&srs=epsg:27572&method=time
Requête JSON-P
http://<server>/<webapp>/api/lbs/matrix/v3.json?origins=315846.96,2254268.35;313584.77,2251648.97&destinations=321442.89,2251013.98;318982.27,2248315.22&srs=epsg:27572&method=time&callback=myCallback
Requête XML
http://<server>/<webapp>/api/lbs/matrix/v3.xml?origins=315846.96,2254268.35;313584.77,2251648.97&destinations=321442.89,2251013.98;318982.27,2248315.22&srs=epsg:27572&method=time
Réponse
La réponse est toujours encodée en UTF-8.
Format JSON
{ "message":null, "status":"OK", "origins":[ "315846.96,2254268.35", "313584.77,2251648.97" ], "destinations":[ "321442.89,2251013.98", "318982.27,2248315.22" ], "srs":"epsg:27572", "rows":[ { "cells":[ { "distanceMeters":8109.0, "durationSeconds":656.74, "status":"OK" }, { "distanceMeters":11249.37, "durationSeconds":888.57, "status":"OK" } ] }, { "cells":[ { "distanceMeters":11736.89, "durationSeconds":959.9, "status":"OK" }, { "distanceMeters":7636.67, "durationSeconds":609.35, "status":"OK" } ] } ] }
Format JSON-P
MyCallBack({ "message":null, "status":"OK", "origins":[ "315846.96,2254268.35", "313584.77,2251648.97" ], "destinations":[ "321442.89,2251013.98", "318982.27,2248315.22" ], "srs":"epsg:27572", "rows":[ { "cells":[ { "distanceMeters":8109.0, "durationSeconds":656.74, "status":"OK" }, { "distanceMeters":11249.37, "durationSeconds":888.57, "status":"OK" } ] }, { "cells":[ { "distanceMeters":11736.89, "durationSeconds":959.9, "status":"OK" }, { "distanceMeters":7636.67, "durationSeconds":609.35, "status":"OK" } ] } ] });
Format XML
<?xml version="1.0" encoding="UTF-8"?> <matrixResultV3> <status>OK</status> <origins> <origin>315846.96,2254268.35</origin> <origin>313584.77,2251648.97</origin> </origins> <destinations> <destination>321442.89,2251013.98</destination> <destination>318982.27,2248315.22</destination> </destinations> <srs>epsg:27572</srs> <rows> <row> <cells> <cell> <distanceMeters>8109.0</distanceMeters> <durationSeconds>656.74</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>11249.37</distanceMeters> <durationSeconds>888.57</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>11736.89</distanceMeters> <durationSeconds>959.9</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>7636.67</distanceMeters> <durationSeconds>609.35</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </matrixResultV3>
Cas d’un itinéraire trouvé (matrixResultV3/status est OK)
<?xml version="1.0" encoding="UTF-8"?> <matrixResultV3> <status>OK</status> <origins> <origin>315846.96,2254268.35</origin> <origin>313584.77,2251648.97</origin> </origins> <destinations> <destination>321442.89,2251013.98</destination> <destination>318982.27,2248315.22</destination> </destinations> <srs>epsg:27572</srs> <rows> <row> <cells> <cell> <distanceMeters>8109.0</distanceMeters> <durationSeconds>656.74</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>11249.37</distanceMeters> <durationSeconds>888.57</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>11736.89</distanceMeters> <durationSeconds>959.9</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>7636.67</distanceMeters> <durationSeconds>609.35</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </matrixResultV3>
Cas d’un oubli de spécification d’origine ou de destination (matrixResultV3/status est ERROR)
<matrixResultV3> <message>Origins and destinations must be not null</message> <status>ERROR</status> </matrixResultV3>
Cas d’un mauvais typage (serviceResult/status est ERROR)
<serviceResult> <message>NumberFormatException: For input string: "AAA"</message> <status>ERROR</status> </serviceResult>
Cas d’une erreur d’accrochage au graphe (matrixResultV3/status est OK) / (cell/status est KO)
<matrixResultV3> <status>OK</status> <origins> <origin>-0.36147,49.18392</origin> <origin>7.26132,43.70629</origin> </origins> <destinations> <destination>146.08821,48.43253</destination> <destination>2.34878,48.86473</destination> </destinations> <rows> <row> <cells> <cell> <distanceMeters>0.0</distanceMeters> <durationSeconds>0.0</durationSeconds> <status>KO</status> </cell> <cell> <distanceMeters>234196.77000000002</distanceMeters> <durationSeconds>9451.57</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>0.0</distanceMeters> <durationSeconds>0.0</durationSeconds> <status>KO</status> </cell> <cell> <distanceMeters>930934.64</distanceMeters> <durationSeconds>31773.440000000002</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </matrixResultV3>
Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (serviceResult/status est ERROR)
<serviceResult> <message>ServiceException: Error in matrix computation Error in smartrouting datasource is null</message> <status>ERROR</status> </serviceResult>
En entrée
paramètre | description | optionnel | défaut |
---|---|---|---|
srs |
projection (code EPSG comme epsg:4326 ou wgs84) |
oui |
|
origins |
Liste des coordonnées des points d’origines. Les coordonnées longitude et latitude sont séparées par la caractère , |
oui |
|
destinations |
Liste des coordonnées des points de destinations. Les coordonnées longitude et latitude sont séparées par la caractère , |
oui |
|
graphName |
Nom du graphe à utiliser |
oui |
|
method |
itinéraire le plus court (distance) ou le plus rapide (time) |
oui |
time |
profileId |
Identifiant du véhicule (enregistré dans les profils de véhicule) à utiliser |
oui |
|
profileName |
Profil du véhicule (enregistré dans les profils de véhicule) à utiliser |
oui |
|
exclusions |
Liste des règles de restrictions à utiliser, séparés par le caractère , ou ; (Exemple : "Toll", "Tunnel", "Bridge") |
oui |
|
startDateTime |
Date et heure de départ (format ISO8601 : heure locale) Exemple : 2014-01-21T09:00:00.000+01:00 (ou 2014-01-21T09:00:00.000%2B01:00) pour un départ le 21 janvier 2014, à 9h à Paris |
oui |
|
snapMethod |
Méthode d’accrochage au graphe |
oui |
standard |
En sortie
Matrice (matrixResultV2)
paramètre | type | min/max | description |
---|---|---|---|
origins/origin (ou origins en JSON / JSON-P) |
string (ou array of origins/origin en JSON / JSON-P) |
0/illimité |
positions d’origine. |
destinations/destination (ou destinations en JSON / JSON-P) |
string (ou array of destinations/destination en JSON / JSON-P) |
0/illimité |
positions de destination. |
rows/row (ou rows en JSON / JSON-P) |
matrixRowV2 (ou array of rows/row (matrixRow) en JSON / JSON-P) |
0/illimité |
Ligne de matrice |
Ligne de matrice (matrixRowV2)
paramètre | type | min/max | description |
---|---|---|---|
cells/cell (ou cells en JSON / JSON-P) |
matrixCellV2 (ou array of cells/cell (matrixCellV2) en JSON / JSON-P) |
0/illimité |
Cellule de matrice |
Cellule de matrice (matrixCellV2)
paramètre | type | min/max | description |
---|---|---|---|
distanceMeters |
double |
1/1 |
Distance de cellule de matrice (en mètres) |
durationSeconds |
double |
1/1 |
Durée de cellule de matrice (en secondes) |
status |
string |
0/1 |
Status cellule de matrice : |
WSDL
http://<server>
/<webapp>
/api/ws/matrixService?wsdl
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://geoconcept.com/gc/schemas"> <soapenv:Header/> <soapenv:Body> <sch:matrixV2> <!--Optional:--> <request> <!--Optional:--> <srs>epsg:27572</srs> <!--Optional:--> <origins> <!--1 or more repetitions:--> <origin> <x>315846.96</x> <y>2254268.3500000001</y> </origin> <origin> <x>313584.77</x> <y>2251648.9700000002</y> </origin> </origins> <!--Optional:--> <destinations> <!--1 or more repetitions:--> <destination> <x>321442.89</x> <y>2251013.98</y> </destination> <destination> <x>318982.27</x> <y>2248315.2200000002</y> </destination> </destinations> <!--Optional:--> <graphName></graphName> <!--Optional:--> <method>time</method> <!--Optional:--> <profileId></profileId> <!--Optional:--> <profileName></profileName> <!--Optional:--> <exclusions> <!--Zero or more repetitions:--> <exclusion></exclusion> </exclusions> <!--Optional:--> <startDateTime></startDateTime> <!--Optional:--> <snapMethod></snapMethod> </request> </sch:matrixV2> </soapenv:Body> </soapenv:Envelope>
Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:matrixV2Response xmlns:ns2="http://geoconcept.com/gc/schemas"> <MatrixResult> <status>OK</status> <origins> <origin>315846.96,2254268.35</origin> <origin>313584.77,2251648.97</origin> </origins> <destinations> <destination>321442.89,2251013.98</destination> <destination>318982.27,2248315.22</destination> </destinations> <srs>epsg:27572</srs> <rows> <row> <cells> <cell> <distanceMeters>8109.04</distanceMeters> <durationSeconds>894.48</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>11127.53</distanceMeters> <durationSeconds>873.21</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>11736.87</distanceMeters> <durationSeconds>1158.04</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>7514.82</distanceMeters> <durationSeconds>615.79</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </MatrixResult> </ns2:matrixV2Response> </soap:Body> </soap:Envelope>
Requête
Requête JSON
http://<server>/<webapp>/api/lbs/matrix/v2.json?origins=315846.96,2254268.3500000001;313584.77,2251648.9700000002&destinations=321442.89,2251013.98;318982.27,2248315.2200000002&srs=epsg:27572&method=time
Requête JSON-P
http://<server>/<webapp>/api/lbs/matrix/v2.json?origins=315846.96,2254268.3500000001;313584.77,2251648.9700000002&destinations=321442.89,2251013.98;318982.27,2248315.2200000002&srs=epsg:27572&method=time&callback=myCallback
Requête XML
http://<server>/<webapp>/api/lbs/matrix/v2.xml?origins=315846.96,2254268.3500000001;313584.77,2251648.9700000002&destinations=321442.89,2251013.98;318982.27,2248315.2200000002&srs=epsg:27572&method=time
Réponse
La réponse est toujours encodée en UTF-8.
Format JSON
{ "message":null, "status":"OK", "origins":[ "315846.96,2254268.35", "313584.77,2251648.97" ], "destinations":[ "321442.89,2251013.98", "318982.27,2248315.22" ], "srs":"epsg:27572", "rows":[ { "cells":[ { "distanceMeters":8109.04, "durationSeconds":894.48, "status":"OK" }, { "distanceMeters":11127.53, "durationSeconds":873.21, "status":"OK" } ] }, { "cells":[ { "distanceMeters":11736.87, "durationSeconds":1158.04, "status":"OK" }, { "distanceMeters":7514.82, "durationSeconds":615.79, "status":"OK" } ] } ] }
Format JSON-P
MyCallBack({ "message":null, "status":"OK", "origins":[ "315846.96,2254268.35", "313584.77,2251648.97" ], "destinations":[ "321442.89,2251013.98", "318982.27,2248315.22" ], "srs":"epsg:27572", "rows":[ { "cells":[ { "distanceMeters":8109.04, "durationSeconds":894.48, "status":"OK" }, { "distanceMeters":11127.53, "durationSeconds":873.21, "status":"OK" } ] }, { "cells":[ { "distanceMeters":11736.87, "durationSeconds":1158.04, "status":"OK" }, { "distanceMeters":7514.82, "durationSeconds":615.79, "status":"OK" } ] } ] });
Format XML
<matrixResultV2> <status>OK</status> <origins> <origin>-0.36147,49.18392</origin> <origin>7.26132,43.70629</origin> </origins> <destinations> <destination>0.08821,48.43253</destination> <destination>2.34878,48.86473</destination> </destinations> <rows> <row> <cells> <cell> <distanceMeters>107526.06</distanceMeters> <durationSeconds>4906.25</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>234196.77000000002</distanceMeters> <durationSeconds>9451.57</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>1103695.95</distanceMeters> <durationSeconds>37887.43</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>930934.64</distanceMeters> <durationSeconds>31773.440000000002</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </matrixResultV2>
Cas d’un itinéraire trouvé (matrixResultV2/status est OK)
<?xml version="1.0" encoding="UTF-8"?> <matrixResultV2> <status>OK</status> <origins> <origin>315846.96,2254268.35</origin> <origin>313584.77,2251648.97</origin> </origins> <destinations> <destination>321442.89,2251013.98</destination> <destination>318982.27,2248315.22</destination> </destinations> <srs>epsg:27572</srs> <rows> <row> <cells> <cell> <distanceMeters>8109.04</distanceMeters> <durationSeconds>894.48</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>11127.53</distanceMeters> <durationSeconds>873.21</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>11736.87</distanceMeters> <durationSeconds>1158.04</durationSeconds> <status>OK</status> </cell> <cell> <distanceMeters>7514.82</distanceMeters> <durationSeconds>615.79</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </matrixResultV2>
Cas d’un oubli de spécification d’origine ou de destination (matrixResultV2/status est ERROR)
<matrixResultV2> <message>Origins and destinations must be not null</message> <status>ERROR</status> </matrixResultV2>
Cas d’un mauvais typage (serviceResult/status est ERROR)
<serviceResult> <message>NumberFormatException: For input string: "AAA"</message> <status>ERROR</status> </serviceResult>
Cas d’une erreur d’accrochage au graphe (matrixResultV2/status est OK) / (cell/status est KO)
<matrixResultV2> <status>OK</status> <origins> <origin>-0.36147,49.18392</origin> <origin>7.26132,43.70629</origin> </origins> <destinations> <destination>146.08821,48.43253</destination> <destination>2.34878,48.86473</destination> </destinations> <rows> <row> <cells> <cell> <distanceMeters>0.0</distanceMeters> <durationSeconds>0.0</durationSeconds> <status>KO</status> </cell> <cell> <distanceMeters>234196.77000000002</distanceMeters> <durationSeconds>9451.57</durationSeconds> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distanceMeters>0.0</distanceMeters> <durationSeconds>0.0</durationSeconds> <status>KO</status> </cell> <cell> <distanceMeters>930934.64</distanceMeters> <durationSeconds>31773.440000000002</durationSeconds> <status>OK</status> </cell> </cells> </row> </rows> </matrixResultV2>
Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (serviceResult/status est ERROR)
<serviceResult> <message>ServiceException: Error in matrix computation Error in smartrouting datasource is null</message> <status>ERROR</status> </serviceResult>
En entrée
paramètre | description | optionnel | défaut |
---|---|---|---|
srs |
projection (code EPSG comme epsg:4326 ou wgs84) |
oui |
|
origins |
Liste des coordonnées des points d’origines. Les coordonnées longitude et latitude sont séparées par la caractère , |
oui |
|
destinations |
Liste des coordonnées des points de destinations. Les coordonnées longitude et latitude sont séparées par la caractère , |
oui |
|
graphName |
Nom du graphe à utiliser |
oui |
|
method |
itinéraire le plus court (distance) ou le plus rapide (time) |
oui |
time |
profileId |
Identifiant du véhicule (enregistré dans les profils de véhicule) à utiliser |
oui |
|
profileName |
Profil du véhicule (enregistré dans les profils de véhicule) à utiliser |
oui |
|
rejectFlags |
Déprécié, remplacé par exclusions |
||
exclusions |
Liste des règles de restrictions à utiliser, séparés par le caractère , ou ; (Exemple : "Toll", "Tunnel", "Bridge") |
oui |
En sortie
Matrice (matrixResult)
paramètre | type | min/max | description |
---|---|---|---|
originLocations/originLocation (ou originLocations en JSON / JSON-P) |
string (ou array of originLocations/originLocation en JSON / JSON-P) |
0/illimité |
positions d’origine |
destinationLocations/destinationLocation (ou destinationLocations en JSON / JSON-P) |
string (ou array of destinationLocations/destinationLocation en JSON / JSON-P) |
0/illimité |
positions de destination |
rows/row (ou rows en JSON / JSON-P) |
matrixRow (ou array of rows/row (matrixRow) en JSON / JSON-P) |
0/illimité |
Ligne de matrice |
Ligne de matrice (matrixRow)
paramètre | type | min/max | description |
---|---|---|---|
cells/cell (ou cells en JSON / JSON-P) |
matrixCell (ou array of cells/cell (matrixCell) en JSON / JSON-P) |
0/illimité |
Cellule de matrice |
Cellule de matrice (matrixCell)
paramètre | type | min/max | description |
---|---|---|---|
distance |
double |
1/1 |
Distance de cellule de matrice (en mètres) |
duration |
double |
1/1 |
Durée de cellule de matrice (en secondes) |
status |
string |
0/1 |
Status cellule de matrice : |
WSDL
http://<server>
/<webapp>
/api/ws/matrixService?wsdl
Requête
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://geoconcept.com/gc/schemas"> <soapenv:Header/> <soapenv:Body> <sch:matrix> <!--Optional:--> <request> <!--Optional:--> <srs></srs> <!--Optional:--> <origins> <!--1 or more repetitions:--> <origin> <x>-0.361470</x> <y>49.183920</y> </origin> <origin> <x>7.261320</x> <y>43.706290</y> </origin> </origins> <!--Optional:--> <destinations> <!--1 or more repetitions:--> <destination> <x>0.088210</x> <y>48.432530</y> </destination> <destination> <x>2.348780</x> <y>48.864730</y> </destination> </destinations> <!--Optional:--> <graphName></graphName> <!--Optional:--> <method></method> <!--Optional:--> <profileId></profileId> <!--Optional:--> <profileName></profileName> <!--Optional:--> <exclusions></exclusions> </request> </sch:matrix> </soapenv:Body> </soapenv:Envelope>
Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:matrixResponse xmlns:ns2="http://geoconcept.com/gc/schemas"> <MatrixResult> <status>OK</status> <originLocations> <originLocation>-0,361470;49,183920</originLocation> <originLocation>7,261320;43,706290</originLocation> </originLocations> <destinationLocations> <destinationLocation>0,088210;48,432530</destinationLocation> <destinationLocation>2,348780;48,864730</destinationLocation> </destinationLocations> <rows> <row> <cells> <cell> <distance>107898.07</distance> <duration>3592.48</duration> <status>OK</status> </cell> <cell> <distance>233393.72</distance> <duration>7063.8</duration> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distance>1105102.84</distance> <duration>32465.86</duration> <status>OK</status> </cell> <cell> <distance>931394.85</distance> <duration>27277.25</duration> <status>OK</status> </cell> </cells> </row> </rows> </MatrixResult> </ns2:matrixResponse> </soap:Body> </soap:Envelope>
Requête
Requête JSON
http://<server>/<webapp>/api/lbs/matrix.json?origins=-0.36147,49.18392;7.26132,43.70629&destinations=0.08821,48.43253;2.34878,48.86473
Requête JSON-P
http://<server>/<webapp>/api/lbs/matrix.json?origins=-0.36147,49.18392;7.26132,43.70629&destinations=0.08821,48.43253;2.34878,48.86473&callback=myCallback
Requête XML
http://<server>/<webapp>/api/lbs/matrix.xml?origins=-0.36147,49.18392;7.26132,43.70629&destinations=0.08821,48.43253;2.34878,48.86473
Réponse
La réponse est toujours encodée en UTF-8.
Format JSON
{ "message":null, "status":"OK", "originLocations":[ "-0,361470;49,183920", "7,261320;43,706290" ], "destinationLocations":[ "0,088210;48,432530", "2,348780;48,864730" ], "rows":[ { "cells":[ { "distance":107528.37, "duration":5139.2300000000005, "status":"OK" }, { "distance":234732.19, "duration":9880.54, "status":"OK" } ] }, { "cells":[ { "distance":1103920.65, "duration":38946.42, "status":"OK" }, { "distance":930731.03, "duration":32689.65, "status":"OK" } ] } ] }
Format JSON-P
myCallback( { "message":null, "status":"OK", "originLocations":[ "-0,361470;49,183920", "7,261320;43,706290" ], "destinationLocations":[ "0,088210;48,432530", "2,348780;48,864730" ], "rows":[ { "cells":[ { "distance":107528.37, "duration":5139.2300000000005, "status":"OK" }, { "distance":234732.19, "duration":9880.54, "status":"OK" } ] }, { "cells":[ { "distance":1103920.65, "duration":38946.42, "status":"OK" }, { "distance":930731.03, "duration":32689.65, "status":"OK" } ] } ] } );
Format XML
<matrixResult> <status>OK</status> <originLocations> <originLocation>-0,361470;49,183920</originLocation> <originLocation>7,261320;43,706290</originLocation> </originLocations> <destinationLocations> <destinationLocation>0,088210;48,432530</destinationLocation> <destinationLocation>2,348780;48,864730</destinationLocation> </destinationLocations> <rows> <row> <cells> <cell> <distance>107528.37</distance> <duration>5139.2300000000005</duration> <status>OK</status> </cell> <cell> <distance>234732.19</distance> <duration>9880.54</duration> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distance>1103920.65</distance> <duration>38946.42</duration> <status>OK</status> </cell> <cell> <distance>930731.03</distance> <duration>32689.65</duration> <status>OK</status> </cell> </cells> </row> </rows> </matrixResult>
Cas d’un itinéraire trouvé (matrixResult/status est OK)
<matrixResult> <status>OK</status> <originLocations> <originLocation>-0,361470;49,183920</originLocation> <originLocation>7,261320;43,706290</originLocation> </originLocations> <destinationLocations> <destinationLocation>0,088210;48,432530</destinationLocation> <destinationLocation>2,348780;48,864730</destinationLocation> </destinationLocations> <rows> <row> <cells> <cell> <distance>107528.37</distance> <duration>5139.2300000000005</duration> <status>OK</status> </cell> <cell> <distance>234732.19</distance> <duration>9880.54</duration> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distance>1103920.65</distance> <duration>38946.42</duration> <status>OK</status> </cell> <cell> <distance>930731.03</distance> <duration>32689.65</duration> <status>OK</status> </cell> </cells> </row> </rows> </matrixResult>
Cas d’un oubli de spécification d’origine et de destination (matrixResult/status est OK)
<matrixResult> <status>OK</status> <originLocations/> <destinationLocations/> </matrixResult>
Cas d’un mauvais typage (serviceResult/status est ERROR)
<serviceResult> <message>NumberFormatException: For input string: "AAA"</message> <status>ERROR</status> </serviceResult>
Cas d’une erreur d’accrochage au graphe (matrixResult/status est OK) / (matrixCell/status est KO)
<matrixResult> <status>OK</status> <originLocations> <originLocation>-0,361470;49,183920</originLocation> <originLocation>57,261320;43,706290</originLocation> </originLocations> <destinationLocations> <destinationLocation>0,088210;48,432530</destinationLocation> <destinationLocation>2,348780;48,864730</destinationLocation> </destinationLocations> <rows> <row> <cells> <cell> <distance>107528.37</distance> <duration>5139.2300000000005</duration> <status>OK</status> </cell> <cell> <distance>234732.19</distance> <duration>9880.54</duration> <status>OK</status> </cell> </cells> </row> <row> <cells> <cell> <distance>0.0</distance> <duration>0.0</duration> <status>KO</status> </cell> <cell> <distance>0.0</distance> <duration>0.0</duration> <status>KO</status> </cell> </cells> </row> </rows> </matrixResult>
Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (serviceResult/status est ERROR)
<serviceResult> <message>ServiceException: Error in matrix computation Error in smartrouting datasource is null</message> <status>ERROR</status> </serviceResult>
- 1. Peut-on utiliser des alias à défaut des noms de fichiers .siti pour appeler une datasource ?
- 2. Comment utiliser les statistiques routières ?
- 3. Comment faire un calcul de matrice d’itinéraires sans péage?
- 4. Qu’est-ce que les Speed Patterns ? Comment les utiliser ?
- 5. Comment utiliser les attributs poids lourds ?