Seperti kita ketahui bahwa untuk mendapatkan berapa panjang jarak Antara 2 buah titik dapat menggunakan function STDistance() seperti contoh berikut :
Misal saya akan menandakan 2 buah point di kecamatan simokerto Surabaya :
DECLARE @Simo1 geography = 'POINT(112.752191 -7.234907)'; DECLARE @Simo2 geography = 'POINT(112.751384 -7.234276)';
Kemudian kita hitung jaraknya adalah :
SELECT @Simo1.STDistance(@Simo2);
Dimana hasilnya adalah : 113.194027345718 Meter.
Namun hal ini hanya menandakan jarak 2 buah titik lokasi tanpa kita mengetahui bagaimana bentuk linestring yang menghubungkan dua lokasi tersebut.
Untuk hal tersebut dapat menggunakan function ShortestLineTo(). Sehingga garis yang terpendek yang menghubungkan 2 buah titik tersebut adalah :
SELECT @Simo1.ShortestLineTo(@Simo2)
Sehingga jika kita ingin mengetahui jarak terdekat dan berapa jauh jarak terdekat tersebut dapat digambarkan dengan T-SQL lengkap sebagai berikut :
DECLARE @Simo1 geography = 'POINT(112.752191 -7.234907)'; DECLARE @Simo2 geography = 'POINT(112.751384 -7.234276)'; Select @Simo1.STBuffer(5) Geom, 'SiMolawang I' Union All Select @Simo2.STBuffer(5) Geom, 'SiMolawang II' Union All Select @Simo1.ShortestLineTo(@Simo2).STBuffer(2) geom,'ShortestLineTo';
Dimana hasilnya adalah seperti ini :
