Route - Post Snap To Roads
L’API Snap to Roads accepte les données de point GPS, représentées sous forme de coordonnées de longitude et de latitude, et génère des points qui s’alignent sur les routes existantes sur une carte. Ce processus, appelé « alignement sur les routes », produit une série d’objets qui tracent un chemin en suivant étroitement le réseau routier. Les données obtenues incluent les noms de routes et leurs limites de vitesse respectives, pertinentes pour les segments parcourus.
De plus, l’API Snap to Roads offre une fonctionnalité d’interpolation, qui affine les points GPS pour créer un itinéraire plus lisse qui respecte la géométrie de la route. Cette fonctionnalité est particulièrement bénéfique pour le suivi des ressources et l’amélioration de la visualisation des données dans les applications de mappage.
Important
Les points GPS doivent se trouver à moins de 6 kilomètres les uns des autres.
Pour plus d’informations sur la disponibilité du routage dans les pays/régions, consultez couverture du routage Azure Maps.
POST https://atlas.microsoft.com/route/snapToRoads?api-version=2025-01-01
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
|
api-version
|
query | True |
string |
Numéro de version de l’API Azure Maps. |
En-tête de la demande
Media Types: "application/geo+json"
| Nom | Obligatoire | Type | Description |
|---|---|---|---|
| x-ms-client-id |
string |
Indique le compte destiné à être utilisé avec le modèle de sécurité Microsoft Entra ID. Cet ID unique pour le compte Azure Maps peut être obtenu à partir de l’API de compte du plan de gestion Azure Maps. Pour plus d’informations sur l’utilisation de la sécurité Microsoft Entra ID dans Azure Maps, consultez Gérer l’authentification dans Azure Maps. |
|
| Accept-Language |
string |
Langue dans laquelle les résultats de routage doivent être retournés. Pour plus d’informations, consultez prise en charge de la localisation dans Azure Maps. |
Corps de la demande
Media Types: "application/geo+json"
| Nom | Obligatoire | Type | Description |
|---|---|---|---|
| features | True |
Ensemble de points à aligner sur le réseau routier. Vous pouvez avoir un minimum de 2 points et un maximum de 5000 points et les deux points consécutifs doivent être à moins de 6 kilomètres l’un de l’autre et une distance totale sur la route allant jusqu’à 100 kilomètres. Reportez-vous à la RFC 7946 pour plus de détails sur le format GeoJSON.
|
|
| type | True |
Spécifie le type |
|
| includeSpeedLimit |
boolean |
Spécifie s’il faut inclure des informations de limite de vitesse pour les points alignés dans la réponse. L’unité est en kilomètres par heure. |
|
| interpolate |
boolean |
Spécifie s’il faut retourner des points supplémentaires entre les points alignés pour terminer le chemin d’itinéraire complet qui suit en douceur la géométrie routière. Les points interpolés auront |
|
| travelMode |
Spécifie le profil de routage pour l’alignement des points. S’il n’est pas spécifié, le mode par défaut est « conduite », ce qui optimise les points alignés pour les itinéraires de conduite. |
Réponses
| Nom | Type | Description |
|---|---|---|
| 200 OK |
OK Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
Une erreur inattendue s’est produite. Media Types: "application/geo+json", "application/json" En-têtes x-ms-error-code: string |
Sécurité
AADToken
Il s’agit des flux Microsoft Entra OAuth 2.0. Lorsqu’il est associé à 'accès en fonction du rôle Azure contrôle, il peut être utilisé pour contrôler l’accès aux API REST Azure Maps. Les contrôles d’accès en fonction du rôle Azure sont utilisés pour désigner l’accès à un ou plusieurs comptes de ressources Azure Maps ou sous-ressources. Tout utilisateur, groupe ou principal de service peut avoir accès via un rôle intégré ou un rôle personnalisé composé d’une ou plusieurs autorisations pour les API REST Azure Maps.
Pour implémenter des scénarios, nous vous recommandons d’afficher concepts d’authentification. En résumé, cette définition de sécurité fournit une solution pour la modélisation des applications via des objets capables de contrôler l’accès sur des API et des étendues spécifiques.
Note
- Cette définition de sécurité nécessite l’utilisation de l’en-tête
x-ms-client-idpour indiquer la ressource Azure Maps à laquelle l’application demande l’accès. Cela peut être acquis à partir de l’API de gestion Maps. - La
Authorization URLest spécifique à l’instance de cloud public Azure. Les clouds souverains ont des URL d’autorisation uniques et des configurations d’ID Microsoft Entra. - Le contrôle d’accès en fonction du rôle Azure est configuré à partir de l'plan de gestion Azure via le portail Azure, PowerShell, l’interface CLI, les SDK Azure ou les API REST.
- L’utilisation du kit de développement logiciel (SDK) web Azure Maps permet la configuration basée sur la configuration d’une application pour plusieurs cas d’usage.
- Pour plus d’informations sur la plateforme d’identités Microsoft, consultez vue d’ensemble de la plateforme d’identités Microsoft.
Type:
oauth2
Flux:
implicit
URL d’autorisation:
https://login.microsoftonline.com/common/oauth2/authorize
Étendues
| Nom | Description |
|---|---|
| https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Il s’agit d’une clé partagée provisionnée lors de la création d’une ressource Azure Maps via le plan de gestion Azure via le portail Azure, PowerShell, CLI, kits SDK Azure ou API REST.
Avec cette clé, toute application est autorisée à accéder à toutes les API REST. En d’autres termes, ces clés peuvent être traitées comme des clés principales pour le compte pour lequel elles sont émises.
Pour les applications exposées publiquement, nous vous recommandons d’utiliser l’accès serveur à serveur des API REST Azure Maps où cette clé peut être stockée en toute sécurité.
Type:
apiKey
Dans:
header
SAS Token
Il s’agit d’un jeton de signature d’accès partagé créé à partir de l’opération List SAS sur la ressource Azure Maps via le plan de gestion Azure via le portail Azure, PowerShell, CLI, azure SDK ou LES API REST.
Avec ce jeton, toute application est autorisée à accéder avec des contrôles d’accès en fonction du rôle Azure et un contrôle précis à l’expiration, au taux et aux régions d’utilisation pour le jeton particulier. En d’autres termes, le jeton SAP peut être utilisé pour permettre aux applications de contrôler l’accès de manière plus sécurisée que la clé partagée.
Pour les applications exposées publiquement, nous vous recommandons de configurer une liste spécifique d’origines autorisées sur la ressource de compte mapper pour limiter l’abus de rendu et renouveler régulièrement le jeton SAP.
Type:
apiKey
Dans:
header
Exemples
Successfully retrieve snap to roads points with additional parameters in the body
Exemple de requête
POST https://atlas.microsoft.com/route/snapToRoads?api-version=2025-01-01
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.336729,
47.590868
],
"type": "Point"
},
"properties": {}
},
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.336042,
47.601604
],
"type": "Point"
},
"properties": {}
}
],
"includeSpeedLimit": true,
"travelMode": "driving"
}
Exemple de réponse
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.336769,
47.590885
],
"type": "Point"
},
"properties": {
"inputIndex": 0,
"isInterpolated": false,
"name": "State Rte-99 N",
"speedLimitInKilometersPerHour": 80
}
},
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.336008,
47.601609
],
"type": "Point"
},
"properties": {
"inputIndex": 1,
"isInterpolated": false,
"name": "State Rte-99 N",
"speedLimitInKilometersPerHour": 80
}
}
]
}
Définitions
| Nom | Description |
|---|---|
|
Features |
Spécifie le type |
|
Feature |
Spécifie le type |
|
Geo |
Type de géométrie |
|
Input |
Spécifie le composant logiciel enfichable d’entrée aux points de routes.
|
|
Maps |
Détail de l’erreur. |
|
Maps |
Réponse d’erreur courante pour les API Azure Maps pour retourner les détails d’erreur pour les opérations ayant échoué. |
|
Maps |
Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur. |
|
Point |
Point d’origine passé en tant qu’objet Geometry
|
|
Snap |
Objet de fonctionnalité GeoJSON qui contient l’objet Geometry et les propriétés supplémentaires de l’itinéraire. |
|
Snap |
Accrochage aux propriétés Routes. |
|
Snap |
Cet objet est le corps de la requête. |
|
Snap |
Cet objet est retourné à partir d’un appel réussi. |
|
Snap |
Spécifie le profil de routage pour l’alignement des points. S’il n’est pas spécifié, le mode par défaut est « conduite », ce qui optimise les points alignés pour les itinéraires de conduite. |
FeaturesItemTypeEnum
Spécifie le type GeoJSON. Le seul type d’objet pris en charge est Feature. Pour plus d’informations, consultez la RFC 7946.
| Valeur | Description |
|---|---|
| Feature |
Spécifie le type d’objet Feature |
FeatureTypeEnum
Spécifie le type GeoJSON. Le seul type d’objet pris en charge est FeatureCollection. Pour plus d’informations, consultez la RFC 7946.
| Valeur | Description |
|---|---|
| FeatureCollection |
Spécifie le type d’objet |
GeoJsonPoint
Type de géométrie GeoJSON Point valide. Pour plus d’informations, reportez-vous à RFC 7946.
| Nom | Type | Description |
|---|---|---|
| coordinates |
number[] (double) |
Un |
| type |
string:
Point |
Spécifie le type |
InputSnapToRoadsFeaturesItem
Spécifie le composant logiciel enfichable d’entrée aux points de routes.
GeoJSON objet de fonctionnalité et des propriétés supplémentaires. Reportez-vous à la RFC 7946 pour plus de détails.
| Nom | Type | Description |
|---|---|---|
| geometry | GeoJsonPoint: |
Type de géométrie |
| properties |
object |
L’objet de propriétés est requis dans un GeoJSON valide, mais il peut être vide, car les métadonnées ne sont pas utilisées pour l’alignement sur la route. |
| type |
Spécifie le type |
MapsErrorDetail
Détail de l’erreur.
| Nom | Type | Description |
|---|---|---|
| code |
string |
Un ensemble de codes d’erreur définis par le serveur. |
| details |
Tableau de détails sur des erreurs spécifiques qui ont conduit à cette erreur signalée. |
|
| innererror |
Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur. |
|
| message |
string |
Représentation lisible par l’homme de l’erreur. |
| target |
string |
Cible de l’erreur. |
MapsErrorResponse
Réponse d’erreur courante pour les API Azure Maps pour retourner les détails d’erreur pour les opérations ayant échoué.
| Nom | Type | Description |
|---|---|---|
| error |
Détail de l’erreur. |
MapsInnerError
Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur.
| Nom | Type | Description |
|---|---|---|
| code |
string |
Code d’erreur. |
| innererror |
Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur. |
PointGeometry
Point d’origine passé en tant qu’objet Geometry GeoJSON valide, à partir duquel le polygone de plage doit être calculé. Pour plus d’informations, reportez-vous à RFC 7946.
Note: l’API aligne le point d’origine demandé sur le réseau routier le plus proche et l’utilise pour le calcul de plage. Elle est retournée en tant que point de center dans la réponse.
| Nom | Type | Description |
|---|---|---|
| coordinates |
number[] (double) |
Un |
| type |
string:
Point |
Spécifie le type de géométrie de l’objet geometry |
SnapToRoadFeaturesItem
Objet de fonctionnalité GeoJSON qui contient l’objet Geometry et les propriétés supplémentaires de l’itinéraire.
| Nom | Type | Description |
|---|---|---|
| bbox |
number[] (double) |
Une zone rectangulaire sur la terre définie comme un objet de cadre englobant. Les côtés des rectangles sont définis par les valeurs de latitude et de longitude. Pour plus d’informations, consultez RFC 7946, section 5. Exemple : « bbox » : [-10.0, -10.0, 10.0, 10.0] |
| geometry | GeoJsonPoint: |
Type de géométrie |
| properties |
Accrochage aux propriétés Routes. |
|
| type |
Spécifie le type |
SnapToRoadsFeatureProperties
Accrochage aux propriétés Routes.
| Nom | Type | Description |
|---|---|---|
| inputIndex |
integer (int64) |
Identifiez l’index correspondant dans la liste d’origine des points pour chaque point aligné. Seuls les points alignés retournent des index et peuvent être utilisés pour les distinguer des points interpolés. |
| isInterpolated |
boolean |
Identifiez s’il s’agit du point interpolé. |
| name |
string |
Nom de la route où le point est aligné. |
| speedLimitInKilometersPerHour |
number (double) |
Limite de vitesse en kilomètres par heure. |
SnapToRoadsRequest
Cet objet est le corps de la requête.
| Nom | Type | Valeur par défaut | Description |
|---|---|---|---|
| features |
Ensemble de points à aligner sur le réseau routier. Vous pouvez avoir un minimum de 2 points et un maximum de 5000 points et les deux points consécutifs doivent être à moins de 6 kilomètres l’un de l’autre et une distance totale sur la route allant jusqu’à 100 kilomètres. Reportez-vous à la RFC 7946 pour plus de détails sur le format GeoJSON.
|
||
| includeSpeedLimit |
boolean |
False |
Spécifie s’il faut inclure des informations de limite de vitesse pour les points alignés dans la réponse. L’unité est en kilomètres par heure. |
| interpolate |
boolean |
False |
Spécifie s’il faut retourner des points supplémentaires entre les points alignés pour terminer le chemin d’itinéraire complet qui suit en douceur la géométrie routière. Les points interpolés auront |
| travelMode | driving |
Spécifie le profil de routage pour l’alignement des points. S’il n’est pas spécifié, le mode par défaut est « conduite », ce qui optimise les points alignés pour les itinéraires de conduite. |
|
| type |
Spécifie le type |
SnapToRoadsResponse
Cet objet est retourné à partir d’un appel réussi.
| Nom | Type | Description |
|---|---|---|
| features |
|
|
| type |
Spécifie le type |
SnapToRoadsTravelModeEnum
Spécifie le profil de routage pour l’alignement des points. S’il n’est pas spécifié, le mode par défaut est « conduite », ce qui optimise les points alignés pour les itinéraires de conduite.
| Valeur | Description |
|---|---|
| driving |
Les points sont alignés sur la route adaptée aux voitures. |
| truck |
Les aiguillages sont accrochés à la route adaptée aux camions. |