STDistance (tipo de datos geography)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Base de datos de Azure SQL de Microsoft Fabric
Devuelve la distancia más corta entre un punto de una instancia de geography y un punto de otra instancia de geography.
Nota
STDistance()
devuelve la LineString más corta entre dos tipos de geografía. Se aproxima mucho a la distancia geodésica. La desviación de STDistance()
de la distancia geodésica exacta en modelos habituales de la tierra no es de más de 0,25%. Así se evita la confusión sobre las sutiles diferencias entre longitud y distancia en tipos geodésicos.
Sintaxis
.STDistance ( other_geography )
Argumentos
other_geography
Es otra instancia de geography a partir de la que medir la distancia entre la instancia en la que se invoca a STDistance(). Si other_geography está vacío, STDistance() devuelve null.
Tipos de valor devuelto
Tipo de valor devuelto de SQL Server: float
Tipo de valor devuelto de CLR: SqlDouble
Comentarios
El resultado se expresa en la unidad de medida definida por el identificador de referencia espacial (SRID) de datos espaciales. STDistance() siempre devuelve null si no coinciden los identificadores de referencia espacial (SRID) de las instancias de geography.
Nota
Los métodos del tipo de datos geography que calculan un área o distancia tendrán resultados diferentes en función del SRID de la instancia usada en el método. Para más información sobre los SRID, vea Identificadores de referencia espacial (SRID).
Ejemplos
En el siguiente ejemplo se busca la distancia entre dos instancias de geography.
DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SET @h = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.STDistance(@h);