Web design and hosting, database, cloud and social media solutions that deliver business results
  • خدمات مشاوره پایگاه داده
    • ابزارها
      • پشتیبان کد SQL
      • چاپگر SQL
    • مقالات فنی
      • استفاده از SQL Server Dates
      • استفاده از توابع سرور SQL
      • با استفاده از SQL Server Pivot-Unpivot
      • تعمیر و نگهداری سرور SQL
      • داده SQL سرور
  • راه حل های کسب و کار
  • طراحی وب سایت
    • جزیره وایت
    • مقالات فنی
  • خدمات شغلی
  • رسانه های اجتماعی
  • آکادمی
  • دربارهی ما
    • تیم
      • چستر Copperpot
      • سونیل کومار
    • نمونه کارها
عربى (AR)čeština (CS)Deutsch (DE)English (EN-US)English (EN-GB)Español (ES)فارسی (FA)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

فاصله بین دو مختصات طول و عرض در SQL Server را محاسبه کنید

یک تابع SQL ایجاد کنید که فاصله مختصات طول و عرض جغرافیایی را در مایل یا کیلومتر محاسبه کند

متن نوشته

با استفاده از SQL Server Distance.png

محاسبه فاصله بین دو مکان می تواند بسیار مشکل باشد ، مقالات خوبی وجود دارد ، با این حال این صفحه فقط به کد می رود.

برای کسب اطلاعات بیشتر در مورد نحوه محاسبه فاصله آن بر روی یک کره ، به Haversine Formula در ویکی پدیا نگاهی بیندازید ، کمی پیچیده است ، بنابراین ما نمی خواهیم محتوای آن را کپی کنیم.

ما برخی از این کدها را بصورت آنلاین پیدا کردیم و آن را با قابلیت درخواست مایل یا کیلومتر با یک عملکرد SQL تطبیق داده ایم.

این فقط "وقتی کلاغ پرواز می کند" محاسبه می شود ، با این حال به عنوان بخشی از برنامه ای که می خواهیم روی یک iPhone ساخته باشیم و فواصل آن مشخص است ، آزمایش شد.

SQL Server

CREATE FUNCTION CoordinateDistanceMiles(@Latitude1 float,@Longitude1 float,@Latitude2 float,@Longitude2 float,@Distance NVARCHAR(10))RETURNS FLOATAS BEGIN-- CONSTANTSDECLARE @EarthRadiusInMiles FLOAT=(CASE @Distance WHEN 'Miles' THEN 3959 WHEN 'Kilometers' THEN 6371 ELSE 0 END);DECLARE @PI FLOAT=PI();DECLARE @lat1Radians FLOAT=@Latitude1 * @PI / 180DECLARE @long1Radians FLOAT=@Longitude1 * @PI / 180;DECLARE @lat2Radians FLOAT=@Latitude2 * @PI / 180;DECLARE @long2Radians FLOAT=@Longitude2 * @PI / 180;RETURN Acos(Cos(@lat1Radians)*Cos(@long1Radians)*Cos(@lat2Radians)*Cos(@long2Radians)+Cos(@lat1Radians)*Sin(@long1Radians)*Cos(@lat2Radians)*Sin(@long2Radians)+Sin(@lat1Radians)*Sin(@lat2Radians)) * @EarthRadiusInMiles;END

Was this helpful?

Please note, this commenting system is still in final testing.

Author

Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink سیاست کوکینقشه سایت

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
The settings on this site are set to allow all cookies. These can be changed on our Cookie Policy & Settings page.
By continuing to use this site you agree to the use of cookies.
Ousia Logo
Logout
Ousia CMS Loader