Przestrzenne typy danych w SQL Server 2008, cz. 3/4 Udostępnij na: Facebook

Opublikowano: 2010-10-22

STEndPoint – zwraca punkt końcowy podanej figury.

Przykład 21. STEndPiont

DECLARE @c GEOMETRY =' LINESTRING (80 100, 40 100, 40 50, 100 50, 100 80)'

SELECT @c.STEndPoint().ToString() AS STEndPoint

STEnvelope – zwraca prostokąt, którego bokami są linie przecinające punkty minimalne i maksymalne figury względem osi X i Y. Linie te są prostopadłe do obu osi.

Przykład 22. STEnvelope

DECLARE @c GEOMETRY =' LINESTRING (80 100, 40 100, 40 50, 100 50, 100 80)'

SELECT @c.STEnvelope().ToString() AS STEnvelope


STEquals – zwraca 1, jeśli podane figury są identyczne. W przeciwnym wypadku zwracana jest wartość 0.

Przykład 23. STEquals

DECLARE @point geometry = 'POINT(3 2)'

DECLARE @point2 geometry = 'POINT(3 2)'

SELECT @point.STEquals(@point2) AS STEquals

STExteriorRing – zwraca zewnętrzny pierścień figury.

Przykład 24. STExteriorRing

Wróćmy na moment do funkcji STBuffer. Jeżeli zwiększylibyśmy odległość do 20, otrzymalibyśmy figurę składającą się w dwóch pierścieni – zewnętrznego i mniejszego, znajdującego się wewnątrz tego pierwszego. Funkcja STExteriorRing zwróci nam zewnętrzny pierścień.

DECLARE @c GEOMETRY =' LINESTRING (80 100, 40 100, 40 50, 100 50, 100 80)'

SELECT @c.STBuffer(20).ToString() AS STBuffer

SELECT @c.STBuffer(20).STExteriorRing().ToString() AS STExteriorRing

STGeometryN – zwraca wybraną figurę z kolekcji figur geometrycznych.

Przykład 25. STGeometryN

DECLARE @multi GEOMETRY

SET @multi ='MULTIPOLYGON (((40 80, 40 40, 90 40,90 80, 40 80)),((10 10, 20 10, 20 50, 10 10)))'

SELECT @multi.STGeometryN(2).ToString() AS STGeometryN

STGeometryType – zwraca rodzaj podanej figury.

Przykład 26. STGeometryType

DECLARE @multi GEOMETRY

SET @multi ='MULTIPOLYGON (((40 80, 40 40, 90 40,90 80, 40 80)),((10 10, 20 10, 20 50, 10 10)))'

SELECT @multi.STGeometryType() AS STGeometryType

InstanceOf – sprawdza, czy figura jest określonego przez użytkownika rodzaju. Jeśli jest zgodność, zwraca 1, w przeciwnym przypadku 0.

Przykład 27. InstanceOf

DECLARE @c GEOMETRY =' LINESTRING (80 100, 40 100, 40 50, 100 50, 100 80)'

SELECT @c.InstanceOf('LINESTRING') AS InstanceOf