STDifference (Jenis Data geografi)
Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
Mengembalikan objek yang mewakili kumpulan titik dari satu instans geografi yang berada di luar instans geografi lain.
Sintaksis
.STDifference ( 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 yang menunjukkan titik mana yang akan dihapus dari instans tempat STDifference() dipanggil.
Jenis Kembalian
Jenis pengembalian SQL Server: geografi
Jenis pengembalian CLR: SqlGeography
Pengecualian
Metode ini melempar ArgumentException jika instans berisi tepi antipodal.
Keterangan
Metode ini selalu mengembalikan null jika pengidentifikasi referensi spasial (SRID) instans geografi tidak cocok.
Di SQL Server, kumpulan kemungkinan hasil yang dikembalikan di server telah diperluas ke instans FullGlobe . SQL Server mendukung instans spasial yang lebih besar dari belahan bumi. Hasilnya mungkin berisi segmen busur melingkar hanya jika instans input berisi segmen busur melingkar. Metode ini tidak tepat.
Contoh
J. Menghitung perbedaan antara dua instans geografi
Contoh berikut menggunakan STDifference()
untuk menghitung perbedaan antara dua instans geografi .
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.STDifference(@h).ToString();
B. Menggunakan FullGlobe dengan STDifference()
Contoh berikut menggunakan instans FullGlobe
. Hasil pertama kosong GeometryCollection
dan hasil kedua adalah Polygon
instans. STDifference()
mengembalikan kosong GeometryCollection
saat FullGlobe
instans adalah parameter . Setiap titik dalam instans pemanggilan geography
terkandung dalam FullGlobe
instans.
DECLARE @g geography = 'POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';
DECLARE @h geography = 'FULLGLOBE';
SELECT @g.STDifference(@h).ToString(),
@h.STDifference(@g).ToString();
Lihat Juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk