-- Name: SQL Server STIntersection Example | |
-- Author: Bryan McIntosh | |
/****** Part 1: Intersect Point and Polygon ******/ | |
DECLARE @thePolygon GEOGRAPHY, @pointIN GEOGRAPHY, @pointOUT GEOGRAPHY; | |
SET @thePolygon = GEOGRAPHY::STGeomFromText('POLYGON((-78.50932668617881 45.024933647425115, -78.53403351361905 44.9898648154388, -78.48446979547693 44.97239241709962, -78.45973073293072 45.007441690111115, -78.50932668617881 45.024933647425115))', 4269); | |
SET @pointIN = GEOGRAPHY::STGeomFromText('POINT(-78.51 45.00)', 4269); | |
SET @pointOUT = GEOGRAPHY::STGeomFromText('POINT(-65.00 35.00)', 4269); | |
SELECT @pointIN.STIntersection(@thePolygon).ToString(); | |
SELECT @pointOUT.STIntersection(@thePolygon).ToString(); | |
SELECT @thePolygon.STIntersection(@pointIN).ToString(); | |
/****** Part 2: Polygon/Polygon partial overlap ******/ | |
DECLARE @g geography; | |
DECLARE @h geography; | |
SET @g = geography::STGeomFromText('POLYGON((1 1, 4 1, 4 4, 1 4, 1 1))', 4269); | |
SET @h = geography::STGeomFromText('POLYGON((3 3, 5 3, 5 5, 3 5, 3 3))', 4269); | |
SELECT @h.STIntersection(@g).ToString(); |