का उपयोग कर SQL सर्वर 2008 में दो स्थानों के बीच रिटर्न दूरी हमारे पास स्थान और उनके अक्षांश और अक्षांश के साथ एक सारणी है।अक्षांश और देशांतर
हम केंद्र बिंदु के रूप में एक विशिष्ट अक्षांश और देशांतर का उपयोग करके अगले 25 किलोमीटर के भीतर स्थानों को सूचीबद्ध करने के लिए SQL Server 2008 में एक फ़ंक्शन बनाने का प्रयास कर रहे हैं।
ALTER FUNCTION [dbo].[GetDistanceFromLocation]
(
@myCurrentLatitude float,
@myCurrentLongitude float,
@latitude float,
@longitude float
)
RETURNS int
AS
BEGIN
DECLARE @radiusOfTheEarth int
SET @radiusOfTheEarth = 6371--km
DECLARE @distance int
SELECT @distance = (@radiusOfTheEarth
* acos(cos(radians(@myCurrentLatitude))
* cos(radians(@latitude))
* cos(radians(@longitude) - radians(@myCurrentLongitude)) + sin(radians(@myCurrentLatitude))
* sin(radians(@latitude))))
RETURN @distance
END
:
अगर यह एक अच्छा तरीका शुरू करने और हमारे समारोह और एक केंद्र बिंदु के बीच वर्तमान दूरी हो रही (वर्तमान स्थान) और एक लक्ष्य स्थान (@ अक्षांश/@ देशांतर) का परीक्षण करने के लिए है मैं भटक रहा था क्या यह सही है या हम कुछ याद कर रहे हैं?
4326 क्या है? मैंने एमएसडीएन देखने की कोशिश की लेकिन इसके बारे में कोई जानकारी नहीं है। –
4326 विश्व भूगर्भीय संदर्भ प्रणाली के लिए स्थानिक संदर्भ आईडी है। अधिक जानकारी के लिए http://technet.microsoft.com/en-us/library/bb933811.aspx http://en.wikipedia.org/wiki/SRID और http://en.wikipedia.org/wiki/WGS84 देखें –