OSRM ماشین مسیریابی متنباز برای دنیای واقعی 🌍
اگه تو حوزه توسعه اپلیکیشنهای نقشه، مسیریابی یا لجستیک کار میکنین، حتماً اسم
OSRM (Open Source Routing Machine) رو شنیدین. این ابزار یه موتور مسیریابی قدرتمند و متنبازه که بر اساس دادههای OpenStreetMap کار میکنه و میتونه مسیریابی سریع و دقیق رو برای اپهای موبایل، وب یا حتی سیستمهای بزرگ فراهم کنه.(به تازگی توی یکی از پروژه هام استفادش کردم و عالی بود)
تو این پست قراره یه نگاه تقریباً کامل به OSRM بندازیم.
🧠 اول از همه OSRM چیه؟
OSRM مخفف Open Source Routing Machine، یه موتور مسیریابی متنبازه که با
C++ نوشته شده و برای محاسبه کوتاهترین مسیرها تو شبکههای جادهای طراحی شده. این ابزار از دادههای OpenStreetMap (OSM) استفاده میکنه – یه نقشه متنباز جهانی که توسط جامعه ساخته میشه – و میتونه مسیریابی برای ماشین، دوچرخه، پیاده یا حتی وسایل نقلیه خاص رو انجام بده.
پروژه OSRM از سال ۲۰۱۰ توسط Dennis Luxen شروع شد و حالا توسط جامعهای از توسعهدهندهها (از جمله تیم Mapbox) نگهداری میشه. هدف اصلیش؟ ارائه مسیریابی سریع، دقیق و قابل سفارشیسازی بدون وابستگی به سرویسهای تجاری مثل Google Maps.
OSRM نهتنها مسیریابی ساده انجام میده، بلکه قابلیتهایی مثل map matching (مطابقت مسیر با جاده) و حل مسئله TSP رو هم داره.
📚 چطور کار میکنه؟
OSRM دو بخش اصلی داره:
پیشپردازش (Preprocessing) و سرویسدهی (Serving).
1⃣ پیشپردازش:
آمادهسازی دادهها 🛠️
دادههای OSM (فایلهای .osm.pbf) رو میگیره و به یه گراف بهینهشده تبدیل میکنه.
از الگوریتمهای پیشرفتهای مثل Contraction Hierarchies (CH) یا Multi-Level Dijkstra (MLD) استفاده میکنه. CH برای ماتریسهای فاصله بزرگ عالیه، و MLD (پیشنهادی برای بیشتر موارد) تعادل خوبی بین سرعت و دقت برقرار میکنه.
مراحل پیشپردازش:
Extract:
دادههای OSM رو به گراف خام تبدیل میکنه.
Partition/Customize:
گراف رو بهینه میکنه (مثل ساخت ایندکسها برای سرعت).
Contract:
برای CH، گراف رو فشرده میکنه تا جستجو سریعتر بشه.
2⃣ سرویسدهی محاسبه مسیر 🗺️
سرور HTTP/JSON ارائه میده که میتونین ازش برای محاسبه مسیر، تخمین زمان، یا حتی تولید tileهای نقشه با metadata مسیریابی استفاده کنین.
🚀 ویژگیهای کلیدی OSRM
1⃣ الگوریتمهای مسیریابی پیشرفته 🧮
Contraction Hierarchies (CH):
برای ماتریسهای فاصله بزرگ (مثل محاسبه فاصله بین ۱۰۰۰ نقطه) عالیه. سرعت محاسبه رو به میلیثانیه میرسونه.
Multi-Level Dijkstra (MLD):
تعادل خوبی بین دقت و سرعت داره و برای مسیریابی روزمره پیشنهاد میشه.
Map Matching:
مسیرهای GPS نویزی (مثل دادههای موبایل) رو با جادههای واقعی مطابقت میده – عالی برای اپهای ناوبری.
2⃣ پروفایلهای سفارشی 🚗🚲
میتونین پروفایلهای مختلف بسازین:
car (ماشین)، bike (دوچرخه)، foot (پیاده) یا حتی وسایل نقلیه سنگین.
هر پروفایل قوانین خاص خودش رو داره (مثل اجتناب از بزرگراهها برای دوچرخه).
3⃣ تولید Tileهای نقشه 🏗️
OSRM میتونه Mapbox Vector Tiles با metadata مسیریابی تولید کنه، که برای اپهای موبایل (مثل Mapbox GL) عالیه.
4⃣ حل مسئله فروشنده دورهگرد (TSP) 🛒
برای محاسبه بهینه مسیر بازدید از چند نقطه (مثل تحویل کالا) استفاده میشه.
مثال: محاسبه ماتریس فاصله بین ۱۰ انبار.
5⃣ ادغام آسون با Docker و API 🐳
Docker images آماده برای سریع راهاندازی (ghcr.io/project-osrm/osrm-backend).
API ساده JSON/HTTP که با هر زبانی (پایتون، JS، Go) کار میکنه.
✍ جمعبندی
OSRM یه موتور مسیریابی متنباز قدرتمنده که با الگوریتمهای پیشرفته مثل MLD و CH، مسیریابی سریع و دقیق رو برای اپهای واقعی فراهم میکنه. از محاسبه مسیرهای ساده گرفته تا map matching و تولید tileها، این ابزار برای توسعهدهندههای نقشه و لجستیک یه گنجینهست.
➖➖➖➖➖➖➖➖➖➖
اگه تو حوزه توسعه اپلیکیشنهای نقشه، مسیریابی یا لجستیک کار میکنین، حتماً اسم
OSRM (Open Source Routing Machine) رو شنیدین. این ابزار یه موتور مسیریابی قدرتمند و متنبازه که بر اساس دادههای OpenStreetMap کار میکنه و میتونه مسیریابی سریع و دقیق رو برای اپهای موبایل، وب یا حتی سیستمهای بزرگ فراهم کنه.(به تازگی توی یکی از پروژه هام استفادش کردم و عالی بود)
تو این پست قراره یه نگاه تقریباً کامل به OSRM بندازیم.
🧠 اول از همه OSRM چیه؟
OSRM مخفف Open Source Routing Machine، یه موتور مسیریابی متنبازه که با
C++ نوشته شده و برای محاسبه کوتاهترین مسیرها تو شبکههای جادهای طراحی شده. این ابزار از دادههای OpenStreetMap (OSM) استفاده میکنه – یه نقشه متنباز جهانی که توسط جامعه ساخته میشه – و میتونه مسیریابی برای ماشین، دوچرخه، پیاده یا حتی وسایل نقلیه خاص رو انجام بده.
پروژه OSRM از سال ۲۰۱۰ توسط Dennis Luxen شروع شد و حالا توسط جامعهای از توسعهدهندهها (از جمله تیم Mapbox) نگهداری میشه. هدف اصلیش؟ ارائه مسیریابی سریع، دقیق و قابل سفارشیسازی بدون وابستگی به سرویسهای تجاری مثل Google Maps.
OSRM نهتنها مسیریابی ساده انجام میده، بلکه قابلیتهایی مثل map matching (مطابقت مسیر با جاده) و حل مسئله TSP رو هم داره.
📚 چطور کار میکنه؟
OSRM دو بخش اصلی داره:
پیشپردازش (Preprocessing) و سرویسدهی (Serving).
1⃣ پیشپردازش:
آمادهسازی دادهها 🛠️
دادههای OSM (فایلهای .osm.pbf) رو میگیره و به یه گراف بهینهشده تبدیل میکنه.
از الگوریتمهای پیشرفتهای مثل Contraction Hierarchies (CH) یا Multi-Level Dijkstra (MLD) استفاده میکنه. CH برای ماتریسهای فاصله بزرگ عالیه، و MLD (پیشنهادی برای بیشتر موارد) تعادل خوبی بین سرعت و دقت برقرار میکنه.
مراحل پیشپردازش:
Extract:
دادههای OSM رو به گراف خام تبدیل میکنه.
Partition/Customize:
گراف رو بهینه میکنه (مثل ساخت ایندکسها برای سرعت).
Contract:
برای CH، گراف رو فشرده میکنه تا جستجو سریعتر بشه.
2⃣ سرویسدهی محاسبه مسیر 🗺️
سرور HTTP/JSON ارائه میده که میتونین ازش برای محاسبه مسیر، تخمین زمان، یا حتی تولید tileهای نقشه با metadata مسیریابی استفاده کنین.
🚀 ویژگیهای کلیدی OSRM
1⃣ الگوریتمهای مسیریابی پیشرفته 🧮
Contraction Hierarchies (CH):
برای ماتریسهای فاصله بزرگ (مثل محاسبه فاصله بین ۱۰۰۰ نقطه) عالیه. سرعت محاسبه رو به میلیثانیه میرسونه.
Multi-Level Dijkstra (MLD):
تعادل خوبی بین دقت و سرعت داره و برای مسیریابی روزمره پیشنهاد میشه.
Map Matching:
مسیرهای GPS نویزی (مثل دادههای موبایل) رو با جادههای واقعی مطابقت میده – عالی برای اپهای ناوبری.
2⃣ پروفایلهای سفارشی 🚗🚲
میتونین پروفایلهای مختلف بسازین:
car (ماشین)، bike (دوچرخه)، foot (پیاده) یا حتی وسایل نقلیه سنگین.
هر پروفایل قوانین خاص خودش رو داره (مثل اجتناب از بزرگراهها برای دوچرخه).
3⃣ تولید Tileهای نقشه 🏗️
OSRM میتونه Mapbox Vector Tiles با metadata مسیریابی تولید کنه، که برای اپهای موبایل (مثل Mapbox GL) عالیه.
4⃣ حل مسئله فروشنده دورهگرد (TSP) 🛒
برای محاسبه بهینه مسیر بازدید از چند نقطه (مثل تحویل کالا) استفاده میشه.
مثال: محاسبه ماتریس فاصله بین ۱۰ انبار.
5⃣ ادغام آسون با Docker و API 🐳
Docker images آماده برای سریع راهاندازی (ghcr.io/project-osrm/osrm-backend).
API ساده JSON/HTTP که با هر زبانی (پایتون، JS، Go) کار میکنه.
✍ جمعبندی
OSRM یه موتور مسیریابی متنباز قدرتمنده که با الگوریتمهای پیشرفته مثل MLD و CH، مسیریابی سریع و دقیق رو برای اپهای واقعی فراهم میکنه. از محاسبه مسیرهای ساده گرفته تا map matching و تولید tileها، این ابزار برای توسعهدهندههای نقشه و لجستیک یه گنجینهست.
#️⃣ #geo #programming #osrm
➖➖➖➖➖➖➖➖➖➖
🥷🏻 CHANNEL | GROUP
🔥6❤3
Ninja Learn | نینجا لرن
OSRM ماشین مسیریابی متنباز برای دنیای واقعی 🌍 اگه تو حوزه توسعه اپلیکیشنهای نقشه، مسیریابی یا لجستیک کار میکنین، حتماً اسم OSRM (Open Source Routing Machine) رو شنیدین. این ابزار یه موتور مسیریابی قدرتمند و متنبازه که بر اساس دادههای OpenStreetMap…
توی پروژه خودم وحشتناک کمکم کرد
چون هم سرویسای دیگه خیلی گرون بودن و هم طراحی همچنین چیزی کلی زمانو و انرژی میبرد
استفاده ازشم خیلی اسونه و برای ایرانم به خوبی کارمیکنه
چون هم سرویسای دیگه خیلی گرون بودن و هم طراحی همچنین چیزی کلی زمانو و انرژی میبرد
استفاده ازشم خیلی اسونه و برای ایرانم به خوبی کارمیکنه
❤4
خب یکم میخوام امروز همه تجربه بدم هم بگیرم
چیزی بوده که ذهنتون رو توی این چند وقت درگیر کرده باشه؟ یا درگیرش باشید؟
چیزی بوده که ذهنتون رو توی این چند وقت درگیر کرده باشه؟ یا درگیرش باشید؟
❤5
فول پکیجم از نظر روانی:
برنامه نویس - دوتا پلیر - ایرانی
برنامه نویس - دوتا پلیر - ایرانی
😭10
Media is too big
VIEW IN TELEGRAM
🚨 ربات Figure 03 معرفی شد
شرکت Figure AI از نسل جدید ربات انساننمای خودش رونمایی کرده — Figure 03.
هدف این ربات فقط نمایش تکنولوژی نیست؛ قراره بهصورت جدی وارد بازار نیروی کار رباتیک بشه.
🤖 طبق اطلاعات رسمی، Figure 03 طوری طراحی شده که بتونه در محیطهای کاری واقعی مثل کارخانهها و انبارها، جای انسانها رو بگیره.
این ربات با کمک مدلهای هوش مصنوعی زبانی (مثل GPT) میتونه دستورات انسانی رو درک کنه و خودش تصمیم بگیره چطور اونها رو اجرا کنه.
🔋 مهمترین پیشرفت نسبت به نسل قبلی، باتری جدید F.03 هست:
یک باتری ۲.۳ کیلوواتساعتی که تا ۵ ساعت کار مداوم رو ممکن میکنه.
شرکت Figure میگه هزینه ساخت این باتری نسبت به نسل قبل تا ۷۸٪ کاهش یافته و همین باعث میشه Figure 03 اولین رباتی باشه که میتونه وارد تولید انبوه بشه.
➖➖➖➖➖➖➖➖➖➖
شرکت Figure AI از نسل جدید ربات انساننمای خودش رونمایی کرده — Figure 03.
هدف این ربات فقط نمایش تکنولوژی نیست؛ قراره بهصورت جدی وارد بازار نیروی کار رباتیک بشه.
🤖 طبق اطلاعات رسمی، Figure 03 طوری طراحی شده که بتونه در محیطهای کاری واقعی مثل کارخانهها و انبارها، جای انسانها رو بگیره.
این ربات با کمک مدلهای هوش مصنوعی زبانی (مثل GPT) میتونه دستورات انسانی رو درک کنه و خودش تصمیم بگیره چطور اونها رو اجرا کنه.
🔋 مهمترین پیشرفت نسبت به نسل قبلی، باتری جدید F.03 هست:
یک باتری ۲.۳ کیلوواتساعتی که تا ۵ ساعت کار مداوم رو ممکن میکنه.
شرکت Figure میگه هزینه ساخت این باتری نسبت به نسل قبل تا ۷۸٪ کاهش یافته و همین باعث میشه Figure 03 اولین رباتی باشه که میتونه وارد تولید انبوه بشه.
#️⃣ #news
➖➖➖➖➖➖➖➖➖➖
🥷🏻 CHANNEL | GROUP
🔥7❤1💔1
یکی از چالشهای رایج بین فعالان حوزهی هوش مصنوعی اینه که نمیدونن برای آموزش مدلشون باید از چه الگوریتمی استفاده کنن
آیا باید سراغ Classification برن؟ یا Regression؟ یا شاید Clustering؟ 🤔
خوشبختانه، کتابخونهی قدرتمند Scikit-learn (sklearn) توی مستندات رسمیش یه فلوچارت خیلی کاربردی ارائه داده که با دنبال کردنش میتونید دقیقاً بفهمید کدوم الگوریتم مناسب نوع داده و هدف پروژهتونه.
لینک
➖➖➖➖➖➖➖➖➖➖
آیا باید سراغ Classification برن؟ یا Regression؟ یا شاید Clustering؟ 🤔
خوشبختانه، کتابخونهی قدرتمند Scikit-learn (sklearn) توی مستندات رسمیش یه فلوچارت خیلی کاربردی ارائه داده که با دنبال کردنش میتونید دقیقاً بفهمید کدوم الگوریتم مناسب نوع داده و هدف پروژهتونه.
لینک
#️⃣ #ai #programming
➖➖➖➖➖➖➖➖➖➖
🥷🏻 CHANNEL | GROUP
scikit-learn
13. Choosing the right estimator
Often the hardest part of solving a machine learning problem can be finding the right estimator for the job. Different estimators are better suited for different types of data and different problem...
👍6❤3🤣1
دارم Cursor میریزم ببینم چیه که حتی توی اگهی شغلی گفته بودن باید بلد باشید
👍14👎2❤1
Ninja Learn | نینجا لرن
Mitski – My Love Mine All Mine
This media is not supported in your browser
VIEW IN TELEGRAM
☃2
این ویدیو خیلی باحال نحوه کارکردن Binary code و memory رو توضیح میده
https://youtu.be/11Hnld1r84o?si=yT2pRumCIfJAhxPv
https://youtu.be/11Hnld1r84o?si=yT2pRumCIfJAhxPv
YouTube
How Computer Memory Works? Simple Explanation | Digital Binary ASCII codes
Have you ever wondered how your phone stores every photo and song you own using just two numbers? This video breaks down the mind-blowing secret of computer memory in the simplest way possible!
From all the books you'll read in your lifetime to every movie…
From all the books you'll read in your lifetime to every movie…
🔥2
برای فعالیت در حوزه ai حتما نیازه ریاضی بلد باشید یا حداقل علاقه داشته باشید
چون که اگه شما بخواید بفهمید یه الگوریتم یا یه مدل دقیقا چیکار داره میکنه نیاز دارید بفهمید فرمولش داره چیکارمیکنه ( یا حتی اگه بخواید یه الگوریتم طراحی کنید)
پس برای علاقه مندان حتماً پیشنهاد میکنم دانش ریاضیتون رو بالا ببرید حالا یا با کمک منابع و کتاب های سطح اینترنت یا هوش مصنوعی
موفق باشید❤️
چون که اگه شما بخواید بفهمید یه الگوریتم یا یه مدل دقیقا چیکار داره میکنه نیاز دارید بفهمید فرمولش داره چیکارمیکنه ( یا حتی اگه بخواید یه الگوریتم طراحی کنید)
پس برای علاقه مندان حتماً پیشنهاد میکنم دانش ریاضیتون رو بالا ببرید حالا یا با کمک منابع و کتاب های سطح اینترنت یا هوش مصنوعی
موفق باشید❤️
❤8👍2
Ninja Learn | نینجا لرن
برای فعالیت در حوزه ai حتما نیازه ریاضی بلد باشید یا حداقل علاقه داشته باشید چون که اگه شما بخواید بفهمید یه الگوریتم یا یه مدل دقیقا چیکار داره میکنه نیاز دارید بفهمید فرمولش داره چیکارمیکنه ( یا حتی اگه بخواید یه الگوریتم طراحی کنید) پس برای علاقه مندان…
در اینده سعی میکنم لیستی از کتاب ها و منابع مناسب رو بهتون معرفی کنم
❤8
بعضی دوستان یجوری ابراز ناراحتی کردن نسبت به قطع ساپورت ماکروسافت برای ویندوز ۱۰ (دیگه اپدیت نمیاد براش) که انگار نسخه اورجینال داشتن 😂😂
🤣23