Spatial - Get Point In Polygon
使用 來判斷指定的點是否在一組多邊形內。
Get Point In Polygon
API 是一個 HTTP GET
要求,會傳回布爾值,指出某個點是否在一組多邊形內。 多邊形集是由使用 Data Registry 服務上傳的 GeoJSON 檔案所提供,並由唯一的 udid 參考。 GeoJSON 檔案可能包含 Polygon 和 MultiPolygon 幾何,如果提供其他幾何,則會忽略其他幾何。 如果點位於或位於其中一個多邊形的界限上,則傳回的值為 true。 在所有其他情況下,傳回的值為 false。 當點位於多個多邊形內時,結果會提供交集幾何區段,以顯示用戶數據中 geometryId 所參考的所有有效幾何) (。 接受以形成多邊形的頂點數目上限為 10,000。
若要測試此 API,您可以從 Post Point In Polygon API 範例上傳範例資料, (使用資料登錄服務) 要求本文,並將下列udid
範例要求的 取代{udid}
為建立數據登錄時所使用的 。 如需詳細資訊,請參閱 如何建立數據登錄。
GET https://{geography}.atlas.microsoft.com/spatial/pointInPolygon/json?api-version=2022-08-01&udid={udid}&lat={lat}&lon={lon}
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
format
|
path | True |
所需的回應格式。 僅支援 |
|
geography
|
path | True |
string |
Azure 地圖服務帳戶的位置。 有效值為 (美國東部、美國中西部、美國西部 2) 和歐盟 (北歐、西歐) 。 在要求中提供 時 |
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 。 所有特徵的屬性都應該包含 |
要求標頭
名稱 | 必要 | 類型 | Description |
---|---|---|---|
x-ms-client-id |
string |
指定哪一個帳戶用於搭配 Microsoft Entra ID 安全性模型使用。 它代表 Azure 地圖服務帳戶的唯一標識碼,而且可以從 Azure 地圖服務管理平面帳戶 API 擷取。 若要在 Azure 地圖服務中使用 Microsoft 專案標識碼安全性,請參閱下列 文章 以取得指引。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
確定 |
|
Other Status Codes |
發生意外錯誤。 |
安全性
AADToken
這些是 entra OAuth 2.0 Flow Microsoft 。 與 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 的使用方式允許針對多個使用案例設定應用程式。
- 如需Microsoft身分識別平臺的詳細資訊,請參閱 Microsoft身分識別平臺概觀。
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
名稱 | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
這是透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API 透過 Azure 管理平面建立 Azure 地圖服務資源 時所佈建的共用密鑰。
使用此金鑰時,任何應用程式都會獲得存取所有 REST API 的授權。 換句話說,這些目前可視為發行帳戶的主要密鑰。
對於公開的應用程式,我們建議使用 Azure 地圖服務 REST API 的伺服器對伺服器存取,以便安全地儲存此密鑰。
類型:
apiKey
位於:
header
SAS Token
這是透過 Azure 入口網站、PowerShell、CLI、Azure SDK 或 REST API,從 Azure 地圖服務資源 上的清單 SAS 作業建立共用存取簽章令牌。
使用此令牌時,任何應用程式都有權使用 Azure 角色型訪問控制進行存取,並精細控制到期、速率和區域 (特定令牌的使用) 。 換句話說,SAS 令牌可用來允許應用程式以比共用密鑰更安全的方式控制存取。
對於公開的應用程式,我們建議在 地圖帳戶資源 上設定允許的來源特定清單,以限制轉譯濫用,並定期更新 SAS 令牌。
類型:
apiKey
位於:
header
範例
GetPointInPolygon
範例要求
GET https://us.atlas.microsoft.com/spatial/pointInPolygon/json?api-version=2022-08-01&udid=f6495f62-94f8-0ec2-c252-45626f82fcb2&lat=47.622942&lon=-122.316456
範例回覆
{
"summary": {
"sourcePoint": {
"lat": 33.5362475,
"lon": -111.9267386
},
"udid": "f6495f62-94f8-0ec2-c252-45626f82fcb2",
"information": "4 polygons processed in user data"
},
"result": {
"pointInPolygons": true,
"intersectingGeometries": [
"1001",
"1003"
]
}
}
定義
名稱 | Description |
---|---|
Error |
資源管理錯誤其他資訊。 |
Error |
錯誤詳細數據。 |
Error |
錯誤回應 |
Json |
所需的回應格式。 僅支援 |
Lat |
以緯度和經度表示的位置,使用簡短名稱 『lat』 & 『lon』。 |
Point |
如果點位於多邊形內,則傳回 true,否則傳回 false |
Point |
Point In Polygon Summary 物件 |
Result |
Polygon 結果物件中的點 |
ErrorAdditionalInfo
資源管理錯誤其他資訊。
名稱 | 類型 | Description |
---|---|---|
info |
object |
其他資訊。 |
type |
string |
其他信息類型。 |
ErrorDetail
錯誤詳細數據。
名稱 | 類型 | Description |
---|---|---|
additionalInfo |
錯誤其他資訊。 |
|
code |
string |
錯誤碼。 |
details |
錯誤詳細資料。 |
|
message |
string |
錯誤訊息。 |
target |
string |
錯誤目標。 |
ErrorResponse
錯誤回應
名稱 | 類型 | Description |
---|---|---|
error |
error 物件。 |
JsonFormat
所需的回應格式。 僅支援 json
格式。
名稱 | 類型 | Description |
---|---|---|
json |
string |
LatLongPairAbbreviated
以緯度和經度表示的位置,使用簡短名稱 『lat』 & 『lon』。
名稱 | 類型 | Description |
---|---|---|
lat |
number |
Latitude 屬性 |
lon |
number |
經度屬性 |
PointInPolygonResult
如果點位於多邊形內,則傳回 true,否則傳回 false
名稱 | 類型 | Description |
---|---|---|
result |
Polygon 結果物件中的點 |
|
summary |
Point In Polygon Summary 物件 |
PointInPolygonSummary
Point In Polygon Summary 物件
名稱 | 類型 | Description |
---|---|---|
information |
string |
處理資訊 |
sourcePoint |
以緯度和經度表示的位置,使用簡短名稱 『lat』 & 『lon』。 |
|
udid |
string |
上傳內容的唯一數據標識碼 (udid) 。 Udid 不適用於 POST 空間作業, (設為 null) |
Result
Polygon 結果物件中的點
名稱 | 類型 | Description |
---|---|---|
intersectingGeometries |
string[] |
Geometries 陣列 |
pointInPolygons |
boolean |
Polygons 中的 Point 屬性 |