Route - Post Snap To Roads
Interfejs API przyciągania do dróg akceptuje dane punktów GPS, reprezentowane jako współrzędne geograficzne i współrzędne geograficzne oraz generuje punkty, które są zgodne z istniejącymi drogami na mapie. Ten proces, znany jako "przyciąganie do dróg", tworzy serię obiektów, które śledzą ścieżkę ściśle po sieci drogowej. Wynikowe dane obejmują nazwy dróg i ich odpowiednie ograniczenia prędkości, odpowiednie dla przechodzonych segmentów.
Ponadto interfejs API Snap to Roads oferuje funkcję interpolacji, która uściśli punkty GPS, aby stworzyć łagodniejszą trasę, która jest zgodna z geometrią drogi. Ta funkcja jest szczególnie przydatna w przypadku śledzenia zasobów i ulepszania wizualizacji danych w aplikacjach mapowania.
Ważna
Punkty GPS muszą znajdować się w odległości nie większej niż 6 kilometrów od siebie.
Aby uzyskać informacje o dostępności routingu w krajach/regionach, zobacz Azure Maps pokrycie routingu.
POST {endpoint}/route/snapToRoads?api-version=2025-01-01
Parametry identyfikatora URI
| Nazwa | W | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (uri) |
Nazwa hosta usługi Azure Maps. Użyj |
|
api-version
|
query | True |
string minLength: 1 |
Wersja interfejsu API do użycia dla tej operacji. |
Nagłówek żądania
Media Types: "application/geo+json"
| Nazwa | Wymagane | Typ | Opis |
|---|---|---|---|
| x-ms-client-id |
string |
Wskazuje konto przeznaczone do użycia z modelem bezpieczeństwa Microsoft Entra ID. Ten unikalny identyfikator konta Azure Maps można uzyskać z API Azure Maps Account API na płaszczyźnie zarządzania. Więcej informacji na temat korzystania z Microsoft Entra ID zabezpieczeń w Azure Maps można znaleźć w Manage authentication in Azure Maps. |
|
| Accept-Language |
string |
Język, w którym powinny być zwracane wyniki routingu. Więcej informacji można znaleźć w Wsparcie lokalizacji w Azure Maps. |
Treść żądania
Media Types: "application/geo+json"
| Nazwa | Wymagane | Typ | Opis |
|---|---|---|---|
| features | True |
Zestaw punktów do przyciągania do sieci drogowej. Możesz mieć minimum 2 punkty i maksimum 5000 punktów, a dwa kolejne punkty muszą znajdować się w odległości do 6 kilometrów od siebie, a łączny dystans drogowy nie może przekraczać 100 kilometrów. Zapoznaj się z dokumentem RFC 7946 , aby uzyskać szczegółowe informacje na temat formatu GeoJSON.
|
|
| type | True |
Określa typ |
|
| includeSpeedLimit |
boolean |
Określa, czy należy uwzględnić informacje o limicie prędkości dla przyciąganych punktów w odpowiedzi. Jednostka jest wyrażona w kilometrach na godzinę. |
|
| interpolate |
boolean |
Określa, czy zwracać dodatkowe punkty między przyciętymi punktami, aby ukończyć pełną ścieżkę trasy, która płynnie podąża za geometrią drogi. Punkty interpolowane będą miały |
|
| travelMode |
Określa profil routingu do przyciągania punktów. Jeśli nie określono, domyślny tryb to "jazda", który optymalizuje przyciągane punkty dla tras jazdy. |
Odpowiedzi
| Nazwa | Typ | Opis |
|---|---|---|
| 200 OK |
Żądanie zakończyło się pomyślnie. Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
Nieoczekiwana odpowiedź na błąd. Media Types: "application/geo+json", "application/json" |
Zabezpieczenia
AadToken
Są to przepływy Microsoft Entra OAuth 2.0. W połączeniu z Azure zarządzaniem dostępem opartym na rolach może być używany do kontroli dostępu do Azure Maps API REST. Kontrola dostępu oparta na rolach Azure służy do wyznaczania dostępu do jednego lub więcej kont zasobów lub podzasobów Azure Maps. Każdy użytkownik, grupa lub jednostka usługi mogą mieć dostęp za pośrednictwem wbudowanej roli lub roli niestandardowej składającej się z co najmniej jednego uprawnienia do interfejsów API REST usługi Azure Maps.
Aby zaimplementować scenariusze, zalecamy wyświetlenie koncepcji uwierzytelniania . Podsumowując, ta definicja zabezpieczeń zawiera rozwiązanie do modelowania aplikacji za pośrednictwem obiektów, które mogą kontrolować dostęp do określonych interfejsów API i zakresów.
Note
- Ta definicja zabezpieczeń wymaga użycia nagłówka
x-ms-client-idw celu wskazania, do którego zasobu usługi Azure Maps aplikacja żąda dostępu. Można to uzyskać za pomocą interfejsu API zarządzania usługami Maps. -
Authorization URLjest specyficzna dla wystąpienia chmury publicznej platformy Azure. Suwerenne chmury mają unikalne adresy URL autoryzacji oraz konfiguracje Microsoft Entra ID. - Kontrola dostępu oparta na rolach platformy Azure jest konfigurowana na podstawie płaszczyzny zarządzania platformy Azure za pośrednictwem witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia, zestawów AZURE SDK lub interfejsów API REST.
- Użycie zestawu Web SDK usługi Azure Maps umożliwia skonfigurowanie aplikacji na podstawie konfiguracji dla wielu przypadków użycia.
- Aby uzyskać więcej informacji na temat platformy tożsamości firmy Microsoft, zobacz Platforma tożsamości Microsoft overview.
Typ:
oauth2
Flow:
implicit
Adres URL autoryzacji:
https://login.microsoftonline.com/common/oauth2/authorize
Zakresy
| Nazwa | Opis |
|---|---|
| https://atlas.microsoft.com/.default |
subscription-key
Jest to klucz wspólny aprowizowany podczas tworzenie konta usługi Azure Maps w witrynie Azure Portal lub przy użyciu programu PowerShell, interfejsu wiersza polecenia, zestawów SDK platformy Azure lub interfejsu API REST.
Za pomocą tego klucza każda aplikacja może uzyskiwać dostęp do całego interfejsu API REST. Innymi słowy, ten klucz może służyć jako klucz główny na koncie, w którym są wystawiane.
W przypadku publicznie uwidocznionych aplikacji zalecamy użycie poufnych aplikacji klienckich podejście do uzyskiwania dostępu do interfejsów API REST usługi Azure Maps, aby klucz mógł być bezpiecznie przechowywany.
Typ:
apiKey
W:
header
SAS Token
Jest to token sygnatury dostępu współdzielonego tworzony na podstawie operacji List SAS na zasobie usługi Azure Maps za pośrednictwem płaszczyzny zarządzania platformy Azure za pośrednictwem witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia, zestawów AZURE SDK lub interfejsów API REST.
Dzięki temu tokenowi każda aplikacja jest autoryzowana do uzyskiwania dostępu za pomocą kontroli dostępu opartej na rolach platformy Azure i szczegółowej kontroli wygaśnięcia, szybkości i regionów użycia dla określonego tokenu. Innymi słowy, token SAS może służyć do umożliwienia aplikacjom kontrolowania dostępu w sposób bardziej zabezpieczony niż klucz wspólny.
W przypadku publicznie uwidocznionych aplikacji zalecamy skonfigurowanie określonej listy dozwolonych źródeł w zasobie Mapowanie konta w celu ograniczenia nadużyć renderowania i regularnego odnawiania tokenu SAS.
Typ:
apiKey
W:
header
Przykłady
Successfully retrieve snap to roads points with additional parameters in the body
Przykładowe żądanie
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"
}
Przykładowa odpowiedź
{
"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
}
}
]
}
Definicje
| Nazwa | Opis |
|---|---|
|
Features |
Określa typ |
|
Feature |
Określa typ |
|
Geo |
Określa typ |
|
Geo |
Prawidłowy typ geometrii |
|
Input |
Określa przyciąganie danych wejściowych do punktów dróg.
|
|
Maps |
Szczegóły błędu. |
|
Maps |
Typowa odpowiedź na błędy dla API Azure Maps do zwracania szczegółów błędu dla nieudanych operacji. |
|
Maps |
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie. |
|
Snap |
Obiekt funkcji GeoJSON, który zawiera obiekt Geometry i dodatkowe właściwości trasy. |
|
Snap |
Przyciągaj do właściwości Drogi. |
|
Snap |
Ten obiekt jest treścią żądania. |
|
Snap |
Ten obiekt jest zwracany z pomyślnego wywołania. |
|
Snap |
Określa profil routingu do przyciągania punktów. Jeśli nie określono, domyślny tryb to "jazda", który optymalizuje przyciągane punkty dla tras jazdy. |
FeaturesItemTypeEnum
Określa typ GeoJSON. Jedynym obsługiwanym typem obiektu jest Funkcja. Aby uzyskać więcej informacji, zobacz RFC 7946.
| Wartość | Opis |
|---|---|
| Feature |
Określa typ obiektu funkcji |
FeatureTypeEnum
Określa typ GeoJSON. Jedynym obsługiwanym typem obiektu jest FeatureCollection. Aby uzyskać więcej informacji, zobacz RFC 7946.
| Wartość | Opis |
|---|---|
| FeatureCollection |
Określa typ obiektu |
GeoJsonObjectType
Określa typ GeoJSON. Musi być jednym z dziewięciu prawidłowych typów obiektów GeoJSON — Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature i FeatureCollection.
| Wartość | Opis |
|---|---|
| Point |
|
| MultiPoint |
|
| LineString |
|
| MultiLineString |
|
| Polygon |
|
| MultiPolygon |
|
| GeometryCollection |
|
| Feature |
|
| FeatureCollection |
|
GeoJsonPoint
Prawidłowy typ geometrii GeoJSON Point. Aby uzyskać szczegółowe informacje, zobacz RFC 7946.
| Nazwa | Typ | Opis |
|---|---|---|
| coordinates |
number[] (double) |
|
| type |
string:
Point |
Określa typ |
InputSnapToRoadsFeaturesItem
Określa przyciąganie danych wejściowych do punktów dróg.
GeoJSON obiekt funkcji i dodatkowe właściwości. Szczegółowe informacje można znaleźć w dokumencie RFC 7946 .
| Nazwa | Typ | Opis |
|---|---|---|
| geometry |
Prawidłowy typ geometrii |
|
| properties |
Obiekt właściwości jest wymagany w prawidłowym formacie GeoJSON, ale może być pusty, ponieważ metadane nie są używane do przyciągania do drogi. |
|
| type |
Określa typ |
MapsErrorDetail
Szczegóły błędu.
| Nazwa | Typ | Opis |
|---|---|---|
| code |
string |
Jeden z zdefiniowanych przez serwer zestaw kodów błędów. |
| details |
Tablica szczegółów dotyczących określonych błędów, które doprowadziły do tego zgłoszonego błędu. |
|
| innererror |
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie. |
|
| message |
string |
Czytelna dla człowieka reprezentacja błędu. |
| target |
string |
Element docelowy błędu. |
MapsErrorResponse
Typowa odpowiedź na błędy dla API Azure Maps do zwracania szczegółów błędu dla nieudanych operacji.
| Nazwa | Typ | Opis |
|---|---|---|
| error |
Szczegóły błędu. |
MapsInnerError
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie.
| Nazwa | Typ | Opis |
|---|---|---|
| code |
string |
Kod błędu. |
| innererror |
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie. |
SnapToRoadFeaturesItem
Obiekt funkcji GeoJSON, który zawiera obiekt Geometry i dodatkowe właściwości trasy.
| Nazwa | Typ | Opis |
|---|---|---|
| bbox |
number[] (double) |
Prostokątny obszar na ziemi zdefiniowany jako obiekt pola ograniczenia. Boki prostokątów są definiowane przez wartości szerokości i długości geograficznej. Aby uzyskać więcej informacji, zobacz RFC 7946, sekcja 5. Przykład: "bbox": [-10.0, -10.0, 10.0, 10.0] |
| geometry |
Prawidłowy typ geometrii |
|
| properties |
Przyciągaj do właściwości Drogi. |
|
| type |
Określa typ |
SnapToRoadsFeatureProperties
Przyciągaj do właściwości Drogi.
| Nazwa | Typ | Opis |
|---|---|---|
| inputIndex |
integer (int64) |
Zidentyfikuj odpowiedni indeks na oryginalnej liście punktów dla każdego przyciąganego punktu. Tylko przyciągane punkty będą zwracać indeksy i mogą służyć do odróżnienia ich od punktów interpolowanych. |
| isInterpolated |
boolean |
Określ, czy jest to punkt interpolowany. |
| name |
string |
Nazwa drogi, do których punkt jest przyciągany. |
| speedLimitInKilometersPerHour |
number (double) |
Ograniczenie prędkości w kilometrach na godzinę. |
SnapToRoadsRequest
Ten obiekt jest treścią żądania.
| Nazwa | Typ | Domyślna wartość | Opis |
|---|---|---|---|
| features |
Zestaw punktów do przyciągania do sieci drogowej. Możesz mieć minimum 2 punkty i maksimum 5000 punktów, a dwa kolejne punkty muszą znajdować się w odległości do 6 kilometrów od siebie, a łączny dystans drogowy nie może przekraczać 100 kilometrów. Zapoznaj się z dokumentem RFC 7946 , aby uzyskać szczegółowe informacje na temat formatu GeoJSON.
|
||
| includeSpeedLimit |
boolean |
False |
Określa, czy należy uwzględnić informacje o limicie prędkości dla przyciąganych punktów w odpowiedzi. Jednostka jest wyrażona w kilometrach na godzinę. |
| interpolate |
boolean |
False |
Określa, czy zwracać dodatkowe punkty między przyciętymi punktami, aby ukończyć pełną ścieżkę trasy, która płynnie podąża za geometrią drogi. Punkty interpolowane będą miały |
| travelMode | driving |
Określa profil routingu do przyciągania punktów. Jeśli nie określono, domyślny tryb to "jazda", który optymalizuje przyciągane punkty dla tras jazdy. |
|
| type |
Określa typ |
SnapToRoadsResponse
Ten obiekt jest zwracany z pomyślnego wywołania.
| Nazwa | Typ | Opis |
|---|---|---|
| features |
|
|
| type |
Określa typ |
SnapToRoadsTravelModeEnum
Określa profil routingu do przyciągania punktów. Jeśli nie określono, domyślny tryb to "jazda", który optymalizuje przyciągane punkty dla tras jazdy.
| Wartość | Opis |
|---|---|
| driving |
Punkty są przyciągane do drogi odpowiedniej dla samochodów. |
| truck |
Zwrotnice są przytwierdzone do drogi odpowiedniej dla ciężarówki. |