Isochrone
Calculez la zone géographique atteignable depuis un point en N minutes ou N kilomètres. Réponse au format GeoJSON Polygon.
L’endpoint Isochrone calcule la zone atteignable depuis un point d’origine en un certain temps (en minutes) ou une certaine distance (en kilomètres). Le résultat est un polygone GeoJSON prêt à afficher sur une carte.
Endpoint
POST
https://api.tmaps.tn/routing/isochrone?api_key=YOUR_API_KEY Paramètres
Body JSON
| Param | Type | Requis | Défaut | Description |
|---|---|---|---|---|
origin | object | oui | — | Point de départ { lat, lng }. |
contours | array | oui | — | Liste de contours à calculer. Chaque contour est { time: minutes } ou { distance: km }. Vous pouvez en demander plusieurs dans une même requête. |
profile | string | — | driving | Profil de transport : driving, walking, cycling, truck. |
colors | array | — | — | Couleur HTML (hex) à associer à chaque contour pour faciliter le rendu (ex. ['#22c55e', '#f59e0b', '#ef4444']). |
Limites
- Temps max : 60 minutes par contour.
- Distance max : 50 km par contour.
- Nombre max de contours : 4 par requête (pour des isochrones empilées).
Exemple — zone de chalandise 15 minutes en voiture
curl -X POST "https://api.tmaps.tn/routing/isochrone?api_key=YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"origin": { "lat": 36.8002, "lng": 10.1815 },
"contours": [{ "time": 15 }],
"profile": "driving"
}'Exemple — isochrones empilées (5 / 10 / 15 min)
const res = await fetch(
'https://api.tmaps.tn/routing/isochrone?api_key=YOUR_API_KEY',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
origin: { lat: 36.8002, lng: 10.1815 },
contours: [
{ time: 5 },
{ time: 10 },
{ time: 15 },
],
profile: 'driving',
colors: ['#22c55e', '#f59e0b', '#ef4444'],
}),
}
);
const geojson = await res.json();
// → 3 features dans le FeatureCollectionRéponse
La réponse est un FeatureCollection GeoJSON : une feature par contour demandé, dans le même ordre que la requête.
200 Zone atteignable en 15 minutes en voiture depuis le centre de Tunis
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"contour": 15,
"metric": "time",
"color": "#22c55e"
},
"geometry": {
"type": "Polygon",
"coordinates": [[
[10.0801, 36.8412],
[10.1240, 36.8650],
[10.2308, 36.8580],
[10.2620, 36.8011],
[10.2210, 36.7530],
[10.1100, 36.7480],
[10.0801, 36.8412]
]]
}
}
]
} Champs renvoyés
Properties d'une feature
| Param | Type | Requis | Défaut | Description |
|---|---|---|---|---|
contour | number | — | — | Valeur du contour : nombre de minutes ou nombre de kilomètres. |
metric | string | — | — | time ou distance selon ce qui a été demandé. |
color | string | — | — | Couleur associée au contour, si fournie en entrée. Pratique pour styliser directement la couche cartographique. |
Ordre d'affichage
Si vous demandez plusieurs contours empilés, dessinez le plus grand (15 min) en arrière-plan et le plus petit (5 min) au premier plan, pour obtenir un effet de niveaux concentriques.
Cas d’usage
- Géomarketing & retail : zones de chalandise pour ouvrir un nouveau point de vente.
- Immobilier : afficher « toutes les écoles à 10 min à pied de ce bien ».
- Logistique : zones desservables par un dépôt en moins de 30 min.
- Urgences : couverture d’une caserne / d’un hôpital en 5 min.
Erreurs
| Statut | Cause |
|---|---|
400 | origin manquant, time > 60 ou distance > 50 |
401 | api_key manquant ou révoqué |
403 | Domaine non autorisé |
404 | Origine hors zone de couverture |
Voir Codes d’erreur pour la liste complète.