हाँ, यह बिल्कुल वैसी ही चीज़ है जैसे geography
और स्थानिक तरीके अच्छे हैं। यहां एक छोटा सा उदाहरण दिया गया है:
DECLARE @Restaurant TABLE (
Name nvarchar(50),
Location geography,
DeliveryRadiusMetres int
);
INSERT @Restaurant
VALUES
-- long lat
('Dominos','POINT(-0.109339 51.532835)',2000 ),
('Pizza Hut','POINT(-0.102961 51.541157)',2000 );
ध्यान दें कि यहां geography
बनाने के लिए मान मैं स्ट्रिंग से एक अंतर्निहित रूपांतरण का उपयोग कर रहा हूं, जो पर्दे के पीछे geography::Parse
. कहता है ।
DECLARE @MyLocation geography = 'POINT(-0.115063 51.550231)';
SELECT
Name
FROM
@Restaurant R
WHERE
R.Location.STDistance(@MyLocation) <= R.DeliveryRadiusMetres
;