ورود

View Full Version : یافتن نزدیکترین موقعیت ها به من



mohamadlvs
سه شنبه 15 تیر 1400, 14:39 عصر
سلام
داخل برنامه ام تعدادی افراد با نام محل سکونت یا کار خود و آدرس موقعیت جغرافیایی ثبت شدن من میخوام اگه کسی در یه نقطه شروع به جستجو کرد تا فاصله 20 کیلومتری از اطراف خود کسانی که توی برنامه هستن براش پیدا کنه از نزدیکترین به دورترین. کتابخانه ای اگه هست معرفی کنید یا اگه میشه از طریق محاسبات جغرافیایی این رو بدست آورد... یا از طریق سرویس نشان یا سیدار...
ممنونم

hharddy
سه شنبه 15 تیر 1400, 15:43 عصر
کتابخانه که فکر نمیکنم باشه ولی یکم محاسبات ریاضی میخواد
فرض میکنیم مختصات جغرافیایی مکان هارو تو دیتابیس دارید در این صورت بهتره روی کوئری که مینویسید تمرکز کنید
اگر بیشتر از 30 رکورد میخواید برگرده limit رو تغییر بدید



SELECT
id, (
6371* acos (
cos ( radians(78.3232) )
* cos( radians( lat ) )
* cos( radians( lng ) - radians(65.3234) )
+ sin ( radians(78.3232) )
* sin( radians( lat ) )
)
) AS distance
FROM markers
HAVING distance < 20
ORDER BY distance
LIMIT 0 , 30;