Search - Get Geocoding Batch
使用 將查詢批次傳送至單一要求中的 地理編碼 API。
Get Geocoding Batch
API 是 HTTP POST
要求,可將最多 100 個查詢的批次傳送至單一要求中的地理編碼 API。
提交同步批次要求
建議針對輕量型批次要求使用同步 API。 當服務收到要求時,它會在計算批次專案后立即回應,而且稍後將無法擷取結果。 如果要求花費超過 60 秒,同步 API 會傳回逾時錯誤 (408 回應) 。 此 API 的批次項目數目限制為 100 。
POST https://atlas.microsoft.com/geocode:batch?api-version=2023-06-01
批次要求的 POST 本文
若要傳送 地理編碼 查詢,您將使用 POST
要求本文將包含 batchItems
格式陣列 json
的要求,並將 Content-Type
標頭設定為 application/json
。 以下是包含 2 個 地理編碼 查詢的範例要求本文:
{
"batchItems": [
{
"addressLine": "One, Microsoft Way, Redmond, WA 98052",
"top": 2
},
{
"addressLine": "Pike Pl",
"adminDistrict": "WA",
"locality": "Seattle",
"top": 3
}
]
}
地理編碼 batchItem 物件可以接受任何支援的地理編碼URI 參數。
批次至少應包含 1 個查詢。
批次回應模型
批次回應包含一個 summary
元件,指出 totalRequests
屬於原始批次要求的一部分, successfulRequests
也就是已成功執行的查詢。 批次回應也包含 batchItems
數位,其中包含批次要求中每個查詢的回應。
batchItems
將會以與批次要求中傳送原始查詢完全相同的順序來包含結果。 每個專案都是下列其中一種類型:
GeocodingResponse
- 如果查詢順利完成。Error
- 如果查詢失敗。 在這裡案例中,回應會包含code
和message
。
POST https://atlas.microsoft.com/geocode:batch?api-version=2023-06-01
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
api-version
|
query | True |
string |
Azure 地圖服務 API 的版本號碼。 |
要求標頭
名稱 | 必要 | 類型 | Description |
---|---|---|---|
x-ms-client-id |
string |
指定哪個帳戶與 Azure AD 安全性模型搭配使用。 它代表 Azure 地圖服務帳戶的唯一標識碼,而且可以從 Azure 地圖服務管理平面帳戶 API 擷取。 若要在 Azure 地圖服務中使用 Azure AD 安全性,請參閱下列 文章 以取得指引。 |
|
Accept-Language |
string |
應該傳回搜尋結果的語言。 如需詳細資訊,請參閱 支援的語言 。 |
要求本文
名稱 | 類型 | Description |
---|---|---|
batchItems |
要處理的查詢清單。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
確定 |
|
Other Status Codes |
發生意外錯誤。 |
安全性
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 可針對多個使用案例,針對應用程式進行設定型設定。
- 如需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
範例
A Geocoding Batch API call containing 2 Geocoding queries
範例要求
POST https://atlas.microsoft.com/geocode:batch?api-version=2023-06-01
{
"batchItems": [
{
"addressLine": "One, Microsoft Way, Redmond, WA 98052",
"top": 2,
"optionalId": "4C3681A6C8AA4AC3441412763A2A25C81444DC8B"
},
{
"addressLine": "Pike Pl",
"adminDistrict": "WA",
"locality": "Seattle",
"top": 3
}
]
}
範例回覆
{
"summary": {
"successfulRequests": 1,
"totalRequests": 2
},
"batchItems": [
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"type": "Address",
"confidence": "High",
"matchCodes": [
"Good"
],
"address": {
"locality": "Redmond",
"adminDistricts": [
{
"shortName": "WA"
},
{
"shortName": "King"
}
],
"countryRegion": {
"ISO": "US",
"name": "United States"
},
"postalCode": "98052",
"formattedAddress": "1 Microsoft Way, Redmond, WA 98052",
"addressLine": "1 Microsoft Way"
},
"geocodePoints": [
{
"geometry": {
"type": "Point",
"coordinates": [
-122.128275,
47.639429
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Display",
"Route"
]
},
{
"geometry": {
"type": "Point",
"coordinates": [
-122.127028,
47.638545
]
},
"calculationMethod": "Rooftop",
"usageTypes": [
"Route"
]
}
]
},
"geometry": {
"type": "Point",
"coordinates": [
-122.128275,
47.639429
]
},
"bbox": [
-122.1359181505759,
47.63556628242932,
-122.1206318494241,
47.643291717570676
]
}
]
},
{
"error": {
"code": "Conflicting Parameters",
"message": "When 'query' is present, only the following parameters are valid: 'bbox, location, view, top'. 'addressLine' was passed"
}
}
]
}
定義
名稱 | Description |
---|---|
Address |
結果的位址 |
Admin |
位址之國家或地區的細分名稱。 此元素通常被視為第一個訂單系統管理細分,但在某些情況下,它也會包含國家/地區、相依性或區域中的第二、第三或第四個順序細分。 |
Calculation |
用來計算地理編碼點的方法。 |
Confidence |
地理編碼位置結果為相符的信賴等級。 將此值與比對程式代碼搭配使用,以判斷比對的更完整資訊。 地理編碼位置的信賴度是以許多因素為基礎,包括地理編碼位置的相對重要性和使用者的位置。如果指定的話。 |
Country |
|
Error |
資源管理錯誤其他資訊。 |
Error |
錯誤詳細數據。 |
Error |
錯誤回應 |
Feature |
FeatureCollection 對象的類型必須是FeatureCollection。 |
Features |
|
Feature |
功能的類型必須是Feature。 |
Geocode |
地理編碼點的集合,其計算方式與建議的使用方式不同。 |
Geocoding |
要處理的位址地理編碼查詢/要求清單。 清單最多可以包含100個查詢,而且至少必須包含1個查詢。 |
Geocoding |
Batch Query 物件 |
Geocoding |
此物件會從成功的 Geocoding Batch 服務呼叫傳回。 |
Geocoding |
|
Geo |
有效的 |
Intersection |
結果的位址。 |
Match |
一或多個比對程式代碼值,代表回應中每個位置的地理編碼層級。 例如,具有相符代碼的 同樣地,具有相符碼的 可能的值包括:
|
Properties | |
Summary |
批次要求的摘要 |
Usage |
最適合用於地理編碼點。
每個地理編碼點都會定義為 |
Address
結果的位址
名稱 | 類型 | Description |
---|---|---|
addressLine |
string |
包含街地名和號碼的 AddressLine |
adminDistricts |
位址之國家或地區的細分名稱。 此元素通常被視為第一個訂單系統管理細分,但在某些情況下,它也會包含國家/地區、相依性或區域中的第二、第三或第四個順序細分。 |
|
countryRegion | ||
formattedAddress |
string |
格式化的 Address 屬性 |
intersection |
結果的位址。 |
|
locality |
string |
locality 屬性 |
neighborhood |
string |
芳鄰屬性 |
postalCode |
string |
郵遞區號屬性 |
AdminDistricts
位址之國家或地區的細分名稱。 此元素通常被視為第一個訂單系統管理細分,但在某些情況下,它也會包含國家/地區、相依性或區域中的第二、第三或第四個順序細分。
名稱 | 類型 | Description |
---|---|---|
name |
string |
對應 adminDistrict 字段的名稱,針對 adminDistrict[0],這可能是州名的完整名稱,例如華盛頓州,若為 adminDistrict[1],這可能是縣/市的完整名稱 |
shortName |
string |
對應 adminDistrict 字段的簡短名稱,若為 adminDistrict[0],這可能是州名的簡短名稱,例如 WA、針對 adminDistrict[1],這可能是縣/市的簡短名稱 |
CalculationMethodEnum
用來計算地理編碼點的方法。
名稱 | 類型 | Description |
---|---|---|
Interpolation |
string |
地理編碼點使用插補與道路上的點比對。 |
InterpolationOffset |
string |
地理編碼點與道路上的點比對,使用插補與額外的位移,將點移至街道的側邊。 |
Parcel |
string |
地理編碼點已比對至包裹的中心。 |
Rooftop |
string |
地理編碼點與建築物的尖峰相符。 |
ConfidenceEnum
地理編碼位置結果為相符的信賴等級。 將此值與比對程式代碼搭配使用,以判斷比對的更完整資訊。
地理編碼位置的信賴度是以許多因素為基礎,包括地理編碼位置的相對重要性和使用者的位置。如果指定的話。
名稱 | 類型 | Description |
---|---|---|
High |
string |
如果信賴度設定為 如果要求包含位置或檢視,則排名可能會適當地變更。 例如,“Paris” 的位置查詢會傳回 “Paris, France” 和 “Paris, TX” 兩者皆具有 |
Low |
string |
|
Medium |
string |
在某些情況下,傳回的相符專案可能與要求中提供的資訊層級不同。 例如,要求可以指定地址資訊,而地理編碼服務可能只能比對郵遞區編碼。 在此情況下,如果地理編碼服務確信郵遞區編碼符合數據,則會將信賴度設定為 如果查詢中的位置資訊模棱兩可,而且沒有其他資訊可排名位置 (例如使用者位置或位置) 的相對重要性,則信賴度會設定為 如果查詢中的位置資訊未提供足夠的資訊來地理編碼特定位置,可能會傳回較不精確的位置值,並將信賴度設定為 |
CountryRegion
名稱 | 類型 | Description |
---|---|---|
ISO |
string |
國家/地區的 ISO |
name |
string |
國家/地區的名稱 |
ErrorAdditionalInfo
資源管理錯誤其他資訊。
名稱 | 類型 | Description |
---|---|---|
info |
object |
其他資訊。 |
type |
string |
其他信息類型。 |
ErrorDetail
錯誤詳細數據。
名稱 | 類型 | Description |
---|---|---|
additionalInfo |
錯誤其他資訊。 |
|
code |
string |
錯誤碼。 |
details |
錯誤詳細資料。 |
|
message |
string |
錯誤訊息。 |
target |
string |
錯誤目標。 |
ErrorResponse
錯誤回應
名稱 | 類型 | Description |
---|---|---|
error |
錯誤物件。 |
FeatureCollectionEnum
FeatureCollection 對象的類型必須是FeatureCollection。
名稱 | 類型 | Description |
---|---|---|
FeatureCollection |
string |
FeaturesItem
名稱 | 類型 | Description |
---|---|---|
bbox |
number[] |
周框方塊。 使用的投影 - EPSG:3857。 如需詳細資訊,請參閱 RFC 7946 。 |
geometry |
有效的 |
|
id |
string |
傳回之功能的標識碼 |
properties | ||
type |
功能的類型必須是Feature。 |
FeatureTypeEnum
功能的類型必須是Feature。
名稱 | 類型 | Description |
---|---|---|
Feature |
string |
GeocodePoints
地理編碼點的集合,其計算方式與建議的使用方式不同。
名稱 | 類型 | Description |
---|---|---|
calculationMethod |
用來計算地理編碼點的方法。 |
|
geometry |
有效的 |
|
usageTypes |
最適合用於地理編碼點。
每個地理編碼點都會定義為 |
GeocodingBatchRequestBody
要處理的位址地理編碼查詢/要求清單。 清單最多可以包含100個查詢,而且至少必須包含1個查詢。
名稱 | 類型 | Description |
---|---|---|
batchItems |
要處理的查詢清單。 |
GeocodingBatchRequestItem
Batch Query 物件
名稱 | 類型 | 預設值 | Description |
---|---|---|---|
addressLine |
string |
相對於區域之位址的官方街線,如地區或 postalCode、 屬性所指定。 此元素的一般用法是提供街地道址或任何官方位址。 如果指定查詢,則不應該使用此參數。 |
|
adminDistrict |
string |
地址的國家/地區細分部分,例如 WA。 如果指定查詢,則不應該使用此參數。 |
|
adminDistrict2 |
string |
結構化位址的郡,例如 King。 如果指定查詢,則不應該使用此參數。 |
|
adminDistrict3 |
string |
結構化位址的具名區域。 如果指定查詢,則不應該使用此參數。 |
|
bbox |
number[] |
地球上定義為周框方塊物件的矩形區域。 矩形的側邊是由經度和緯度值所定義。 如需詳細資訊,請參閱位置和區域類型。 當您指定此參數時,計算位置查詢的結果時,會考慮地理區域。 範例:[lon1, lat1, lon2, lat2] |
|
coordinates |
number[] |
指定為經度和緯度的地球點。 當您指定此參數時,會考慮使用者的位置,而且傳回的結果可能會與使用者更相關。 範例:[lon, lat] |
|
countryRegion |
string |
地理編碼結果的訊號,指向指定的 ISO 3166-1 Alpha-2 區域/國家/地區代碼 ,例如 FR./ 如果指定查詢,則不應該使用此參數。 |
|
locality |
string |
地址的區域部分,例如西雅圖。 如果指定查詢,則不應該使用此參數。 |
|
optionalId |
string |
在對應的 batchItem 中顯示的要求標識碼 |
|
postalCode |
string |
地址的郵遞區區編碼部分。 如果指定查詢,則不應該使用此參數。 |
|
query |
string |
包含位置相關信息的字串,例如位址或地標名稱。 |
|
top |
integer |
5 |
將傳回的回應數目上限。 默認值:5,最小值:1 和最大值:20。 |
view |
string |
auto |
指定 ISO 3166-1 Alpha-2 區域/國家/地區代碼的字串。 這會改變地緣政治爭議的框線和標籤,以配合指定的用戶區域。 |
GeocodingBatchResponse
此物件會從成功的 Geocoding Batch 服務呼叫傳回。
名稱 | 類型 | Description |
---|---|---|
batchItems |
包含批次結果的陣列。 |
|
nextLink |
string |
是傳回之功能下一頁的連結。 如果是最後一頁,則不會有此欄位。 |
summary |
批次要求的摘要 |
GeocodingBatchResponseItem
名稱 | 類型 | Description |
---|---|---|
error |
錯誤詳細數據。 |
|
features | ||
nextLink |
string |
是傳回之功能下一頁的連結。 如果是最後一頁,則不會有此欄位。 |
optionalId |
string |
batchItem 的標識碼,與要求中的標識符相同 |
type |
FeatureCollection 對象的類型必須是FeatureCollection。 |
GeoJsonPoint
有效的 GeoJSON Point
幾何類型。 如需詳細資訊,請參閱 RFC 7946 。
名稱 | 類型 | Description |
---|---|---|
bbox |
number[] |
周框方塊。 使用的投影 - EPSG:3857。 如需詳細資訊,請參閱 RFC 7946 。 |
coordinates |
number[] |
|
type |
string:
Point |
指定 |
Intersection
結果的位址。
名稱 | 類型 | Description |
---|---|---|
baseStreet |
string |
位置的主要街道。 |
displayName |
string |
交集的完整名稱。 |
intersectionType |
string |
交集的類型。 |
secondaryStreet1 |
string |
第一個交集街道。 |
secondaryStreet2 |
string |
如果有的話,第二個交集街道。 |
MatchCodesEnum
一或多個比對程式代碼值,代表回應中每個位置的地理編碼層級。
例如,具有相符代碼的 Good
地理編碼位置,表示 Ambiguous
找到多個地理位置資訊,而且地理編碼服務沒有搜尋上層來尋找相符專案。
同樣地,具有相符碼的 Ambiguous
地理編碼位置,表示 UpHierarchy
找不到符合所有提供的位置資訊,因此地理編碼服務必須搜尋上階層,並在該層級找到多個相符專案。 和 UpHierarchy
結果的Ambiguous
範例是當您提供完整的地址資訊,但地理編碼服務找不到街地道址的相符專案,而是傳回多個 RoadBlock 值的資訊。
可能的值包括:
Good
:位置只有一個相符專案,或所有傳回的相符專案都會被視為強式比對。 例如,紐約的查詢會傳回數個 Good 相符專案。
Ambiguous
:位置是一組可能的相符專案。 例如,當您查詢街地道址 128 主要 St.時,回應可能會傳回 128 北主要 St. 和 128 南主要 St 的兩個位置。因為沒有足夠的資訊可判斷要選擇哪一個選項。
UpHierarchy
:位置代表地理階層的上移。 當找不到位置要求的相符專案時,就會發生這種情況,因此會傳回較不精確的結果。 例如,如果找不到所要求位址的相符專案,則可能會傳回與 RoadBlock 實體類型的 相符程序代碼 UpHierarchy
。
名稱 | 類型 | Description |
---|---|---|
Ambiguous |
string |
|
Good |
string |
|
UpHierarchy |
string |
Properties
名稱 | 類型 | Description |
---|---|---|
address |
結果的位址 |
|
confidence |
地理編碼位置結果為相符的信賴等級。 將此值與比對程式代碼搭配使用,以判斷比對的更完整資訊。 地理編碼位置的信賴度是以許多因素為基礎,包括地理編碼位置的相對重要性和使用者的位置。如果指定的話。 |
|
geocodePoints |
地理編碼點的集合,其計算方式與建議的使用方式不同。 |
|
matchCodes |
一或多個比對程式代碼值,代表回應中每個位置的地理編碼層級。 例如,具有相符代碼的 同樣地,具有相符碼的 可能的值包括:
|
|
type |
string |
值為下列其中之一:
|
Summary
批次要求的摘要
名稱 | 類型 | Description |
---|---|---|
successfulRequests |
integer |
批次中成功的要求數目 |
totalRequests |
integer |
批次中的要求總數 |
UsageTypeEnum
最適合用於地理編碼點。
每個地理編碼點都會定義為 Route
點、點 Display
或兩者。
如果您要建立位置的路線,請使用 Route
點。 如果您要在地圖上顯示位置,請使用 Display
點。 例如,如果位置是一個駐留,點 Route
可能會指定您可以用汽車輸入的駐留入口,而 Display
某個點可能是指定駐留中心的點。
名稱 | 類型 | Description |
---|---|---|
Display |
string |
|
Route |
string |