你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Spatial - Get Point In Polygon
用于确定给定的点是否位于一组多边形内。
Get Point In Polygon
API 是一个 HTTP GET
请求,它返回一个布尔值,指示一个点是否位于一组多边形内。 多边形集由 GeoJSON 文件提供,该文件使用 数据注册表 服务上传并由唯一 udid 引用。 GeoJSON 文件可能包含多边形和多多边形几何图形,如果提供,将忽略其他几何图形。 如果点位于其中一个多边形的边界内或边界上,则返回的值为 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 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
format
|
path | True |
响应的所需格式。 仅支持 |
|
geography
|
path | True |
string |
Azure Maps 帐户的位置。 有效值为 us (美国东部、美国中西部、美国西部 2) 和 eu (North Europe、West Europe) 。 在请求中提供 时 |
api-version
|
query | True |
string |
Azure Maps API 的版本号。 |
lat
|
query | True |
number |
所传递位置的纬度。 示例:48.36。 |
lon
|
query | True |
number |
所传递位置的经度。 示例:-124.63。 |
udid
|
query | True |
string |
创建 数据注册表 以上传有效的 GeoJSON FeatureCollection 对象时使用的唯一 ID。 有关详细信息,请参阅 RFC 7946 。 特征的所有属性都应包含 |
请求头
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
x-ms-client-id |
string |
指定用于与 Microsoft Entra ID 安全模型结合使用的帐户。 它表示 Azure Maps 帐户的唯一 ID,可从 Azure Maps 管理平面帐户 API 检索。 若要在 Azure Maps 中使用 Microsoft Entra ID 安全性,请参阅以下 文章 以获取指导。 |
响应
名称 | 类型 | 说明 |
---|---|---|
200 OK |
确定 |
|
Other Status Codes |
发生了意外错误。 |
安全性
AADToken
这些是 Microsoft Entra OAuth 2.0 流。 与 Azure 基于角色的访问控制 配对时,它可用于控制对 Azure Maps REST API 的访问。 Azure 基于角色的访问控制用于指定对一个或多个 Azure Maps 资源帐户或子资源的访问权限。 可以通过内置角色或由 Azure Maps REST API 的一个或多个权限组成的自定义角色授予任何用户、组或服务主体的访问权限。
若要实现方案,建议查看 身份验证概念。 总之,此安全定义提供了一种解决方案,用于通过能够对特定 API 和作用域进行访问控制的对象对应用程序 () 建模。
备注
- 此安全定义 需要使用
x-ms-client-id
标头来指示应用程序请求访问的 Azure Maps 资源。 这可以从 地图管理 API 获取。
Authorization URL
特定于 Azure 公有云实例。 主权云具有唯一的授权 URL 和Microsoft Entra ID 配置。
* Azure 基于角色的访问控制是通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 从 Azure 管理平面 配置的。
* 使用 Azure Maps Web SDK 可以针对多个用例对应用程序进行基于配置的设置。
- 有关Microsoft标识平台的详细信息,请参阅 Microsoft标识平台概述。
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
名称 | 说明 |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
这是在通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 通过 Azure 管理平面创建 Azure Maps 资源 时预配的共享密钥。
使用此密钥,任何应用程序都有权访问所有 REST API。 换而言之,这些密钥当前可被视为为其颁发帐户的主密钥。
对于公开的应用程序,我们建议使用 Azure Maps REST API 的服务器到服务器访问,以便安全地存储此密钥。
类型:
apiKey
在:
header
SAS Token
这是通过 Azure 门户、PowerShell、CLI、Azure SDK 或 REST API 通过 Azure 管理平面通过 Azure Maps 资源 上的列出 SAS 操作创建的共享访问签名令牌。
使用此令牌,任何应用程序都有权使用 Azure 基于角色的访问控制进行访问,并精细控制特定令牌的过期、速率和区域 () 。 换句话说,SAS 令牌可用于允许应用程序以比共享密钥更安全的方式控制访问。
对于公开的应用程序,我们建议在 Map 帐户资源 上配置允许的来源的特定列表,以限制呈现滥用,并定期续订 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"
]
}
}
定义
名称 | 说明 |
---|---|
Error |
资源管理错误附加信息。 |
Error |
错误详细信息。 |
Error |
错误响应 |
Json |
响应的所需格式。 仅支持 |
Lat |
使用短名称“lat”&“lon”表示为纬度和经度的位置。 |
Point |
如果点位于多边形内,则返回 true;否则返回 false |
Point |
Point In Polygon Summary 对象 |
Result |
点入多边形结果对象 |
ErrorAdditionalInfo
资源管理错误附加信息。
名称 | 类型 | 说明 |
---|---|---|
info |
object |
其他信息。 |
type |
string |
其他信息类型。 |
ErrorDetail
错误详细信息。
名称 | 类型 | 说明 |
---|---|---|
additionalInfo |
错误附加信息。 |
|
code |
string |
错误代码。 |
details |
错误详细信息。 |
|
message |
string |
错误消息。 |
target |
string |
错误目标。 |
ErrorResponse
错误响应
名称 | 类型 | 说明 |
---|---|---|
error |
错误对象。 |
JsonFormat
响应的所需格式。 仅支持 json
格式。
名称 | 类型 | 说明 |
---|---|---|
json |
string |
LatLongPairAbbreviated
使用短名称“lat”&“lon”表示为纬度和经度的位置。
名称 | 类型 | 说明 |
---|---|---|
lat |
number |
Latitude 属性 |
lon |
number |
Longitude 属性 |
PointInPolygonResult
如果点位于多边形内,则返回 true;否则返回 false
名称 | 类型 | 说明 |
---|---|---|
result |
点入多边形结果对象 |
|
summary |
Point In Polygon Summary 对象 |
PointInPolygonSummary
Point In Polygon Summary 对象
名称 | 类型 | 说明 |
---|---|---|
information |
string |
处理信息 |
sourcePoint |
使用短名称“lat”&“lon”表示为纬度和经度的位置。 |
|
udid |
string |
已上传内容的唯一数据 ID (udid) 。 Udid 不适用于 POST 空间操作, (设置为 null) |
Result
点入多边形结果对象
名称 | 类型 | 说明 |
---|---|---|
intersectingGeometries |
string[] |
Geometries 数组 |
pointInPolygons |
boolean |
Point In Polygons 属性 |