@hesammousavi
سلام دوستان
در لاراول چطور میشه مسافت بین یک نقطه ثابت با چند نقطه ی دیگه رو محاسبه کرد و مسافتایی رو که از یه مقدار مثلا 100 کیلومتر کمتر باشن رو نمایش داد، اگه طول و عرض اون نقطه مشخص باشه و طول و عرض بقیه ی نقاط هم قبلا در دیتا بیس ذخیره شده باشه
بستگی به مقدار دقت لازمه داره.. مثلا ۲ راه زیر رو در نظر بگیرید
۱. استفاده از فرمول نقاط روی سطح دایره که یه فرمول ریاضی داره (که هم داخل PHP و هم در سطح دیتابیس قابل محاسبه هست) اما ممکنه خیلی دقیق نباشه.. چون یک دایره کاملا مسطح رو حساب میکنه و با حساب نکردن پستی و بلندی ها مقدار به دست اومده دقت چندانی نداره
۲. استفاده از وبسرویس های تخمین فاصله که مسافت رو بر حسب خیابون ها و مسیرهای رفت و آمد محاسبه میکنند
@ali.bayat
مشکل اصلی من محاسبه ی مسافت بین دو نقطه نیست چون با یکی از این دو روش به دست میاد مشکلم اینه که چطور فاصله یه نقطه رو با چن تا نقطه دیگه که تو دیتا بیس ذخیره هستن رو محاسبه کنم
$theta = $longitude1 - $longitude2;
$distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)));
$distance = acos($distance);
$distance = rad2deg($distance);
$distance = $distance * 60 * 1.1515;
switch($unit) {
case 'miles':
break;
case 'kilometers' :
$distance = $distance * 1.609344;
}
return (round($distance,2));
}```
به عنوان مثال با استفاده از متد بالا میشه فاصله بین دو نقطه رو محاسبه کرد اما من میخام ببینم راهی هست که این متد رو تو یه حلقه بذارم و فاصله ی بین یک نقطه با چن تا نقطه دیگه رو دونه دونه محاسبه کنم و در آخر مسافتای خاصی مثلا کمتر از 100 کیلومتر و نمایش بدم
بله میتونی مختصات مورد نظرت رو توی آرایه بگذاری
و آرایه رو پیمایش کنی و فاصاه هر کدوم رو تا دیگری حساب کنی و با هم جمع کنی
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟