Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL 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();