你当前正在访问 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

JsonFormat

响应的所需格式。 仅支持 json 格式。

geography
path True

string

Azure Maps 帐户的位置。 有效值为 us (美国东部、美国中西部、美国西部 2) 和 eu (North Europe、West Europe) 。 在请求中提供 时 udid ,此参数是必需的。 例如,如果 Azure Maps 帐户位于美国东部,则只会接受向我们发出的 geography 请求。

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 。 特征的所有属性都应包含 geometryId,该属性用于标识几何图形,并且区分大小写。 有关数据注册表服务的详细信息,请参阅 如何创建数据注册表

请求头

名称 必需 类型 说明
x-ms-client-id

string

指定用于与 Microsoft Entra ID 安全模型结合使用的帐户。 它表示 Azure Maps 帐户的唯一 ID,可从 Azure Maps 管理平面帐户 API 检索。 若要在 Azure Maps 中使用 Microsoft Entra ID 安全性,请参阅以下 文章 以获取指导。

响应

名称 类型 说明
200 OK

PointInPolygonResult

确定

Other Status Codes

ErrorResponse

发生了意外错误。

安全性

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 可以针对多个用例对应用程序进行基于配置的设置。

类型: 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"
    ]
  }
}

定义

名称 说明
ErrorAdditionalInfo

资源管理错误附加信息。

ErrorDetail

错误详细信息。

ErrorResponse

错误响应

JsonFormat

响应的所需格式。 仅支持 json 格式。

LatLongPairAbbreviated

使用短名称“lat”&“lon”表示为纬度和经度的位置。

PointInPolygonResult

如果点位于多边形内,则返回 true;否则返回 false

PointInPolygonSummary

Point In Polygon Summary 对象

Result

点入多边形结果对象

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

其他信息。

type

string

其他信息类型。

ErrorDetail

错误详细信息。

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorDetail[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ErrorResponse

错误响应

名称 类型 说明
error

ErrorDetail

错误对象。

JsonFormat

响应的所需格式。 仅支持 json 格式。

名称 类型 说明
json

string

JavaScript 对象表示法数据交换格式

LatLongPairAbbreviated

使用短名称“lat”&“lon”表示为纬度和经度的位置。

名称 类型 说明
lat

number

Latitude 属性

lon

number

Longitude 属性

PointInPolygonResult

如果点位于多边形内,则返回 true;否则返回 false

名称 类型 说明
result

Result

点入多边形结果对象

summary

PointInPolygonSummary

Point In Polygon Summary 对象

PointInPolygonSummary

Point In Polygon Summary 对象

名称 类型 说明
information

string

处理信息

sourcePoint

LatLongPairAbbreviated

使用短名称“lat”&“lon”表示为纬度和经度的位置。

udid

string

已上传内容的唯一数据 ID (udid) 。 Udid 不适用于 POST 空间操作, (设置为 null)

Result

点入多边形结果对象

名称 类型 说明
intersectingGeometries

string[]

Geometries 数组

pointInPolygons

boolean

Point In Polygons 属性