SQL 2008 Spatial Data Type Geometry

Hallo zusammen,

Mit SQL Server 2008 wurde ein neuer Datentyp eingeführt um flache geometrische Formen zu beschreiben.

/*Point*/
DECLARE @g Geometry
SET @g = Geometry::STGeomFromText('Point(5 5 )',0)
SELECT @g
SELECT @g.ToString()

Im SQL Server Management Sudio erscheint ein "Spacial Result" tab.

Und so sieht dann das Resultat aus. 

/*Line*/
DECLARE @g Geometry
SET @g = Geometry::STGeomFromText('LINESTRING(0 0, 5 0, 10 10)',0)
SELECT @g

/*Polygon*/
DECLARE @g geometry
SET @g = geometry::STGeomFromText('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))', 0);
SELECT @g
SELECT @g.STCentroid().ToString()

/*Multiple Polygons*/
DECLARE @g geometry
SET @g = geometry::STGeomFromText('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0), (1 1, 4 5, 4 1, 1 1))', 0);
SELECT @g

/*Interacting & Polygon Math*/
DECLARE @g geometry
DECLARE @h geometry
SET @g = geometry::STGeomFromText('POLYGON((10 10, 40 10, 40 40, 10 40, 10 10))',0)
SET @h = geometry::STGeomFromText('POLYGON((30 30, 50 30, 50 50, 30 50, 30 30))',0)
SELECT @g.STDifference(@h)
SELECT @g.STIntersection(@h)
SELECT @g.STSymDifference(@h)
SELECT @g.STUnion(@h)

STDifference

STIntersection

STSymDifference

STUnion

So, das waren erst mal ein paar Grundlagen zum SQLGeometry Datentyp.

Grüsse
Andres Bohren