Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza danych SQL w usłudze Microsoft Fabric
Zwraca najkrótszą odległość między punktem w wystąpieniu geograficznym a punktem w innym wystąpieniu geograficznym .
Note
STDistance() Zwraca najkrótszy ciąg LineString między dwoma typami geograficznymi. Jest to zbliżona do odległości geodesowej. Odchylenie STDistance() od typowych modeli ziemi z dokładnej odległości geodesowej wynosi nie więcej niż 25%. Pozwala to uniknąć nieporozumień w przypadku subtelnych różnic między długością a odległością w typach geodesowych.
Syntax
.STDistance ( other_geography )
Arguments
other_geography
Jest innym wystąpieniem geograficznym , z którego można zmierzyć odległość między wystąpieniem, na którym jest wywoływana funkcja STDistance(). Jeśli other_geography jest pustym zestawem, funkcja STDistance() zwraca wartość null.
Typy zwracane
Typ zwracany programu SQL Server: zmiennoprzecinkowe
Typ zwracany clR: SqlDouble
Remarks
Wynik jest wyrażony w jednostce miary zdefiniowanej przez identyfikator referencyjny przestrzenny (SRID) danych przestrzennych. Funkcja STDistance() zawsze zwraca wartość null , jeśli identyfikatory odwołań przestrzennych (SRID) wystąpień geograficznych nie są zgodne.
Note
Metody na typie danych geograficznych , które obliczają obszar lub odległość, będą zwracać różne wyniki na podstawie identyfikatora SRID wystąpienia użytego w metodzie . Aby uzyskać więcej informacji na temat identyfikatorów SRID, zobacz Identyfikatory odwołań przestrzennych (SRID).
Examples
W poniższym przykładzie znajduje się odległość między dwoma wystąpieniami geograficznymi .
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);