Udostępnij przez


STIntersection (typ danych geograficznych)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Zwraca obiekt reprezentujący punkty, w których wystąpienie geograficzne przecina inne wystąpienie geograficzne .

Syntax

  
.STIntersection ( other_geography )  

Arguments

other_geography
Jest innym wystąpieniem geograficznym , które ma być porównywane z wystąpieniem, na którym wywoływana jest funkcja STIntersection().

Typy zwracane

Typ zwracany programu SQL Server: lokalizacja geograficzna

Typ zwracany CLR: SqlGeography

Remarks

Zwracane jest skrzyżowanie dwóch wystąpień geograficznych.

Funkcja STIntersection() zawsze zwraca wartość null, jeśli identyfikatory odwołań przestrzennych (SRID) wystąpień geografii nie są zgodne.

Program SQL Server obsługuje wystąpienia przestrzenne, które są większe niż półkula. Program SQL Server może uwzględniać wystąpienia FullGlobe w zestawie możliwych wyników zwracanych na serwerze.

Wynik może zawierać segmenty łuku cyklicznego tylko wtedy, gdy wystąpienia wejściowe zawierają segmenty łuku cyklicznego.

Examples

A. Obliczanie skrzyżowania wielokąta i linii

W poniższym przykładzie użyto STIntersection() metody do obliczenia przecięcia elementów Polygon i LineString.

DECLARE @g geography;  
DECLARE @h geography;  
SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);  
SET @h = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);  
SELECT @g.STIntersection(@h).ToString();  

B. Obliczanie skrzyżowania wielokąta i krzywejpolygonu

Poniższy przykład zwraca wystąpienie, które zawiera segment łuku cyklicznego.

DECLARE @g geography;  
DECLARE @h geography;  
SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);  
SET @h = geography::STGeomFromText('CURVEPOLYGON(CIRCULARSTRING(-122.351 47.656, -122.341 47.656, -122.341 47.661, -122.351 47.661, -122.351 47.656))', 4326);  
SELECT @g.STIntersection(@h).ToString();  

C. Obliczanie różnicy symetrycznej za pomocą funkcji FullGlobe

W poniższym przykładzie porównano symetryczną różnicę obiektu z Polygon wartością FullGlobe.

DECLARE @g geography = 'POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';  
SELECT @g.STIntersection('FULLGLOBE').ToString();  

Zobacz też

Metody OGC w wystąpieniach geograficznych