Udostępnij przez


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

InputSnapToRoadsFeaturesItem[]

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.

Note: interfejs API nie zwróci obiektu punktu w odpowiedzi dla punktu GPS, którego nie można przyciągnął do sieci drogowej.

type True

FeatureTypeEnum

Określa typ GeoJSON. Jedynym obsługiwanym typem obiektu jest FeatureCollection. Aby uzyskać więcej informacji, zobacz RFC 7946.

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 isInterpolate:true w odpowiedzi, która może służyć do identyfikowania punktów przyciąganych z punktów interpolowanych.

travelMode

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.

Odpowiedzi

Nazwa Typ Opis
200 OK

SnapToRoadsResponse

OK

Media Types: "application/geo+json", "application/json"

Other Status Codes

MapsErrorResponse

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-id w 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 URL jest 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
FeaturesItemTypeEnum

Określa typ GeoJSON. Jedynym obsługiwanym typem obiektu jest Funkcja. Aby uzyskać więcej informacji, zobacz RFC 7946.

FeatureTypeEnum

Określa typ GeoJSON. Jedynym obsługiwanym typem obiektu jest FeatureCollection. Aby uzyskać więcej informacji, zobacz RFC 7946.

GeoJsonPoint

Prawidłowy typ geometrii GeoJSON Point. Aby uzyskać szczegółowe informacje, zobacz RFC 7946.

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 .

MapsErrorDetail

Szczegóły 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.

MapsInnerError

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.

SnapToRoadFeaturesItem

Obiekt funkcji GeoJSON, który zawiera obiekt Geometry i dodatkowe właściwości trasy.

SnapToRoadsFeatureProperties

Przyciągaj do właściwości Drogi.

SnapToRoadsRequest

Ten obiekt jest treścią żądania.

SnapToRoadsResponse

Ten obiekt jest zwracany z pomyślnego wywołania.

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.

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 GeoJSON.

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 GeoJSONFeatureCollection.

GeoJsonPoint

Prawidłowy typ geometrii GeoJSON Point. Aby uzyskać szczegółowe informacje, zobacz RFC 7946.

Nazwa Typ Opis
coordinates

number[] (double)

Position to tablica liczb z co najmniej dwoma elementami. Dwa pierwsze elementy to długości geograficznej i szerokości geograficznej, dokładnie w tej kolejności. wysokości/wysokości jest opcjonalnym trzecim elementem. Aby uzyskać szczegółowe informacje, zobacz RFC 7946.

type string:

Point

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.

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:

PointGeometry

Prawidłowy typ geometrii GeoJSON Point. Aby uzyskać szczegółowe informacje, zobacz RFC 7946.

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

FeaturesItemTypeEnum

Określa typ GeoJSON. Jedynym obsługiwanym typem obiektu jest Funkcja. Aby uzyskać więcej informacji, zobacz RFC 7946.

MapsErrorDetail

Szczegóły błędu.

Nazwa Typ Opis
code

string

Jeden z zdefiniowanych przez serwer zestaw kodów błędów.

details

MapsErrorDetail[]

Tablica szczegółów dotyczących określonych błędów, które doprowadziły do tego zgłoszonego błędu.

innererror

MapsInnerError

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

MapsErrorDetail

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

MapsInnerError

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)

Position to tablica liczb z co najmniej dwoma elementami. Dwa pierwsze elementy to długości geograficznej i szerokości geograficznej, dokładnie w tej kolejności. wysokości/wysokości jest opcjonalnym trzecim elementem. Aby uzyskać szczegółowe informacje, zobacz RFC 7946.

type string:

Point

Określa typ geometrii obiektu GeoJSON Geometry. Aby uzyskać więcej informacji, zobacz RFC 7946.

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:

PointGeometry

Prawidłowy typ geometrii GeoJSON Point. Aby uzyskać szczegółowe informacje, zobacz RFC 7946.

properties

SnapToRoadsFeatureProperties

Przyciągaj do właściwości Drogi.

type

FeaturesItemTypeEnum

Określa typ GeoJSON. Jedynym obsługiwanym typem obiektu jest Funkcja. Aby uzyskać więcej informacji, zobacz RFC 7946.

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

InputSnapToRoadsFeaturesItem[]

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.

Note: interfejs API nie zwróci obiektu punktu w odpowiedzi dla punktu GPS, którego nie można przyciągnął do sieci drogowej.

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 isInterpolate:true w odpowiedzi, która może służyć do identyfikowania punktów przyciąganych z punktów interpolowanych.

travelMode

SnapToRoadsTravelModeEnum

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

FeatureTypeEnum

Określa typ GeoJSON. Jedynym obsługiwanym typem obiektu jest FeatureCollection. Aby uzyskać więcej informacji, zobacz RFC 7946.

SnapToRoadsResponse

Ten obiekt jest zwracany z pomyślnego wywołania.

Nazwa Typ Opis
features

SnapToRoadFeaturesItem[]

GeoJSON obiekt funkcji, który zawiera obiekt Geometry i dodatkowe właściwości. Aby uzyskać szczegółowe informacje, zobacz RFC 7946, sekcja 3.2.

type

FeatureTypeEnum

Określa typ GeoJSON. Jedynym obsługiwanym typem obiektu jest FeatureCollection. Aby uzyskać więcej informacji, zobacz RFC 7946.

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.