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.
Important
Punkty GPS muszą znajdować się w odległości nie większej niż 6 kilometrów od siebie.
Aby uzyskać informacje na temat routingu dostępności w krajach/regionach, zobacz pokrycie routingu usługi Azure Maps.
POST https://atlas.microsoft.com/route/snapToRoads?api-version=2025-01-01
Parametry identyfikatora URI
| Nazwa | W | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
api-version
|
query | True |
string |
Numer wersji interfejsu API usługi Azure Maps. |
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 zabezpieczeń Microsoft Entra ID. Ten unikatowy identyfikator konta Azure Maps można uzyskać z interfejsu API konta płaszczyzny zarządzania Azure Maps. Aby uzyskać więcej informacji na temat korzystania z zabezpieczeń Microsoft Entra ID w Azure Maps, zobacz Zarządzanie uwierzytelnianiem w Azure Maps. |
|
| Accept-Language |
string |
Język, w którym powinny być zwracane wyniki routingu. Aby uzyskać więcej informacji, zobacz Obsługa lokalizacji w usłudze 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 |
OK Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
Wystąpił nieoczekiwany błąd. Media Types: "application/geo+json", "application/json" Nagłówki x-ms-error-code: string |
Zabezpieczenia
AADToken
Są to przepływy Microsoft Entra OAuth 2.0. Po połączeniu z dostępem opartym na rolach platformy Azure kontroli może służyć do kontrolowania dostępu do interfejsów API REST usługi Azure Maps. Mechanizmy kontroli dostępu opartej na rolach platformy Azure służą do wyznaczania dostępu do co najmniej jednego konta zasobu usługi Azure Maps lub zasobów podrzędnych. 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ą unikatowe adresy URL autoryzacji i konfiguracje identyfikatorów Entra firmy Microsoft. - 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 Microsoft identity platform overview.
Typ:
oauth2
Flow:
implicit
Adres URL autoryzacji:
https://login.microsoftonline.com/common/oauth2/authorize
Zakresy
| Nazwa | Opis |
|---|---|
| https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Jest to klucz wspólny aprowizowany podczas tworzenia zasobów 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 SDK platformy Azure lub interfejsów API REST.
Za pomocą tego klucza każda aplikacja jest autoryzowana do uzyskiwania dostępu do wszystkich interfejsów API REST. Innymi słowy, mogą one być obecnie traktowane jako klucze główne do konta, dla którego są wystawiane.
W przypadku publicznie uwidocznionych aplikacji naszym zaleceniem jest użycie dostępu serwer-serwer interfejsów API REST usługi Azure Maps, w których ten klucz może 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": {
"coordinates": [
-122.336729,
47.590868
],
"type": "Point"
},
"properties": {}
},
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.336042,
47.601604
],
"type": "Point"
},
"properties": {}
}
],
"includeSpeedLimit": true,
"travelMode": "driving"
}
Przykładowa odpowiedź
{
"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
}
}
]
}
Definicje
| Nazwa | Opis |
|---|---|
|
Features |
Określa typ |
|
Feature |
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 interfejsów API usługi Azure Maps w celu zwrócenia szczegółów błędu dla operacji, które zakończyły się niepowodzeniem. |
|
Maps |
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie. |
|
Point |
Punkt początkowy został przekazany jako prawidłowy obiekt geometrii
|
|
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 |
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 | GeoJsonPoint: |
Prawidłowy typ geometrii |
| properties |
object |
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 interfejsów API usługi Azure Maps w celu zwrócenia szczegółów błędu dla operacji, które zakończyły się niepowodzeniem.
| 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. |
PointGeometry
Punkt początkowy został przekazany jako prawidłowy obiekt geometrii GeoJSON, z którego ma zostać obliczony wielokąt zakresu. Aby uzyskać szczegółowe informacje, zobacz RFC 7946.
Note: interfejs API przyciągnie żądany punkt początkowy do najbliższej sieci drogowej i użyje go do obliczenia zakresu. Zostanie on zwrócony jako punkt center w odpowiedzi.
| Nazwa | Typ | Opis |
|---|---|---|
| coordinates |
number[] (double) |
|
| type |
string:
Point |
Określa typ geometrii obiektu |
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 | GeoJsonPoint: |
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. |