STIntersection (Jenis Data geografi)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Mengembalikan objek yang mewakili titik di mana instans geografi bersinggungan dengan instans geografi lain.

Sintaksis

  
.STIntersection ( other_geography )  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

other_geography
Adalah instans geografi lain untuk dibandingkan dengan instans tempat STIntersection() dipanggil.

Jenis Kembalian

Jenis pengembalian SQL Server: geografi

Jenis pengembalian CLR: SqlGeography

Keterangan

Persimpangan dua instans geografi dikembalikan.

STIntersection() selalu mengembalikan null jika pengidentifikasi referensi spasial (SRID) instans geografi tidak cocok.

SQL Server mendukung instans spasial yang lebih besar dari belahan bumi. SQL Server dapat menyertakan instans FullGlobe dalam kumpulan kemungkinan hasil yang dikembalikan di server.

Hasilnya mungkin berisi segmen busur melingkar hanya jika instans input berisi segmen busur melingkar.

Contoh

J. Menghitung persimpangan Poligon dan LineString

Contoh berikut menggunakan STIntersection() untuk menghitung persimpangan Polygon dan 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. Menghitung persimpangan Poligon dan CurvePolygon

Contoh berikut mengembalikan instans yang berisi segmen busur melingkar.

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. Menghitung perbedaan simetris dengan FullGlobe

Contoh berikut membandingkan perbedaan simetris dengan 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();  

Lihat Juga

Metode OGC pada Instans Geografi