Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Returnerar ett objekt som representerar de punkter där en geografiinstans korsar en annan geografiinstans .
Syntax
.STIntersection ( other_geography )
Arguments
other_geography
Är en annan geografiinstans att jämföra med den instans där STIntersection() anropas.
Returtyper
SQL Server-returtyp: geografi
CLR-returtyp: SqlGeography
Remarks
Skärningspunkten mellan två geografiska instanser returneras.
STIntersection() returnerar alltid null om de rumsliga referensidentifierarna (SRID) för geografiinstanserna inte matchar.
SQL Server stöder rumsliga instanser som är större än en halvklot. SQL Server kan innehålla FullGlobe-instanser i uppsättningen möjliga resultat som returneras på servern.
Resultatet kan endast innehålla cirkulära bågsegment om indatainstanserna innehåller cirkulära bågsegment.
Examples
A. Beräkna skärningspunkten mellan en Polygon och en LineString
I följande exempel används STIntersection() för att beräkna skärningspunkten för en Polygon och en 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. Beräkna skärningspunkten mellan en Polygon och en CurvePolygon
I följande exempel returneras en instans som innehåller ett cirkulärt bågsegment.
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. Beräkna den symmetriska skillnaden med FullGlobe
I följande exempel jämförs den symmetriska skillnaden för en Polygon med FullGlobe.
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();