Condividi tramite


STIntersection (tipo di dati geography)

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL in Microsoft Fabric

Restituisce un oggetto che rappresenta i punti in cui un'istanza geography interseca un'altra istanza geography.

Sintassi

  
.STIntersection ( other_geography )  

Argomenti

other_geography
Altra istanza geography da confrontare con l'istanza sulla quale viene chiamato STIntersection().

Tipi restituiti

Tipo SQL Server restituito: geography

Tipo CLR restituito: SqlGeography

Osservazioni:

Viene restituita l'intersezione di due istanze geografiche

STIntersection() restituisce sempre Null se gli identificatori SRID delle istanze geography non corrispondono.

SQL Server supporta le istanze spaziali di dimensioni maggiori di un emisfero. SQL Server potrebbe includere le istanze FullGlobe nel set di risultati possibili restituito nel server.

Il risultato può contenere segmenti di arco circolare solo se le istanze di input contengono segmenti di arco circolare.

Esempi

R. Calcolo dell'intersezione di Polygon e LineString

Nell'esempio seguente viene utilizzato STIntersection() per calcolare l'intersezione tra Polygon e 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. Calcolo dell'intersezione di Polygon e CurvePolygon

Nell'esempio seguente viene restituita un'istanza che contiene un segmento di arco circolare.

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. Calcolo della differenza simmetrica con FullGlobe

Nell'esempio seguente viene confrontata la differenza simmetrica di Polygon a 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();  

Vedi anche

Metodi OGC sulle istanze di geografia