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 un isochrone/isodistance depuis un point et retourne la géométrie de la zone calculée. Il s’appuie sur le graphe paramétré dont le nom a été spécifié dans l’interface d’administration de Geoconcept Web.
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".
Changements avec la V3
- Ajout des paramètres "avoidArea" et "configName".
Changements avec la V2
- Ajout des paramètres "startDateTime" et "snapMethod"
En entrée
paramètre | description | optionnel | défaut |
---|---|---|---|
id |
Identifiant de l’isochrone |
oui |
|
location |
Départ (ou arrivée si le |
non |
|
srs |
projection (code EPSG comme epsg:4326 ou wgs84) |
oui |
epsg:4326 |
graphName (déprécié) |
Nom du graphe à utiliser |
oui |
|
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 |
|
method |
"time" pour isochrone ou "distance" for isodistance |
non |
time |
time |
Temps maximum d’accès, en secondes |
oui |
|
distance |
Distance maximum d’accès, en mètres |
oui |
|
reverse |
si true, le |
oui |
false |
smoothing |
Lissage |
oui |
false |
holes |
Afficher les trous dans la zone résultante (la géométrie retournée est plus volumineuse lorsque ce paramètre est à true ) |
oui |
false |
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 |
|
timeOut |
Time out pour le calcul (en millisecondes) |
oui |
|
computeOptions |
Liste des options pour le calcul, séparées par le caractère ; |
oui |
(M18) Disponible à partir de la version M18 des graphes fournis par GEOCONCEPT SAS.
En sortie
Itinéraire (isochroneResult)
paramètre | type | min/max | description |
---|---|---|---|
id |
string |
0/1 |
Identifiant de l’isochrone |
location |
string |
0/1 |
Départ (ou arrivée si le |
srs |
string |
0/1 |
projection |
time |
string |
0/1 |
Temps maximum d’accès, en secondes |
distance |
string |
0/1 |
Distance maximum d’accès, en mètres |
wktGeometry |
string |
0/1 |
Géometrie de l’isochrone, au format wkt |
WSDL
http://<server>
/<webapp>
/api/ws/isochroneService?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:isochroneV4> <!--Optional:--> <request> <!--Optional:--> <id>1</id> <location> <x>-1.557189</x> <y>47.217122</y> </location> <!--Optional:--> <srs></srs> <!--Optional:--> <graphName></graphName> <!--Optional:--> <profileId></profileId> <!--Optional:--> <profileName></profileName> <!--Optional:--> <exclusions> <!--Zero or more repetitions:--> <exclusion></exclusion> </exclusions> <!--Optional:--> <method>distance</method> <!--Optional:--> <time></time> <!--Optional:--> <distance>5000</distance> <!--Optional:--> <reverse></reverse> <!--Optional:--> <smoothing></smoothing> <!--Optional:--> <holes></holes> <!--Optional:--> <startDateTime></startDateTime> <!--Optional:--> <snapMethod></snapMethod> <!--Optional:--> <avoidArea></avoidArea> <!--Optional:--> <configName></configName> <!--Optional:--> <computeOptions></computeOptions> <!--Optional:--> <timeOut></timeOut> </request> </sch:isochroneV4> </soapenv:Body> </soapenv:Envelope>
Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:isochroneV4Response xmlns:ns2="http://geoconcept.com/gc/schemas"> <IsochroneResult> <status>OK</status> <id>1</id> <location>-1.557189,47.217122</location> <srs /> <distance>5000</distance> <wktGeometry>POLYGON ((-1.544603 47.179044, -1.545261 47.179044, [...], -1.544603 47.179044))</wktGeometry> </IsochroneResult> </ns2:isochroneV4Response> </soap:Body> </soap:Envelope>
Requête
Requête
http://<server>/<webapp>/api/lbs/isochrone/v4.xml
Data (XML)
<?xml version="1.0" encoding="UTF-8"?> <isochroneRequestV4> <id></id> <location> <x>-1.557189</x> <y>47.217122</y> </location> <srs></srs> <graphName></graphName> <profileId></profileId> <profileName></profileName> <exclusions> <exclusion></exclusion> <exclusion></exclusion> <!--...more "exclusion" elements...--> </exclusions> <method></method> <time>50</time> <distance></distance> <reverse></reverse> <smoothing></smoothing> <holes></holes> <startDateTime></startDateTime> <snapMethod></snapMethod> <avoidArea></avoidArea> <configName></configName> </isochroneRequestV4>
Réponse
La réponse est toujours encodée en UTF-8.
Format XML
<isochroneResultV4> <status>OK</status> <id>1</id> <location>-1.557189,47.217122</location> <srs/> <time>50</time> <wktGeometry>POLYGON ((-1.556864 47.216487, -1.556864 47.216948, [...]))</wktGeometry> </isochroneResultV4>
Requête
Requête JSON
http://<server>/<webapp>/api/lbs/isochrone/v4.json?location=-1.557189,47.217122&method=distance&distance=5000
Requête JSON-P
http://<server>/<webapp>/api/lbs/isochrone/v4.json?location=-1.557189,47.217122&method=distance&distance=5000&callback=myCallback
Requête XML
http://<server>/<webapp>/api/lbs/isochrone/v4.xml?location=-1.557189,47.217122&method=distance&distance=2000&holes=true
Réponse
La réponse est toujours encodée en UTF-8.
Format JSON
{ "message": null, "status": "OK", "id": null, "location": "-1.557189,47.217122", "srs": "epsg:4326", "time": null, "distance": "5000", "wktGeometry": "POLYGON ((-1.545312 47.178178, -1.545312 47.180418, ...))" }
Format JSON-P
myCallback( { "message": null, "status": "OK", "id": null, "location": "-1.557189,47.217122", "srs": "EPSG:4326", "time": null, "distance": "5000", "wktGeometry": "POLYGON ((-1.545312 47.178178, -1.545312 47.180418, ...))" } );
Format XML
<isochroneResultV4> <status>OK</status> <location>-1.557189,47.217122</location> <srs>EPSG:4326</srs> <distance>2000</distance> <wktGeometry>POLYGON ((-1.546926 47.202309, -1.546926 47.202752, ...))</wktGeometry> </isochroneResultV4>
Cas d’un isochrone/isodistance trouvé (isochroneResultV2/status est OK)
<isochroneResultV4> <status>OK</status> <location>-1.557189,47.217122</location> <srs>EPSG:4326</srs> <distance>2000</distance> <wktGeometry>POLYGON ((-1.546926 47.202309, -1.546926 47.202752, ...))</wktGeometry> </isochroneResultV4>
Cas de method method = distance et distance non renseigné (isochroneResult/status est ERROR)
<isochroneResultV4> <message>distance parameter must not be null or 0 !</message> <status>ERROR</status> </isochroneResultV4>
Cas de method + time non renseigné (isochroneResult/status est ERROR)
<isochroneResultV4> <message>time parameter must not be null or 0 !</message> <status>ERROR</status> </isochroneResultV4>
Cas ou la balise location est manquante (isochroneResult/status est ERROR)
<isochroneResultV4> <message>Location must be not null</message> <status>ERROR</status> </isochroneResultV4>
Cas ou le point de départ est mal renseigné (isochroneResult/status est ERROR)
<isochroneResultV4> <message>Location point must have 2 components separated with a ,</message> <status>ERROR</status> </isochroneResultV4>
Cas d’une erreur d’accrochage au graphe (serviceResult/status est ERROR)
<serviceResult> <message> ServiceException: Error in isochrone computation Error in smartrouting Failed to execute calculateConcentricReachableAreas com.geoconcept.smartrouting.SmartRoutingNativeException: failed to connect isochrone orign { 52.324230, 48.803256, 0.000000 } failed to connect isochrone orign { 52.324230, 48.803256, 0.000000 } </message> <status>ERROR</status> </serviceResult>
Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (serviceResult/status est ERROR)
<serviceResult> <message>ServiceException: Error in isochrone computation Error in smartrouting datasource is null </message> <status>ERROR</status> </serviceResult>
En entrée
paramètre | description | optionnel | défaut |
---|---|---|---|
id |
Identifiant de l’isochrone |
oui |
|
location |
Départ (ou arrivée si le |
non |
|
srs |
projection (code EPSG comme epsg:4326 ou wgs84) |
oui |
epsg:4326 |
graphName |
Nom du graphe à utiliser |
oui |
|
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 |
|
method |
"time" pour isochrone ou "distance" for isodistance |
non |
time |
time |
Temps maximum d’accès, en secondes |
oui |
|
distance |
Distance maximum d’accès, en mètres |
oui |
|
reverse |
si true, le |
oui |
false |
smoothing |
Lissage |
oui |
false |
holes |
Afficher les trous dans la zone résultante (la géométrie retournée est plus volumineuse lorsque ce paramètre est à true ) |
oui |
false |
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 |
En sortie
Itinéraire (isochroneResult)
paramètre | type | min/max | description |
---|---|---|---|
id |
string |
0/1 |
Identifiant de l’isochrone |
location |
string |
0/1 |
Départ (ou arrivée si le |
srs |
string |
0/1 |
projection |
time |
string |
0/1 |
Temps maximum d’accès, en secondes |
distance |
string |
0/1 |
Distance maximum d’accès, en mètres |
wktGeometry |
string |
0/1 |
Géometrie de l’isochrone, au format wkt |
WSDL
http://<server>
/<webapp>
/api/ws/isochroneService?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:isochroneV3> <!--Optional:--> <request> <!--Optional:--> <id>1</id> <location> <x>-1.557189</x> <y>47.217122</y> </location> <!--Optional:--> <srs></srs> <!--Optional:--> <graphName></graphName> <!--Optional:--> <profileId></profileId> <!--Optional:--> <profileName></profileName> <!--Optional:--> <exclusions> <!--Zero or more repetitions:--> <exclusion></exclusion> </exclusions> <!--Optional:--> <method>distance</method> <!--Optional:--> <time></time> <!--Optional:--> <distance>5000</distance> <!--Optional:--> <reverse></reverse> <!--Optional:--> <smoothing></smoothing> <!--Optional:--> <holes></holes> <!--Optional:--> <startDateTime></startDateTime> <!--Optional:--> <snapMethod></snapMethod> <!--Optional:--> <avoidArea></avoidArea> <!--Optional:--> <configName></configName> </request> </sch:isochroneV3> </soapenv:Body> </soapenv:Envelope>
Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:isochroneV3Response xmlns:ns2="http://geoconcept.com/gc/schemas"> <IsochroneResult> <status>OK</status> <id>1</id> <location>-1.557189,47.217122</location> <srs/> <distance>5000</distance> <wktGeometry>POLYGON ((-1.544603 47.179044, -1.545261 47.179044, [...]))</wktGeometry> </IsochroneResult> </ns2:isochroneV3Response> </soap:Body> </soap:Envelope>
Requête
Requête
http://<server>/<webapp>/api/lbs/isochrone/v3.xml
Data (XML)
<?xml version="1.0" encoding="UTF-8"?> <isochroneRequestV3> <id></id> <location> <x>-1.557189</x> <y>47.217122</y> </location> <srs></srs> <graphName></graphName> <profileId></profileId> <profileName></profileName> <exclusions> <exclusion></exclusion> <exclusion></exclusion> <!--...more "exclusion" elements...--> </exclusions> <method></method> <time>50</time> <distance></distance> <reverse></reverse> <smoothing></smoothing> <holes></holes> <startDateTime></startDateTime> <snapMethod></snapMethod> <avoidArea></avoidArea> <configName></configName> </isochroneRequestV3>
Réponse
La réponse est toujours encodée en UTF-8.
Format XML
<isochroneResultV3> <status>OK</status> <id>1</id> <location>-1.557189,47.217122</location> <srs/> <time>50</time> <wktGeometry>POLYGON ((-1.556864 47.216487, -1.556864 47.216948, [...]))</wktGeometry> </isochroneResultV3>
Requête
Requête JSON
http://<server>/<webapp>/api/lbs/isochrone/v3.json?location=-1.557189,47.217122&method=distance&distance=5000
Requête JSON-P
http://<server>/<webapp>/api/lbs/isochrone/v3.json?location=-1.557189,47.217122&method=distance&distance=5000&callback=myCallback
Requête XML
http://<server>/<webapp>/api/lbs/isochrone/v3.xml?location=-1.557189,47.217122&method=distance&distance=2000&holes=true
Réponse
La réponse est toujours encodée en UTF-8.
Format JSON
{ "message": null, "status": "OK", "id": null, "location": "-1.557189,47.217122", "srs": "EPSG:4326", "time": null, "distance": "5000", "wktGeometry": "POLYGON ((-1.545312 47.178178, -1.545312 47.180418, ...))" }
Format JSON-P
myCallback( { "message": null, "status": "OK", "id": null, "location": "-1.557189,47.217122", "srs": "EPSG:4326", "time": null, "distance": "5000", "wktGeometry": "POLYGON ((-1.545312 47.178178, -1.545312 47.180418, ...))" } );
Format XML
<isochroneResultV3> <status>OK</status> <location>-1.557189,47.217122</location> <srs>EPSG:4326</srs> <distance>2000</distance> <wktGeometry>POLYGON ((-1.546926 47.202309, -1.546926 47.202752, ...))</wktGeometry> </isochroneResultV3>
Cas d’un isochrone/isodistance trouvé (isochroneResultV2/status est OK)
<isochroneResultV3> <status>OK</status> <location>-1.557189,47.217122</location> <srs>EPSG:4326</srs> <distance>2000</distance> <wktGeometry>POLYGON ((-1.546926 47.202309, -1.546926 47.202752, ...))</wktGeometry> </isochroneResultV3>
Cas de method method = distance et distance non renseigné (isochroneResult/status est ERROR)
<isochroneResultV3> <message>distance parameter must not be null or 0 !</message> <status>ERROR</status> </isochroneResultV3>
Cas de method + time non renseigné (isochroneResult/status est ERROR)
<isochroneResultV3> <message>time parameter must not be null or 0 !</message> <status>ERROR</status> </isochroneResultV3>
Cas ou la balise location est manquante (isochroneResult/status est ERROR)
<isochroneResultV3> <message>Location must be not null</message> <status>ERROR</status> </isochroneResultV3>
Cas ou le point de départ est mal renseigné (isochroneResult/status est ERROR)
<isochroneResultV3> <message>Location point must have 2 components separated with a ,</message> <status>ERROR</status> </isochroneResultV3>
Cas d’une erreur d’accrochage au graphe (serviceResult/status est ERROR)
<serviceResult> <message> ServiceException: Error in isochrone computation Error in smartrouting Failed to execute calculateConcentricReachableAreas com.geoconcept.smartrouting.SmartRoutingNativeException: failed to connect isochrone orign { 52.324230, 48.803256, 0.000000 } failed to connect isochrone orign { 52.324230, 48.803256, 0.000000 } </message> <status>ERROR</status> </serviceResult>
Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (serviceResult/status est ERROR)
<serviceResult> <message>ServiceException: Error in isochrone computation Error in smartrouting datasource is null </message> <status>ERROR</status> </serviceResult>
En entrée
paramètre | description | optionnel | défaut |
---|---|---|---|
id |
Identifiant de l’isochrone |
oui |
|
location |
Départ (ou arrivée si le |
non |
|
srs |
projection (code EPSG comme epsg:4326 ou wgs84) |
oui |
epsg:4326 |
graphName |
Nom du graphe à utiliser |
oui |
|
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 |
|
method |
"time" pour isochrone ou "distance" for isodistance |
non |
time |
time |
Temps maximum d’accès, en secondes |
oui |
|
distance |
Distance maximum d’accès, en mètres |
oui |
|
reverse |
si true, le |
oui |
false |
smoothing |
Lissage |
oui |
false |
holes |
Afficher les trous dans la zone résultante (la géométrie retournée est plus volumineuse lorsque ce paramètre est à true ) |
oui |
false |
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
Itinéraire (isochroneResult)
paramètre | type | min/max | description |
---|---|---|---|
id |
string |
0/1 |
Identifiant de l’isochrone |
location |
string |
0/1 |
Départ (ou arrivée si le |
srs |
string |
0/1 |
projection |
time |
string |
0/1 |
Temps maximum d’accès, en secondes |
distance |
string |
0/1 |
Distance maximum d’accès, en mètres |
wktGeometry |
string |
0/1 |
Géometrie de l’isochrone, au format wkt |
WSDL
http://<server>
/<webapp>
/api/ws/isochroneService?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:isochroneV2> <!--Optional:--> <request> <!--Optional:--> <id>1</id> <location> <x>-1.557189</x> <y>47.217122</y> </location> <!--Optional:--> <srs></srs> <!--Optional:--> <graphName></graphName> <!--Optional:--> <profileId></profileId> <!--Optional:--> <profileName></profileName> <!--Optional:--> <exclusions> <!--Zero or more repetitions:--> <exclusion></exclusion> </exclusions> <!--Optional:--> <method>distance</method> <!--Optional:--> <time></time> <!--Optional:--> <distance>5000</distance> <!--Optional:--> <reverse></reverse> <!--Optional:--> <smoothing></smoothing> <!--Optional:--> <holes></holes> <!--Optional:--> <startDateTime></startDateTime> <!--Optional:--> <snapMethod></snapMethod> </request> </sch:isochroneV2> </soapenv:Body> </soapenv:Envelope>
Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:isochroneV2Response xmlns:ns2="http://geoconcept.com/gc/schemas"> <IsochroneResult> <status>OK</status> <id/> <location>-1.557189,47.217122</location> <srs/> <distance>5000</distance> <wktGeometry>POLYGON ((-1.544603 47.179044, -1.545261 47.179044, [...]))</wktGeometry> </IsochroneResult> </ns2:isochroneV2Response> </soap:Body> </soap:Envelope>
Requête
Requête
http://<server>/<webapp>/api/lbs/isochrone/v2.xml
Data (XML)
<?xml version="1.0" encoding="UTF-8"?> <isochroneRequestV2> <id></id> <location> <x>-1.557189</x> <y>47.217122</y> </location> <srs></srs> <graphName></graphName> <profileId></profileId> <profileName></profileName> <exclusions> <exclusion></exclusion> <exclusion></exclusion> <!--...more "exclusion" elements...--> </exclusions> <method></method> <time>50</time> <distance></distance> <reverse></reverse> <smoothing></smoothing> <holes></holes> <startDateTime></startDateTime> <snapMethod></snapMethod> </isochroneRequestV2>
Réponse
La réponse est toujours encodée en UTF-8.
Format XML
<isochroneResultV2> <status>OK</status> <id>1</id> <location>-1.557189,47.217122</location> <srs/> <time>50</time> <wktGeometry>POLYGON ((-1.556864 47.216487, -1.556864 47.216948, [...]))</wktGeometry> </isochroneResultV2>
Requête
Requête JSON
http://<server>/<webapp>/api/lbs/isochrone/v2.json?location=-1.557189,47.217122&method=distance&distance=5000
Requête JSON-P
http://<server>/<webapp>/api/lbs/isochrone/v2.json?location=-1.557189,47.217122&method=distance&distance=5000&callback=myCallback
Requête XML
http://<server>/<webapp>/api/lbs/isochrone/v2.xml?location=-1.557189,47.217122&method=distance&distance=2000&holes=true
Réponse
La réponse est toujours encodée en UTF-8.
Format JSON
{ "message": null, "status": "OK", "id": null, "location": "-1.557189,47.217122", "srs": "EPSG:4326", "time": null, "distance": "5000", "wktGeometry": "POLYGON ((-1.545312 47.178178, -1.545312 47.180418, ...))" }
Format JSON-P
myCallback( { "message": null, "status": "OK", "id": null, "location": "-1.557189,47.217122", "srs": "EPSG:4326", "time": null, "distance": "5000", "wktGeometry": "POLYGON ((-1.545312 47.178178, -1.545312 47.180418, ...))" } );
Format XML
<isochroneResultV2> <status>OK</status> <location>-1.557189,47.217122</location> <srs>EPSG:4326</srs> <distance>2000</distance> <wktGeometry>POLYGON ((-1.546926 47.202309, -1.546926 47.202752, ...))</wktGeometry> </isochroneResultV2>
Cas d’un isochrone/isodistance trouvé (isochroneResultV2/status est OK)
<isochroneResultV2> <status>OK</status> <location>-1.557189,47.217122</location> <srs>EPSG:4326</srs> <distance>2000</distance> <wktGeometry>POLYGON ((-1.546926 47.202309, -1.546926 47.202752, ...))</wktGeometry> </isochroneResultV2>
Cas de method method = distance et distance non renseigné (isochroneResult/status est ERROR)
<isochroneResultV2> <message>distance parameter must not be null or 0 !</message> <status>ERROR</status> </isochroneResultV2>
Cas de method + time non renseigné (isochroneResult/status est ERROR)
<isochroneResultV2> <message>time parameter must not be null or 0 !</message> <status>ERROR</status> </isochroneResultV2>
Cas ou la balise location est manquante (isochroneResult/status est ERROR)
<isochroneResultV2> <message>Location must be not null</message> <status>ERROR</status> </isochroneResultV2>
Cas ou le point de départ est mal renseigné (isochroneResult/status est ERROR)
<isochroneResultV2> <message>Location point must have 2 components separated with a ,</message> <status>ERROR</status> </isochroneResultV2>
Cas d’une erreur d’accrochage au graphe (serviceResult/status est ERROR)
<serviceResult> <message> ServiceException: Error in isochrone computation Error in smartrouting Failed to execute calculateConcentricReachableAreas com.geoconcept.smartrouting.SmartRoutingNativeException: failed to connect isochrone orign { 52.324230, 48.803256, 0.000000 } failed to connect isochrone orign { 52.324230, 48.803256, 0.000000 } </message> <status>ERROR</status> </serviceResult>
Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (serviceResult/status est ERROR)
<serviceResult> <message>ServiceException: Error in isochrone computation Error in smartrouting datasource is null </message> <status>ERROR</status> </serviceResult>
En entrée
paramètre | description | optionnel | défaut |
---|---|---|---|
id |
Identifiant de l’isochrone |
oui |
|
location |
Départ (ou arrivée si le |
non |
|
srs |
projection (code EPSG comme epsg:4326 ou wgs84) |
oui |
epsg:4326 |
graphName |
Nom du graphe à utiliser |
oui |
|
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 |
|
method |
"time" pour isochrone ou "distance" for isodistance |
non |
time |
time |
Temps maximum d’accès, en secondes |
oui |
|
distance |
Distance maximum d’accès, en mètres |
oui |
|
reverse |
si true, le |
oui |
false |
smoothing |
Lissage |
oui |
false |
holes |
Afficher les trous dans la zone résultante (la géométrie retournée est plus volumineuse lorsque ce paramètre est à true ) |
oui |
false |
En sortie
Itinéraire (isochroneResult)
paramètre | type | min/max | description |
---|---|---|---|
id |
string |
0/1 |
Identifiant de l’isochrone |
location |
string |
0/1 |
Départ (ou arrivée si le |
srs |
string |
0/1 |
projection |
time |
string |
0/1 |
Temps maximum d’accès, en secondes |
distance |
string |
0/1 |
Distance maximum d’accès, en mètres |
wktGeometry |
string |
0/1 |
Géometrie de l’isochrone, au format wkt |
WSDL
http://<server>
/<webapp>
/api/ws/isochroneService?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:isochrone> <!--Optional:--> <request> <!--Optional:--> <id/> <location> <x>-1.557189</x> <y>47.217122</y> </location> <!--Optional:--> <srs/> <!--Optional:--> <graphName/> <!--Optional:--> <profileId/> <!--Optional:--> <profileName/> <!--Optional:--> <exclusions> <!--Zero or more repetitions:--> <exclusion/> </exclusions> <!--Optional:--> <method>distance</method> <!--Optional:--> <distance>5000</distance> <!--Optional:--> <reverse/> <!--Optional:--> <smoothing/> <!--Optional:--> <holes/> </request> </sch:isochrone> </soapenv:Body> </soapenv:Envelope>
Réponse
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:isochroneResponse xmlns:ns2="http://geoconcept.com/gc/schemas"> <IsochroneResult> <status>OK</status> <id/> <location>-1.557189,47.217122</location> <srs/> <distance>5000</distance> <wktGeometry>POLYGON ((-1.544603 47.179044, -1.545261 47.179044, [...]))</wktGeometry> </IsochroneResult> </ns2:isochroneResponse> </soap:Body> </soap:Envelope>
Requête
Requête
http://<server>/<webapp>/api/lbs/isochrone.xml
Data (XML)
<?xml version="1.0" encoding="UTF-8"?> <isochroneRequest> <id>1</id> <location> <x>-1.557189</x> <y>47.217122</y> </location> <srs></srs> <graphName></graphName> <profileId></profileId> <profileName></profileName> <exclusions> <exclusion></exclusion> <exclusion></exclusion> <!--...more "exclusion" elements...--> </exclusions> <method></method> <time>50</time> <distance></distance> <reverse></reverse> <smoothing></smoothing> <holes></holes> </isochroneRequest>
Réponse
La réponse est toujours encodée en UTF-8.
Format XML
<isochroneResult> <status>OK</status> <id>1</id> <location>-1.557189,47.217122</location> <srs/> <time>50</time> <wktGeometry>POLYGON ((-1.556864 47.216487, -1.556864 47.216948, ...))</wktGeometry> </isochroneResult>
Requête
Requête JSON
http://<server>/<webapp>/api/lbs/isochrone.json?location=-1.557189,47.217122&method=distance&distance=5000
Requête JSON-P
http://<server>/<webapp>/api/lbs/isochrone.json?location=-1.557189,47.217122&method=distance&distance=5000&callback=myCallback
Requête XML
http://<server>/<webapp>/api/lbs/isochrone.xml??location=-1.557189,47.217122&method=distance&distance=2000&holes=true
Réponse
La réponse est toujours encodée en UTF-8.
Format JSON
{ "message": null, "status": "OK", "id": null, "location": "-1.557189,47.217122", "srs": "EPSG:4326", "time": null, "distance": "5000", "wktGeometry": "POLYGON ((-1.545312 47.178178, -1.545312 47.180418, ...))" }
Format JSON-P
myCallback( { "message": null, "status": "OK", "id": null, "location": "-1.557189,47.217122", "srs": "EPSG:4326", "time": null, "distance": "5000", "wktGeometry": "POLYGON ((-1.545312 47.178178, -1.545312 47.180418, ...))" } );
Format XML
<isochroneResult> <status>OK</status> <location>-1.557189,47.217122</location> <srs>EPSG:4326</srs> <distance>2000</distance> <wktGeometry>POLYGON ((-1.546926 47.202309, -1.546926 47.202752, ...))</wktGeometry> </isochroneResult>
Cas d’un isochrone/isodistance trouvé (isochroneResult/status est OK)
<isochroneResult> <status>OK</status> <location>2.32423,48.803256</location> <srs>epsg:4326</srs> <distance>2000,000000</distance> <wktGeometry> POLYGON ((2.317525987661223 48.786657549807174, 2.317525987661223 48.787103131779986, ...)) </wktGeometry> </isochroneResult>
Cas ou le point de départ est vide (isochroneResult/status est ERROR)
<isochroneResult> <message>Location must be not null</message> <status>ERROR</status> </isochroneResult>
Cas ou le point de départ est mal renseigné (isochroneResult/status est ERROR)
<isochroneResult> <message>Location point must have 2 components separated with a ,</message> <status>ERROR</status> </isochroneResult>
Cas d’un mauvais typage
<isochroneResult> <message>NumberFormatException: For input string: "AAA"</message> <status>ERROR</status> </isochroneResult>
Cas d’une erreur d’accrochage au graphe (isochroneResult/status est ERROR)
<serviceResult> <message> ServiceException: Error in isochrone computation Error in smartrouting Failed to execute calculateConcentricReachableAreas com.geoconcept.smartrouting.SmartRoutingNativeException: failed to connect isochrone orign { 52.324230, 48.803256, 0.000000 } failed to connect isochrone orign { 52.324230, 48.803256, 0.000000 } </message> <status>ERROR</status> </serviceResult>
Cas d’un problème avec le graphe : fichier absent, mauvais chemin, etc… (isochroneResult/status est ERROR)
<serviceResult> <message>ServiceException: Error in isochrone computation Error in smartrouting datasource is null </message> <status>ERROR</status> </serviceResult>
- 1. Est-il possible de prioriser le temps de parcours ou la distance ?
- 2. Peut-on utiliser des alias à défaut des noms de fichiers .siti pour appeler une datasource ?
- 3. Comment utiliser les statistiques routières ?
- 4. Comment faire un calcul d’isochrone/isodistance sans péage?
- 5. Qu’est-ce que les Speed Patterns ? Comment les utiliser ?
- 6. Comment utiliser les attributs poids lourds ?