Wprowadzenie do geometrii typu danych
planarny dane przestrzenne typu, geometry, jest implementowana jako wspólne language runtime (CLR) typu danych w SQL Server.Ten typ reprezentuje dane w układzie współrzędnych (płaski) euklidesowa.
Rejestrowanie geometrię typu
geometry Typ jest wstępnie zdefiniowane i dostępne w każdej bazie danych.Można utworzyć tabela kolumn typu geometry i działają na geometry dane w taki sam sposób, jak można użyć innych typów CLR.
Przykłady
Następujące dwa przykłady zawierają sposobu dodawania i danych geometry kwerendy.Pierwszy przykład tworzy tabela z kolumna tożsamości i geometry kolumna GeomCol1.Trzecia kolumna renderuje geometry kolumny do reprezentacji Otwórz konsorcjum geograficzne (OGC) dobrze znanego tekstu (WKT) i zastosowań STAsText() metoda.Następnie dodaje się dwa wiersze: zawiera jeden wiersz LineString wystąpienie geometry, i jeden wiersz zawiera Polygon instancji.
IF OBJECT_ID ( 'dbo.SpatialTable', 'U' ) IS NOT NULL
DROP TABLE dbo.SpatialTable;
GO
CREATE TABLE SpatialTable
( id int IDENTITY (1,1),
GeomCol1 geometry,
GeomCol2 AS GeomCol1.STAsText() );
GO
INSERT INTO SpatialTable (GeomCol1)
VALUES (geometry::STGeomFromText('LINESTRING (100 100, 20 180, 180 180)', 0));
INSERT INTO SpatialTable (GeomCol1)
VALUES (geometry::STGeomFromText('POLYGON ((0 0, 150 0, 150 150, 0 150, 0 0))', 0));
GO
W drugim przykładzie użyto STIntersection() metoda, aby przywrócić punkty, w którym wcześniej dodaje dwa geometry wystąpień przecinają.
DECLARE @geom1 geometry;
DECLARE @geom2 geometry;
DECLARE @result geometry;
SELECT @geom1 = GeomCol1 FROM SpatialTable WHERE id = 1;
SELECT @geom2 = GeomCol1 FROM SpatialTable WHERE id = 2;
SELECT @result = @geom1.STIntersection(@geom2);
SELECT @result.STAsText();