Share via


STDistance (tipo de datos geography)

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 desde la que se puede medir la distancia con la instancia en la que se invoca STDistance(). Si other_geography es un conjunto vacío, STDistance() devuelve NULL.

Tipos de valores devueltos

SQL Server Tipo de valor devuelto de: float

Tipo de valor devuelto de CLR: SqlDouble

Comentarios

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 utilizada en el método. Para obtener 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);

Vea también

Otros recursos

Métodos de OGC en instancias de Geography