STDistance (tipo di dati geography)
Restituisce la distanza più breve tra un punto in un'istanza geography e un punto in un'altra istanza geography.
[!NOTA]
STDistance() restituisce la LineString più breve tra due tipi di geografia. È un'approssimazione della distanza geodetica. La deviazione di STDistance() sui modelli di terra comuni dalla distanza geodetica esatta non è maggiore dello 0,25%. In tal modo si evitano confusioni sulle differenze minime tra lunghezza e distanza nei tipi geodetici.
Sintassi
.STDistance ( other_geography )
Argomenti
- other_geography
Altra istanza geography da cui misurare la distanza rispetto all'istanza sulla quale STDistance() viene richiamato. Se other_geography è un set vuoto, STDistance() restituisce Null.
Tipi restituiti
SQL Server tipo restituito: float
Tipo CLR restituito: SqlDouble
Osservazioni
STDistance() restituisce sempre Null se gli identificatori SRID delle istanze geography non corrispondono.
[!NOTA]
I metodi nel tipo di dati geography che calcolano un'area o una distanza restituiranno risultati diversi in base all'identificatore SRID dell'istanza utilizzato nel metodo. Per ulteriori informazioni sugli identificatori SRID, vedere Identificatori SRID (Spatial Reference Identifier).
Esempi
Nell'esempio seguente viene individuata la distanza tra due istanze 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);