Wayfinding - Get Path

Bir tesis içindeki iki konum arasındaki en iyi yolu hesaplamak için kullanın.

Wayfinding Hizmeti, Oluşturucu'nun bir parçasıdır ve Open Geospatial Consortium standardına bağlıdır. Wayfinding, aynı tesis içindeki iki konum arasındaki en iyi yolu hesaplamak için rota kümesindeki iç mekan harita verilerini kullanır. Daha fazla bilgi için İç mekan haritaları kavramları makalesindeWayfinding bölümüne bakın.

GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId={routesetId}&facilityId={facilityId}&fromPoint={fromPoint}&fromLevel={fromLevel}&toPoint={toPoint}&toLevel={toLevel}
GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId={routesetId}&facilityId={facilityId}&fromPoint={fromPoint}&fromLevel={fromLevel}&toPoint={toPoint}&toLevel={toLevel}&avoidFeatures={avoidFeatures}&minWidth={minWidth}

URI Parametreleri

Name İçinde Gerekli Tür Description
api-version
query True

string

Azure Haritalar API'sinin sürüm numarası.

facilityId
query True

string

Yolun bulunacağı rota kümesi içindeki tesisin tanımlayıcısı.

fromLevel
query True

integer

int32

Yol kaynağı düzeyi.

fromPoint
query True

string

Şu biçimdeki yol çıkış noktası: {latitude},{longitude}.

routesetId
query True

string

Sorguya alınacak rota kümesinin kimliği.

toLevel
query True

integer

int32

Yol hedef düzeyi.

toPoint
query True

string

Şu biçimdeki yol hedefi: {latitude},{longitude}.

avoidFeatures
query

avoidFeatures[]

Sonuçta elde edilen yolda belirli bağlayıcı türlerinden kaçınmak için. Birden çok değer belirtilebilir.

minWidth
query

number

Aranan yoldaki açıklıkların minimum genişliği (metre cinsinden). Örneğin, en az 0,85 genişlik belirttiyseniz, arama yapılan yol 85 santimetre genişliğinden küçük açıklıklardan kaçınacaktır. Not: Bu değer kullanıldığında, elde edilen yol noktaları sağlanan genişliğin yarısı kadar duvarlardan ve diğer dikey engellerden arabelleğe alınacaktır.

İstek Başlığı

Name Gerekli Tür Description
x-ms-client-id

string

Hangi hesabın Microsoft Entra ID güvenlik modeliyle birlikte kullanıma yönelik olduğunu belirtir. Azure Haritalar hesabı için benzersiz bir kimliği temsil eder ve Azure Haritalar yönetim düzlemi Hesap API'sinden alınabilir. Azure Haritalar Microsoft Entra ID güvenliğini kullanmak için kılavuz için aşağıdaki makalelere bakın.

Yanıtlar

Name Tür Description
200 OK

WayfindResult

Tamam

Other Status Codes

ErrorResponse

Beklenmeyen bir hata oluştu.

Güvenlik

AADToken

Bunlar Azure Active Directory OAuth2 Akışlarıdır. Azure rol tabanlı erişim denetimiyle eşleştirildiğinde, Azure Haritalar REST API'lerine erişimi denetlemek için kullanılabilir. Azure rol tabanlı erişim denetimleri, bir veya daha fazla Azure Haritalar kaynak hesabına veya alt kaynağına erişimi tanımlamak için kullanılır. Herhangi bir kullanıcı, grup veya hizmet sorumlusuna yerleşik bir rol veya REST API'lerini Azure Haritalar için bir veya daha fazla izinden oluşan özel bir rol aracılığıyla erişim verilebilir.

Senaryoları uygulamak için kimlik doğrulama kavramlarını görüntülemenizi öneririz. Özetle, bu güvenlik tanımı belirli API'ler ve kapsamlar üzerinde erişim denetimi yapabilen nesneler aracılığıyla uygulamaları modellemeye yönelik bir çözüm sağlar.

Notlar

  • Bu güvenlik tanımı, uygulamanın erişim isteğinde x-ms-client-id bulunduğu Azure Haritalar kaynağı belirtmek için üst bilginin kullanılmasını gerektirir. Bu, Haritalar yönetim API'sinden edinilebilir.

Authorization URL, Azure genel bulut örneğine özgüdür. Bağımsız bulutların benzersiz Yetkilendirme URL'leri ve Azure Active Directory yapılandırmaları vardır. * Azure rol tabanlı erişim denetimi Azure portal, PowerShell, CLI, Azure SDK'ları veya REST API'leri aracılığıyla Azure yönetim düzleminden yapılandırılır. * Azure Haritalar Web SDK'sının kullanımı, bir uygulamanın birden çok kullanım örneği için yapılandırma tabanlı kurulumuna olanak tanır.

  • Şu anda Azure Active Directory v1.0 veya v2.0 , İş, Okul ve Konuklar'ı destekler ancak Kişisel hesapları desteklemez.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Bu, Azure portal Azure Haritalar hesabı oluşturduğunuzda veya PowerShell, CLI, Azure SDK'ları veya REST API kullandığınızda sağlanan paylaşılan bir anahtardır.

Bu anahtarla, tüm uygulamalar tüm REST API'lere erişebilir. Başka bir deyişle, bu anahtar, verildikleri hesapta ana anahtar olarak kullanılabilir.

Herkese açık uygulamalar için, anahtarınızın güvenli bir şekilde depolanabilmesi için gizli istemci uygulamaları yaklaşımını kullanarak Azure Haritalar REST API'lerine erişmenizi öneririz.

Type: apiKey
In: query

SAS Token

Bu paylaşılan erişim imzası belirteci, Azure portal, PowerShell, CLI, Azure SDK'ları veya REST API'leri aracılığıyla Azure yönetim düzlemi aracılığıyla Azure Haritalar kaynağındaki Sas Listeleme işleminden oluşturulur.

Bu belirteçle, tüm uygulamalar Azure rol tabanlı erişim denetimleri ve belirli bir belirtecin kullanım süresi, oranı ve bölgelerine yönelik ayrıntılı denetim ile erişim yetkisine sahip olur. Başka bir deyişle SAS Belirteci, uygulamaların erişimi paylaşılan anahtardan daha güvenli bir şekilde denetlemesine izin vermek için kullanılabilir.

Herkese açık uygulamalar için önerimiz, uygunsuz işlemeyi sınırlamak ve SAS Belirtecini düzenli olarak yenilemek için Harita hesabı kaynağında izin verilen kaynakların belirli bir listesini yapılandırmanızdır.

Type: apiKey
In: header

Örnekler

Get the shortest path between two points in the facility.

Sample Request

GET https:///wayfinding/path?api-version=2023-03-01-preview&routesetId=[routeset-Id]&facilityId=[facility-Id]&fromPoint=47.652882287901065,-122.13400410050512&fromLevel=-1&toPoint=47.652870534630466,-122.13382884389553&toLevel=0

Sample Response

{
  "noResultExplanation": "NoExplanation",
  "paths": [
    {
      "lengthInMeters": 51.27548,
      "timeInSeconds": 60,
      "legs": [
        {
          "mode": "Default",
          "lengthInMeters": 14.7605,
          "timeInSeconds": 15,
          "startLevel": 0,
          "endLevel": 0,
          "points": [
            {
              "latitude": 47.6528823,
              "longitude": -122.1340041
            },
            {
              "latitude": 47.6528688,
              "longitude": -122.1340336
            },
            {
              "latitude": 47.6528591,
              "longitude": -122.1340534
            },
            {
              "latitude": 47.6528309,
              "longitude": -122.1341107
            },
            {
              "latitude": 47.6527984,
              "longitude": -122.1341556
            }
          ]
        },
        {
          "mode": "Stair",
          "lengthInMeters": 7.88608,
          "timeInSeconds": 16,
          "startLevel": 0,
          "endLevel": 1,
          "points": [
            {
              "latitude": 47.6527984,
              "longitude": -122.1341556
            },
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            }
          ]
        },
        {
          "mode": "Default",
          "lengthInMeters": 28.6289,
          "timeInSeconds": 29,
          "startLevel": 1,
          "endLevel": 1,
          "points": [
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            },
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            },
            {
              "latitude": 47.6527843,
              "longitude": -122.1341395
            },
            {
              "latitude": 47.6527846,
              "longitude": -122.1341332
            },
            {
              "latitude": 47.652789,
              "longitude": -122.1341315
            },
            {
              "latitude": 47.6527898,
              "longitude": -122.1341312
            },
            {
              "latitude": 47.6527913,
              "longitude": -122.1341306
            },
            {
              "latitude": 47.6527938,
              "longitude": -122.1341295
            },
            {
              "latitude": 47.6528309,
              "longitude": -122.1341137
            },
            {
              "latitude": 47.652856,
              "longitude": -122.1340564
            },
            {
              "latitude": 47.6528694,
              "longitude": -122.1340372
            },
            {
              "latitude": 47.652873,
              "longitude": -122.1339296
            },
            {
              "latitude": 47.6528735,
              "longitude": -122.1339124
            },
            {
              "latitude": 47.6528733,
              "longitude": -122.1339095
            },
            {
              "latitude": 47.6528732,
              "longitude": -122.1338288
            }
          ]
        }
      ]
    }
  ]
}

Tanımlar

Name Description
avoidFeatures

Sonuçta elde edilen yolda belirli bağlayıcı türlerinden kaçınmak için. Birden çok değer belirtilebilir.

ErrorAdditionalInfo

Kaynak yönetimi hatası ek bilgileri.

ErrorDetail

Hata ayrıntısı.

ErrorResponse

Hata yanıtı

Leg

Genel yolun bir bölümü.

NoResultExplanation

Hiçbir yol bulunamazsa, paths dizi boş olur. Hiçbir yol bulunamadı nedeni belirlenemezse, bu özellik nedenini bir açıklama sağlayacaktır.

Path

Kaynak ve hedef arasındaki belirli bir yol hakkındaki ayrıntılar. Bir veya daha fazla bacaklardan oluşabilir.

Point

Tesisin içinde bir nokta.

WayfindResult

Bu Wayfinding Path isteği tarafından döndürülen nesne.

avoidFeatures

Sonuçta elde edilen yolda belirli bağlayıcı türlerinden kaçınmak için. Birden çok değer belirtilebilir.

Name Tür Description
elevators

string

Asansörlerden kaçının.

stairs

string

Merdivenlerden kaçının.

ErrorAdditionalInfo

Kaynak yönetimi hatası ek bilgileri.

Name Tür Description
info

object

Ek bilgiler.

type

string

Ek bilgi türü.

ErrorDetail

Hata ayrıntısı.

Name Tür Description
additionalInfo

ErrorAdditionalInfo[]

Hata ek bilgileri.

code

string

Hata kodu.

details

ErrorDetail[]

Hata ayrıntıları.

message

string

Hata iletisi.

target

string

Hata hedefi.

ErrorResponse

Hata yanıtı

Name Tür Description
error

ErrorDetail

Hata nesnesi.

Leg

Genel yolun bir bölümü.

Name Tür Description
endLevel

integer

Bu bacağın bittiği yerde.

lengthInMeters

number

Bu bacağın metre cinsinden bacak uzunluğu.

mode

string

Bu bacak için dolaşmanın bacak modu. Seviyeler arasında dikey olarak hareket ederken varsayılan (tümü aynı düzeyde), asansörler veya merdivenler olabilir.

points

Point[]

Bacak şekli işaret etti. Dikey konumları aşağıdaki gibi belirlenir: startLevel ve endLevel aynı olduğunda tüm noktalar aynı yüksekliktedir, aksi takdirde dizi yalnızca iki nokta içerir: startLevel'deki ilk ve endLevel'deki ikinci nokta.

startLevel

integer

Bacağının başladığı yerde.

timeInSeconds

integer

Bacak, bu bacağın ilk ve son noktası arasında hareket etmek için saniyeler içinde seyahat süresi.

NoResultExplanation

Hiçbir yol bulunamazsa, paths dizi boş olur. Hiçbir yol bulunamadı nedeni belirlenemezse, bu özellik nedenini bir açıklama sağlayacaktır.

Name Tür Description
NoExplanation

string

Bir sonuç döndürülürse veya bir yolun neden bulunamadığını belirlemek mümkün olmadığında sağlanan varsayılan değer.

Path

Kaynak ve hedef arasındaki belirli bir yol hakkındaki ayrıntılar. Bir veya daha fazla bacaklardan oluşabilir.

Name Tür Description
legs

Leg[]

Bu yolun farklı seyahat bölümleri.

lengthInMeters

number

Tüm yolun metre cinsinden yol uzunluğu.

timeInSeconds

integer

Bu yolu takip ederken kaynak ile hedef arasında ilerlemek için yol toplam süresi (saniye cinsinden).

Point

Tesisin içinde bir nokta.

Name Tür Description
latitude

number

nokta enlemi

longitude

number

nokta boylamı

WayfindResult

Bu Wayfinding Path isteği tarafından döndürülen nesne.

Name Tür Description
noResultExplanation

NoResultExplanation

Hiçbir yol bulunamazsa, paths dizi boş olur. Hiçbir yol bulunamadı nedeni belirlenemezse, bu özellik nedenini bir açıklama sağlayacaktır.

paths

Path[]

Yol bulma yolu sonuçları dizisi. Sonuç bulunamazsa boş bir dizi döndürülür.