Sdílet prostřednictvím


STIntersection (zeměpisný datový typ)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Vrátí objekt, který představuje body, ve kterých zeměpisná instance protíná jinou geografickou instanci.

Syntax

  
.STIntersection ( other_geography )  

Arguments

other_geography
Je další geografická instance, která se má porovnat s instancí, na které se vyvolává STIntersection().

Návratové typy

Návratový typ SQL Serveru: zeměpisná oblast

Návratový typ CLR: SqlGeography

Remarks

Vrátí se průnik dvou zeměpisných instancí.

Funkce STIntersection() vždy vrátí hodnotu null, pokud identifikátory prostorového odkazu (SRID) zeměpisných instancí neodpovídají.

SQL Server podporuje prostorové instance, které jsou větší než polokoule. SQL Server může obsahovat instance FullGlobe v sadě možných výsledků vrácených na serveru.

Výsledek může obsahovat kruhové obloukové segmenty pouze v případě, že vstupní instance obsahují kruhové obloukové segmenty.

Examples

A. Výpočet průsečíku mnohoúhelníku a čáry

Následující příklad používá STIntersection() k výpočtu průsečíku a Polygon a LineString.

DECLARE @g geography;  
DECLARE @h geography;  
SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);  
SET @h = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);  
SELECT @g.STIntersection(@h).ToString();  

B. Výpočet průsečíku mnohoúhelníku a křivky

Následující příklad vrátí instanci, která obsahuje kruhový oblouk segment.

DECLARE @g geography;  
DECLARE @h geography;  
SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);  
SET @h = geography::STGeomFromText('CURVEPOLYGON(CIRCULARSTRING(-122.351 47.656, -122.341 47.656, -122.341 47.661, -122.351 47.661, -122.351 47.656))', 4326);  
SELECT @g.STIntersection(@h).ToString();  

C. Výpočet symetrického rozdílu pomocí FullGlobe

Následující příklad porovnává symetrický rozdíl s PolygonFullGlobe.

DECLARE @g geography = 'POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';  
SELECT @g.STIntersection('FULLGLOBE').ToString();  

Viz také

Metody OGC v geografických instancích