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 des informations sur la disponibilité du routage dans les pays/régions, voir Azure Maps couverture de routage.
POST {endpoint}/route/snapToRoads?api-version=2025-01-01
Paramètres URI
| Nom | Dans | Obligatoire | Type | Description |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (uri) |
Le nom d’hôte du service Azure Maps. Utilisez |
|
api-version
|
query | True |
string minLength: 1 |
Version de l’API à utiliser pour cette opération. |
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 depuis l’API de compte Azure Maps plan de gestion. Pour plus d’informations sur l’utilisation de la sécurité Microsoft Entra ID dans Azure Maps, voir 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, voir 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 |
La demande a réussi. Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
Réponse d’erreur inattendue. Media Types: "application/geo+json", "application/json" |
Sécurité
AadToken
Ce sont les flux Microsoft Entra OAuth 2.0. Lorsqu’il est associé au contrôle d’accès basé sur Azure par rôle, il peut être utilisé pour contrôler l’accès à Azure Maps API REST. Les contrôles d’accès basés sur les rôles Azure sont utilisés pour désigner l’accès à un ou plusieurs comptes ou sous-ressources de ressources Azure Maps. 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 disposent d’URL d’autorisation uniques et de configurations d’identifiants Microsoft Entra ID. - 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 |
subscription-key
Il s’agit d’une clé partagée provisionnée lorsque vous créer un compte Azure Maps dans le portail Azure ou à l’aide de PowerShell, CLI, sdk Azure ou API REST.
Avec cette clé, toute application peut accéder à toutes les API REST. En d’autres termes, cette clé peut être utilisée comme clé principale dans le compte dans lequel elles sont émises.
Pour les applications exposées publiquement, nous vous recommandons d’utiliser les applications clientes confidentielles approche permettant d’accéder aux API REST Azure Maps afin que votre clé puisse ê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": {
"type": "Point",
"coordinates": [
-122.336729,
47.590868
]
},
"properties": {}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336042,
47.601604
]
},
"properties": {}
}
],
"includeSpeedLimit": true,
"travelMode": "driving"
}
Exemple de réponse
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336769,
47.590885
]
},
"properties": {
"name": "State Rte-99 N",
"inputIndex": 0,
"isInterpolated": false,
"speedLimitInKilometersPerHour": 80
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336008,
47.601609
]
},
"properties": {
"name": "State Rte-99 N",
"inputIndex": 1,
"isInterpolated": false,
"speedLimitInKilometersPerHour": 80
}
}
]
}
Définitions
| Nom | Description |
|---|---|
|
Features |
Spécifie le type |
|
Feature |
Spécifie le type |
|
Geo |
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 à l’erreur courante pour les API Azure Maps afin de renvoyer les détails d’erreur en cas d’échec des opérations. |
|
Maps |
Objet contenant des informations plus spécifiques que l’objet actuel sur l’erreur. |
|
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 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 RFC 7946.
| Valeur | Description |
|---|---|
| FeatureCollection |
Spécifie le type d’objet |
GeoJsonObjectType
Spécifie le type GeoJSON. Doit être l’un des neuf types d’objets GeoJSON valides : Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature et FeatureCollection.
| Valeur | Description |
|---|---|
| Point |
|
| MultiPoint |
|
| LineString |
|
| MultiLineString |
|
| Polygon |
|
| MultiPolygon |
|
| GeometryCollection |
|
| Feature |
|
| FeatureCollection |
|
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. Pour plus d’informations, reportez-vous à RFC 7946.
| Nom | Type | Description |
|---|---|---|
| geometry |
Type de géométrie |
|
| properties |
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 |
Une représentation lisible par une personne de l'erreur. |
| target |
string |
Cible de l’erreur. |
MapsErrorResponse
Réponse à l’erreur courante pour les API Azure Maps afin de renvoyer les détails d’erreur en cas d’échec des opérations.
| 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. |
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 |
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. |