Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
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 obiekt reprezentujący punkty, w których wystąpienie geometrii przecina inne wystąpienie geometrii .
Syntax
.STIntersection ( other_geometry )
Arguments
other_geometry
Jest innym wystąpieniem geometrii do porównania z wystąpieniem, na którym STIntersection() jest wywoływany, w celu określenia, gdzie się przecinają.
Typy zwracane
Zwracany typ programu SQL Server: geometria
Typ zwracania CLR: SqlGeometry
Remarks
STIntersection() zawsze zwraca wartość null, jeśli identyfikatory odwołań przestrzennych (SRID) wystąpień geometrii nie są zgodne. Wynik może zawierać segmenty łuku cyklicznego tylko wtedy, gdy wystąpienia wejściowe je zawierają.
Examples
A. Używanie metody STIntersection() w wystąpieniach wielokąta
W poniższym przykładzie użyto STIntersection() metody do obliczenia przecięcia dwóch wielokątów.
DECLARE @g geometry;
DECLARE @h geometry;
SET @g = geometry::STGeomFromText('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))', 0);
SET @h = geometry::STGeomFromText('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))', 0);
SELECT @g.STIntersection(@h).ToString();
B. Używanie klasy STIntersection() z wystąpieniem CurvePolygon
Poniższy przykład zwraca wystąpienie, które zawiera segment łuku cyklicznego.
DECLARE @g geometry = 'CURVEPOLYGON (CIRCULARSTRING (0 -4, 4 0, 0 4, -4 0, 0 -4))';
DECLARE @h geometry = 'POLYGON ((1 -1, 5 -1, 5 3, 1 3, 1 -1))';
SELECT @h.STIntersection(@g).ToString();