ST_DISTANCE (consulta NoSQL)
SE APLICA A: NoSQL
Devuelva la distancia entre las dos expresiones Point, Polygon, MultiPolygon o LineString de GeoJSON.
Nota
Para obtener más información, consulte Datos de ubicación geoespaciales y GeoJSON.
Sintaxis
ST_DISTANCE(<spatial_expr_1>, <spatial_expr_2>)
Argumentos
Descripción | |
---|---|
spatial_expr_1 |
Cualquier expresión GeoJSON Point, Polygon, MultiPolygon o LineString válida. |
spatial_expr_2 |
Cualquier expresión GeoJSON Point, Polygon, MultiPolygon o LineString válida. |
Tipos de valores devueltos
Devuelva una expresión numérica que enumera la distancia entre dos expresiones.
Ejemplos
En el ejemplo siguiente se supone que existe un contenedor con dos elementos.
[
{
"name": "Headquarters",
"location": {
"type": "Point",
"coordinates": [
-122.12826822304672,
47.63980239335718
]
},
"category": "business-offices"
},
{
"name": "Research and development",
"location": {
"type": "Point",
"coordinates": [
-96.84368664765994,
46.81297794314663
]
},
"category": "business-offices"
}
]
En el ejemplo se muestra cómo usar la función como filtro para devolver elementos dentro de una distancia especificada.
SELECT
o.name,
ST_DISTANCE(o.location, {
"type": "Point",
"coordinates": [-122.11758113953535, 47.66901087006131]
}) / 1000 AS distanceKilometers
FROM
offices o
WHERE
o.category = "business-offices"
[
{
"name": "Headquarters",
"distanceKilometers": 3.345269817267368
},
{
"name": "Research and development",
"distanceKilometers": 1907.438421299902
}
]
Comentarios
- El resultado se expresa en metros para el sistema de referencia predeterminado.
- Esta función del sistema se beneficiará de un índice geoespacial, excepto en las consultas con agregados.
- La especificación GeoJSON requiere que los puntos dentro de un polígono se especifiquen en sentido contrario a las agujas del reloj. Un elemento Polygon cuyos puntos se hayan especificado en el sentido de las agujas del reloj representa el inverso de la región dentro de él.
Contenido relacionado
- System functions (Funciones del sistema)
ST_INTERSECTS
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de