Spatial - Get Closest Point

使用 取得基底點與一組指定目標點之間的最接近點。

Get Closest Point API 是 HTTP GET 要求,在用戶上傳的數據集中,基點與所識別udid的指定點集合之間最接近的點。 目標點集是由 GeoJSON 檔案提供,該檔案會使用 數據登錄 服務上傳,並由唯一 udid 參考。 GeoJSON 檔案只能包含 Point 幾何的集合。 如果提供,則會忽略 MultiPoint 或其他幾何。 接受的點數上限為 100,000。 演算法不會考慮路由或流量。 傳回的資訊包括最接近的點緯度、經度和距離,以公尺為單位從最接近的點。

若要測試此 API,您可以從「最接近點 API」範例上傳範例, (要求本文) 使用資料登錄服務,並將下列udid範例要求的 取代{udid}為建立數據登錄時所使用的 。 如需詳細資訊,請參閱 如何建立數據登錄

GET https://{geography}.atlas.microsoft.com/spatial/closestPoint/json?api-version=2022-08-01&udid={udid}&lat={lat}&lon={lon}
GET https://{geography}.atlas.microsoft.com/spatial/closestPoint/json?api-version=2022-08-01&udid={udid}&lat={lat}&lon={lon}&numberOfClosestPoints={numberOfClosestPoints}

URI 參數

名稱 位於 必要 類型 Description
format
path True

JsonFormat

所需的回應格式。 僅支援 json 格式。

geography
path True

string

Azure 地圖服務 帳戶的位置。 有效值為 (美國東部、美國中西部、美國西部 2) 和歐盟 (北歐、西歐) 。 要求中提供 時 udid ,需要此參數。 例如,如果 Azure 地圖服務 帳戶位於美國東部,則只會接受我們地理位置的要求。

api-version
query True

string

Azure 地圖服務 API 的版本號碼。

lat
query True

number

所傳遞位置的緯度。 範例:48.36。

lon
query True

number

所傳遞位置的經度。 範例:-124.63。

udid
query True

string

建立 數據登錄 以上傳有效 GeoJSON FeatureCollection 物件時所使用的唯一標識符。 如需詳細資訊,請參閱 RFC 7946 。 所有特徵的屬性都應該包含 geometryId,用於識別幾何且區分大小寫。 如需數據登錄服務的詳細資訊,請參閱 如何建立數據登錄

numberOfClosestPoints
query

integer

回應預期最接近的點數。 默認值:1,最小值:1 和最大值:50

要求標頭

名稱 必要 類型 Description
x-ms-client-id

string

指定哪個帳戶與 Microsoft Entra ID 安全性模型搭配使用。 它代表 Azure 地圖服務 帳戶的唯一標識符,而且可以從 Azure 地圖服務 管理平面帳戶 API 擷取。 若要在 Azure 地圖服務 中使用 Microsoft Entra ID 安全性,請參閱下列文章以取得指引。

回應

名稱 類型 Description
200 OK

ClosestPointResponse

確定

Other Status Codes

ErrorResponse

發生意外錯誤。

安全性

AADToken

這些是 Microsoft Entra OAuth 2.0 流程。 與 Azure 角色型存取控制配對時,可用來控制對 Azure 地圖服務 REST API 的存取。 Azure 角色型訪問控制可用來指定一或多個 Azure 地圖服務 資源帳戶或子資源的存取權。 任何使用者、群組或服務主體都可以透過內建角色或由一或多個許可權組成的自定義角色來授與存取權,以 Azure 地圖服務 REST API。

若要實作案例,建議您檢視 驗證概念。 總而言之,此安全性定義會透過能夠針對特定 API 和範圍進行訪問控制的物件,提供將應用程式模型化 () 的解決方案。

備註

  • 此安全性定義需要使用x-ms-client-id 標頭來指出應用程式要求存取權 Azure 地圖服務 資源。 這可以從 地圖管理 API 取得。

Authorization URL專屬於 Azure 公用雲端實例。 主權雲端具有唯一的授權 URL 和 Microsoft Entra ID 設定。 * 透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API,從 Azure 管理平面設定 Azure 角色型存取控制。 * Azure 地圖服務 Web SDK 的使用方式允許針對多個使用案例設定應用程式設定。

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

Scopes

名稱 Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

這是透過 Azure 管理平面透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API 建立 Azure 地圖服務 資源時所佈建的共用密鑰。

使用此金鑰時,任何應用程式都會獲得存取所有 REST API 的授權。 換句話說,這些目前可視為發行帳戶的主要密鑰。

對於公開的應用程式,我們建議使用可安全地儲存此密鑰的 Azure 地圖服務 REST API 的伺服器對伺服器存取。

Type: apiKey
In: header

SAS Token

這是透過 azure 管理平面透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API,從 Azure 地圖服務 資源上的列出 SAS 作業建立的共用存取簽章令牌。

使用此令牌時,任何應用程式都有權使用 Azure 角色型訪問控制進行存取,並更精細地控制到期、速率和區域 (特定令牌的使用) 。 換句話說,SAS 令牌可用來允許應用程式以比共用密鑰更安全的方式來控制存取。

對於公開的應用程式,我們建議在 地圖帳戶資源 上設定允許的來源特定清單,以限制轉譯濫用,並定期更新 SAS 令牌。

Type: apiKey
In: header

範例

GetClosestPoint

Sample Request

GET https://us.atlas.microsoft.com/spatial/closestPoint/json?api-version=2022-08-01&udid=f6495f62-94f8-0ec2-c252-45626f82fcb2&lat=47.622942&lon=-122.316456

Sample Response

{
  "summary": {
    "sourcePoint": {
      "lat": 47.622942,
      "lon": -122.316456
    },
    "udid": "f6495f62-94f8-0ec2-c252-45626f82fcb2",
    "information": "10 points processed in user data"
  },
  "result": [
    {
      "distanceInMeters": 1587492.66,
      "position": {
        "lat": 40.51615340677395,
        "lon": -105.02860293715861
      },
      "geometryId": "1001"
    }
  ]
}

定義

名稱 Description
ClosestPoint

最接近的點結果進入物件

ClosestPointResponse

此物件會從成功的 Spatial Closest Point 呼叫傳回

ClosestPointSummary

最接近的 Point Summary 物件

ErrorAdditionalInfo

資源管理錯誤其他資訊。

ErrorDetail

錯誤詳細數據。

ErrorResponse

錯誤回應

JsonFormat

所需的回應格式。 僅支援 json 格式。

LatLongPairAbbreviated

以緯度和經度表示的位置,使用簡短名稱 『lat』 & 『lon』。

ClosestPoint

最接近的點結果進入物件

名稱 類型 Description
distanceInMeters

number

從來源點到最接近點的公尺距離

geometryId

string

唯一標識碼會識別幾何

position

LatLongPairAbbreviated

以緯度和經度表示的位置,使用簡短名稱 『lat』 & 『lon』。

ClosestPointResponse

此物件會從成功的 Spatial Closest Point 呼叫傳回

名稱 類型 Description
result

ClosestPoint[]

最接近的點結果陣列

summary

ClosestPointSummary

最接近的 Point Summary 物件

ClosestPointSummary

最接近的 Point Summary 物件

名稱 類型 Description
information

string

處理資訊

sourcePoint

LatLongPairAbbreviated

以緯度和經度表示的位置,使用簡短名稱 『lat』 & 『lon』。

udid

string

上傳內容的唯一數據標識碼 (udid)

ErrorAdditionalInfo

資源管理錯誤其他資訊。

名稱 類型 Description
info

object

其他資訊。

type

string

其他信息類型。

ErrorDetail

錯誤詳細數據。

名稱 類型 Description
additionalInfo

ErrorAdditionalInfo[]

錯誤其他資訊。

code

string

錯誤碼。

details

ErrorDetail[]

錯誤詳細資料。

message

string

錯誤訊息。

target

string

錯誤目標。

ErrorResponse

錯誤回應

名稱 類型 Description
error

ErrorDetail

錯誤物件。

JsonFormat

所需的回應格式。 僅支援 json 格式。

名稱 類型 Description
json

string

JavaScript 物件表示法數據交換格式

LatLongPairAbbreviated

以緯度和經度表示的位置,使用簡短名稱 『lat』 & 『lon』。

名稱 類型 Description
lat

number

Latitude 屬性

lon

number

經度屬性