Compartir a través de


Spatial - Post Point In Polygon

Use para determinar si un punto determinado está dentro de un conjunto de polígonos.

La Post Point In Polygon API es una solicitud HTTP POST que devuelve un valor booleano que indica si un punto está dentro de un conjunto de polígonos. Los datos de usuario pueden contener geometrías Polygon y MultiPolygon; si se proporcionan, se omitirán otras geometrías. Si el punto está dentro o en el límite de uno de estos polígonos, el valor devuelto es true. En todos los demás casos, el valor devuelto es false. Cuando el punto está dentro de varios polígonos, el resultado proporcionará una sección de geometrías intersecntes para mostrar todas las geometrías válidas (a las que hace referencia geometryId) en los datos del usuario. El número máximo de vértices aceptados para formar un polígono es de 10 000.

POST https://{geography}.atlas.microsoft.com/spatial/pointInPolygon/json?api-version=2022-08-01&lat={lat}&lon={lon}

Parámetros de identificador URI

Nombre En Requerido Tipo Description
format
path True

JsonFormat

Formato deseado de la respuesta. Solo se admite el formato json.

geography
path True

string

Ubicación de la cuenta de Azure Maps. Los valores válidos son nosotros (Este de EE. UU., Centro-oeste de EE. UU., Oeste de EE. UU. 2) y eu (Norte de Europa, Oeste de Europa). Este parámetro es necesario cuando se proporciona un udid elemento en la solicitud. Por ejemplo, si la cuenta de Azure Maps se encuentra en este de EE. UU., solo se aceptarán las solicitudes a la geografía.

api-version
query True

string

Número de versión de la API de Azure Maps.

lat
query True

number

Latitud de la ubicación que se pasa. Ejemplo: 48.36.

lon
query True

number

Longitud de la ubicación que se pasa. Ejemplo: -124.63.

Encabezado de la solicitud

Nombre Requerido Tipo Description
x-ms-client-id

string

Especifica qué cuenta está pensada para su uso junto con el modelo de seguridad de id. de Microsoft Entra. Representa un identificador único para la cuenta de Azure Maps y se puede recuperar de la API de cuenta del plano de administración de Azure Maps. Para usar la seguridad de id. de Microsoft Entra en Azure Maps, consulte los siguientes artículos para obtener instrucciones.

Cuerpo de la solicitud

Nombre Requerido Tipo Description
features True

GeoJsonFeature[]

Contiene una lista de objetos válidos GeoJSON Feature .

type True string:

FeatureCollection

Especifica el tipo GeoJSON. Debe ser uno de los nueve tipos de objetos GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

Respuestas

Nombre Tipo Description
200 OK

PointInPolygonResult

Aceptar

Other Status Codes

ErrorResponse

Se ha producido un error inesperado.

Seguridad

AADToken

Estos son los flujos de Microsoft Entra OAuth 2.0 . Cuando se empareja con el control de acceso basado en rol de Azure , se puede usar para controlar el acceso a las API REST de Azure Maps. Los controles de acceso basados en rol de Azure se usan para designar el acceso a una o varias cuentas de recursos o subrecursos de Azure Maps. Se puede conceder acceso a cualquier usuario, grupo o entidad de servicio mediante un rol integrado o un rol personalizado compuesto por uno o varios permisos para las API REST de Azure Maps.

Para implementar escenarios, se recomienda ver los conceptos de autenticación. En resumen, esta definición de seguridad proporciona una solución para el modelado de aplicaciones a través de objetos capaces de controlar el acceso en determinadas API y ámbitos.

Notas

  • Esta definición de seguridad requiere el uso del x-ms-client-id encabezado para indicar a qué recurso de Azure Maps solicita acceso la aplicación. Esto se puede adquirir desde la API de administración de Maps.

Authorization URL es específico de la instancia de nube pública de Azure. Las nubes soberanas tienen direcciones URL de autorización únicas y configuraciones de id. de Microsoft Entra. * El control de acceso basado en rol de Azure se configura desde el plano de administración de Azure mediante Azure Portal, PowerShell, la CLI, los SDK de Azure o las API REST. * El uso del SDK web de Azure Maps permite la configuración basada en la configuración de una aplicación para varios casos de uso.

Tipo: oauth2
Flujo: implicit
Dirección URL de autorización: https://login.microsoftonline.com/common/oauth2/authorize

Ámbitos

Nombre Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Se trata de una clave compartida que se aprovisiona al crear un recurso de Azure Maps a través del plano de administración de Azure mediante Azure Portal, PowerShell, la CLI, los SDK de Azure o las API REST.

Con esta clave, cualquier aplicación está autorizada para acceder a todas las API REST. En otras palabras, estos se pueden tratar actualmente como claves maestras para la cuenta para la que se emiten.

En el caso de las aplicaciones expuestas públicamente, nuestra recomendación es usar el acceso de servidor a servidor de las API REST de Azure Maps donde esta clave se puede almacenar de forma segura.

Tipo: apiKey
En: header

SAS Token

Se trata de un token de firma de acceso compartido que se crea a partir de la operación List SAS en el recurso de Azure Maps a través del plano de administración de Azure a través de Azure Portal, PowerShell, la CLI, los SDK de Azure o las API REST.

Con este token, cualquier aplicación está autorizada para acceder a los controles de acceso basado en roles de Azure y al control específico de la expiración, la tasa y las regiones de uso para el token determinado. Es decir, el token de SAS se puede usar para permitir que las aplicaciones controlen el acceso de forma más segura que la clave compartida.

En el caso de las aplicaciones expuestas públicamente, nuestra recomendación es configurar una lista específica de orígenes permitidos en el recurso de la cuenta de mapa para limitar la representación de abusos y renovar periódicamente el token de SAS.

Tipo: apiKey
En: header

Ejemplos

PostPointInPolygon

Solicitud de ejemplo

POST https://us.atlas.microsoft.com/spatial/pointInPolygon/json?api-version=2022-08-01&lat=33.5362475&lon=-111.9267386

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "geometryId": 1001
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              -111.9267386,
              33.5362475
            ],
            [
              -111.9627875,
              33.5104882
            ],
            [
              -111.9027061,
              33.5004686
            ],
            [
              -111.9267386,
              33.5362475
            ]
          ]
        ]
      }
    }
  ]
}

Respuesta de muestra

{
  "summary": {
    "sourcePoint": {
      "lat": 33.5362475,
      "lon": -111.9267386
    },
    "udid": null,
    "information": "1 polygons processed in user data"
  },
  "result": {
    "pointInPolygons": true,
    "intersectingGeometries": [
      "1001"
    ]
  }
}

Definiciones

Nombre Description
ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

ErrorDetail

Detalle del error.

ErrorResponse

Respuesta de error

GeoJsonFeature

Tipo de objeto válido GeoJSON Feature . Consulte RFC 7946 para obtener más información.

GeoJsonFeatureCollection

Tipo de objeto válido GeoJSON FeatureCollection . Consulte RFC 7946 para obtener más información.

GeoJsonGeometry

Objeto geometry válido GeoJSON . El tipo debe ser uno de los siete tipos de geometría GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon y GeometryCollection. Consulte RFC 7946 para obtener más información.

GeoJsonGeometryCollection

Tipo de objeto válido GeoJSON GeometryCollection . Consulte RFC 7946 para obtener más información.

GeoJsonLineString

Un tipo de geometría válido GeoJSON LineString . Consulte RFC 7946 para obtener más información.

GeoJsonMultiLineString

Un tipo de geometría válido GeoJSON MultiLineString . Consulte RFC 7946 para obtener más información.

GeoJsonMultiPoint

Un tipo de geometría válido GeoJSON MultiPoint . Consulte RFC 7946 para obtener más información.

GeoJsonMultiPolygon

Tipo de objeto válido GeoJSON MultiPolygon . Consulte RFC 7946 para obtener más información.

GeoJsonPoint

Un tipo de geometría válido GeoJSON Point . Consulte RFC 7946 para obtener más información.

GeoJsonPolygon

Un tipo de geometría válido GeoJSON Polygon . Consulte RFC 7946 para obtener más información.

JsonFormat

Formato deseado de la respuesta. Solo se admite el formato json.

LatLongPairAbbreviated

Una ubicación representada como latitud y longitud con nombres cortos "lat" & "lon".

PointInPolygonResult

Devuelve true si point está dentro del polígono; de lo contrario, false.

PointInPolygonSummary

Point In Polygon Summary (objeto)

Result

Point in Polygon Result (objeto)

ErrorAdditionalInfo

Información adicional sobre el error de administración de recursos.

Nombre Tipo Description
info

object

Información adicional.

type

string

Tipo de información adicional.

ErrorDetail

Detalle del error.

Nombre Tipo Description
additionalInfo

ErrorAdditionalInfo[]

Información adicional del error.

code

string

Código de error.

details

ErrorDetail[]

Los detalles del error.

message

string

El mensaje de error.

target

string

Destino del error.

ErrorResponse

Respuesta de error

Nombre Tipo Description
error

ErrorDetail

Objeto de error.

GeoJsonFeature

Tipo de objeto válido GeoJSON Feature . Consulte RFC 7946 para obtener más información.

Nombre Tipo Description
featureType

string

Tipo de la característica. El valor depende del modelo de datos del que forma parte la característica actual. Algunos modelos de datos pueden tener un valor vacío.

geometry GeoJsonGeometry:

Objeto geometry válido GeoJSON . El tipo debe ser uno de los siete tipos de geometría GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon y GeometryCollection. Consulte RFC 7946 para obtener más información.

id

string

Identificador de la característica.

type string:

Feature

Especifica el tipo GeoJSON. Debe ser uno de los nueve tipos de objetos GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

GeoJsonFeatureCollection

Tipo de objeto válido GeoJSON FeatureCollection . Consulte RFC 7946 para obtener más información.

Nombre Tipo Description
features

GeoJsonFeature[]

Contiene una lista de objetos válidos GeoJSON Feature .

type string:

FeatureCollection

Especifica el tipo GeoJSON. Debe ser uno de los nueve tipos de objetos GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

GeoJsonGeometry

Objeto geometry válido GeoJSON . El tipo debe ser uno de los siete tipos de geometría GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon y GeometryCollection. Consulte RFC 7946 para obtener más información.

Nombre Tipo Description
type

GeoJsonObjectType

Especifica el tipo GeoJSON. Debe ser uno de los nueve tipos de objetos GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

GeoJsonGeometryCollection

Tipo de objeto válido GeoJSON GeometryCollection . Consulte RFC 7946 para obtener más información.

Nombre Tipo Description
geometries GeoJsonGeometry[]:

Contiene una lista de objetos geometry válidos GeoJSON . Tenga en cuenta que las coordenadas de GeoJSON están en orden x, y (longitud, latitud).

type string:

GeometryCollection

Especifica el tipo GeoJSON. Debe ser uno de los nueve tipos de objetos GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

GeoJsonLineString

Un tipo de geometría válido GeoJSON LineString . Consulte RFC 7946 para obtener más información.

Nombre Tipo Description
coordinates

number[]

Coordenadas de la GeoJson LineString geometría.

type string:

LineString

Especifica el tipo GeoJSON. Debe ser uno de los nueve tipos de objetos GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

GeoJsonMultiLineString

Un tipo de geometría válido GeoJSON MultiLineString . Consulte RFC 7946 para obtener más información.

Nombre Tipo Description
coordinates

number[]

Coordenadas de la GeoJson MultiLineString geometría.

type string:

MultiLineString

Especifica el tipo GeoJSON. Debe ser uno de los nueve tipos de objetos GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

GeoJsonMultiPoint

Un tipo de geometría válido GeoJSON MultiPoint . Consulte RFC 7946 para obtener más información.

Nombre Tipo Description
coordinates

number[]

Coordenadas de la GeoJson MultiPoint geometría.

type string:

MultiPoint

Especifica el tipo GeoJSON. Debe ser uno de los nueve tipos de objetos GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

GeoJsonMultiPolygon

Tipo de objeto válido GeoJSON MultiPolygon . Consulte RFC 7946 para obtener más información.

Nombre Tipo Description
coordinates

number[]

Contiene una lista de objetos válidos GeoJSON Polygon . Tenga en cuenta que las coordenadas de GeoJSON están en orden x, y (longitud, latitud).

type string:

MultiPolygon

Especifica el tipo GeoJSON. Debe ser uno de los nueve tipos de objetos GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

GeoJsonPoint

Un tipo de geometría válido GeoJSON Point . Consulte RFC 7946 para obtener más información.

Nombre Tipo Description
coordinates

number[]

A Position es una matriz de números con dos o más elementos. Los dos primeros elementos son longitud y latitud, precisamente en ese orden. Altitud/Elevación es un tercer elemento opcional. Consulte RFC 7946 para obtener más información.

type string:

Point

Especifica el tipo GeoJSON. Debe ser uno de los nueve tipos de objetos GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

GeoJsonPolygon

Un tipo de geometría válido GeoJSON Polygon . Consulte RFC 7946 para obtener más información.

Nombre Tipo Description
coordinates

number[]

Coordenadas para el GeoJson Polygon tipo de geometría.

type string:

Polygon

Especifica el tipo GeoJSON. Debe ser uno de los nueve tipos de objetos GeoJSON válidos: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature y FeatureCollection.

JsonFormat

Formato deseado de la respuesta. Solo se admite el formato json.

Nombre Tipo Description
json

string

Formato de intercambio de datos de notación de objetos JavaScript

LatLongPairAbbreviated

Una ubicación representada como latitud y longitud con nombres cortos "lat" & "lon".

Nombre Tipo Description
lat

number

Propiedad Latitude

lon

number

Longitud (propiedad)

PointInPolygonResult

Devuelve true si point está dentro del polígono; de lo contrario, false.

Nombre Tipo Description
result

Result

Point in Polygon Result (objeto)

summary

PointInPolygonSummary

Point In Polygon Summary (objeto)

PointInPolygonSummary

Point In Polygon Summary (objeto)

Nombre Tipo Description
information

string

Procesamiento de información

sourcePoint

LatLongPairAbbreviated

Una ubicación representada como latitud y longitud con nombres cortos "lat" & "lon".

udid

string

Identificador de datos único (udid) para el contenido cargado. Udid no es aplicable a las operaciones espaciales POST (establecida en null)

Result

Point in Polygon Result (objeto)

Nombre Tipo Description
intersectingGeometries

string[]

Matriz geometries

pointInPolygons

boolean

Point In Polygons (propiedad)