بخشی از مقاله
تاکسی نت: رزرو تاکسی بی سیم تحت وب با استفاده از سیستم موقعیت یاب جهانی
چکیده
همگام با پیشرفتهای روزافزون در حوزه بهبود خدمات شهری با استفاده فناوری اطلاعات، نرمافزار تاکسی نت را طراحی نمودیم که در گرفتن تاکسـی به افراد جامعه کمک کند. تاکسـی نت، یک نرم افزار تحت موبایل برای سـیسـتمهای مجهز به اندروید اسـت که رانندگان تاکسی و مسافران را بههم متصل میکند و برای آنها یک ارتباط راحت و سریع بدون مرکز اپراتور واسط را فراهم میآورد. تاکسی نت روی گوشیهای مجهز به سیستمعامل اندروید مسافران نصب میشود و با استفاده از نقشههای گوگل و تکنولوژی GPS یا WiFi ، به مسـافران این امکان را میدهد که از میان تاکسـیهای نزدیک، یکی را انتخاب نمایند. ارتباط میان مســافر و تاکسی انتخاب شـده، از طریق تماس تلفنی میسـر میگردد. مکان فعلی تاکسـیها هر چند ثانیه یکبار در ســرور بهروز میشود و بنابراین مسـافران همواره مکان نسبتاً دقیقی از تاکسی ها را روی نقشه مشاهده مینمایند. نظر به اینکه نرمافزارهای محبوب دنیا برای رزرو تاکسـی، از آدرس های داخل ایران حمایت نمیکنند، ضـرورت طراحی و پیاده سازی نرم افزاری چون تاکسی نت به شدت احساس شده است.
-1 مقدمه
خدمات تاکسـی یک بخش حیاتی از حمل و نقل درونشـهری اسـت. افزایش کارایی این بخش، از نظر سـرعت دسـتیابی مسافر به تاکسی و راحتی استفاده از سیستم، موضوع بسیار مهمی در حوزه خدمات شهری است.[11]مدتهاست بسیاری از تاکسیها، مجهز به دســتگاه های GPS هســتند. بنابراین به راحتی مکان یابی شــده و خطســیر1 آنها برای تحلیل و بررســـیهای آینده ثبت میگردد.خطســیر، مجموعه ای از طول و عرض جغرافیایی نقاط پشــت ســر هم، به همراه مهر زمان اســت که توســط تاکســی طی میشـود. در بسـیاری از روشهای های ارائه شـده برای بهبود رزرو کردن تاکسـی2، فقط به دادههای GPSی تاکسـیها توجه شده اسـت. در مقاله [1]، یک مدل پیشبینی برای تاکسـیهای خالی در یک منطقه مشخص، براساس روز، ساعت و شرایط آب و هوایی ارائه شـده اسـت. مقاله [2] ، یک استراتژی پیدا کردن مسافر، بر اساس دادههای یک سال تاکسیهای شهر هانگژو چین ارائه کرده است که رانندگان را در عملکرد بهتر کمک میکند. مقاله[3]، روشی را ارائه میدهد که رفتارهای ناهنجار، مثل تخلفهای رانندگی را نشان میدهد. مقاله [4] یک سیستم هوش تجاری3 برای تاکسی، بر پایه ردیابی4 تاکسی ها، طراحی کرده است.
اما امروزه، با گسـترش اســتفاده از تلفنهای همراه هوشـمند5، هر مســافر نیز مجهز به یک دسـتگاه GPS کوچک شــده اســت. این موضــوع، گســتره جدیدی از اطلاعات را فراهم آورده که بررســی و تحلیل آن، کمک مضــاعفی به بهبود عملکرد ناوگان حمل ونقل تاکسـیرانی میکند. برای مثال در مقاله [5]، یک سـیسـتم اختصـاص تاکسـی، بر پایه مکان فعلی تاکسی و مسافر طراحی گردیده است. امروزه از نرمافزارهای موبایلی زیادی برای رزرو تاکسی استفاده میشود. برای مثال، نرم افزار Hailo در بریتانیا[6]، KuaiDi [7] و [8] DiDi در چین، به طور گسـترده مورد اسـتفاده قرار میگیرد. ToGo Cabs یک نرم افزار برای سـیستم های اندرویدی اسـت که برهمین مبنا عمل می کند.[9] در بسیاری از این نرمافزارها، با حذف مرکز اعزام تاکسی که شکل سنتی اختصاص تاکسی به مسـافر اسـت، به منظور افزایش سرعت و راحتی، مسافر و راننده به طور مستقیم با یکدیگر ارتباط برقرلر میکنند. بنابراین رزرو تاکسی سادهتر میشود، تاکسیها کمتر خالی میمانند و مسافران کمتر انتظار میکشند. در این نرمافزارها موقعیت کنونی مسافران و تاکســیها از طریق GPS در اختیار نرمافزار قرار میگیرد و اعزام تاکســی، به روش های مختلف انجام میپذیرد. مثلا در بعضــی از نرمافزارها، وقتی مسافر میخواهد تاکسی بگیرد، درخواست خود را به سرور میفرستد و سرور این تقاضا را برای تاکسیهای نزدیک فرد (مثلا شـعاع 3کیلومتری) با اسـتفاده از روش همه پخشـی ارسـال میکند. اولین راننده که این تقاضـا را پاسخ داد، میتواند به مســافر اختصــاص یابد. ســپس مســافر و راننده تماس تلفنی برقرار میکنند و جزییات را با هم مطرح میکنند. بعد تاکســی برای جابهجا کردن مسـافر، در اختیار او قرار میگیرد. در بعضـی دیگر، سـرور در جواب درخواست مسافر، مکان تاکسیهای نزدیک او را مشخص میکند، این خود مسافر است که تاکسی دلحواه را انتخاب و سپس با او تماس میگیرد.
تاکسـی نت، یک نرمافزار تحت موبایل اسـت که رانندگان تاکسی و مسافران را بههم متصل میکند و برای آنها یک ارتباط راحت و سـریع را فراهم میآورد. از آنجا تعداد بسـیار زیادی از گوشـیهای هوشـمند مجهز به سـیستمعامل اندروید هستند تصمیم گرفتیم تاکسـی نت را برای سیستم عامل اندروید طراحی کنیم. با این کار، به بسیاری از مسافرانی که از این نرم افزار روی گوشیهای خود استفاده میکنند، میتوانیم در گرفتن سریعتر و آسانتر تاکسی کمک کنیم.
تاکسـی نت با استفاده از نقشههای گوگل و GPS، به مسافران این امکان را میدهد که از میان تاکسیهای نزدیک، یکی را انتخاب نمایند. دقیقترین موقعیت کنونی مشتری با استفاده از GPS پیدا میشود ولی عیب آن کند بودن، مصرف زیاد باتری و بلااستفاده بودن در مکان سرپوشیده است. WiFi نتیجه غیر دقیق برمیگرداند، ولی حسن بزرگ آن کم مصرف کردن باتری است و چون در این ســـیســـتم موقعیـت حدودی کاربر برای ما کافی اســـت می تواند در مواردی که GPS نتواند در مدت زمان معقول نتیجهای برگرداند، جایگزینی برای آن باشد. ارتباط میان مسافر و تاکسی انتخاب شده، از طریق تماس تلفنی میسر میگردد. در این سیستم فرض بر این است که موقعیت کنونی تمام تاکسیهای شهری، در یک بستر مبتنی بر وب در یک پایگاه داده در سرور ثبت میشود. مکان فعلی تاکسیها هر چند ثانیه یکبار در سرور بهروز میشود و بنابراین مسافران همواره مکان نسبتا دقیقی از تاکسی ها را روی نقشه مشاهده مینمایند.
-2 ضرورت طراحی تاکسی نت
1-2 صرفه جویی در وقت
برای رزرو تاکســی ســیار در ایران، ما باید با یکی از مراکز تاکســی بیســیم تماس بگیریم و درخواســت تاکســی کنیم. اگر در منطقه نزدیک مکان ما، تاکســـیهای آن مرکز وجود داشـــت که نام ما ثبت شـــده و منتظر میمانیم. اما اگر تاکســـی در نزدیکی ما وجود نداشــت، یا باید بپذیریم که تاکســی با تاخیر برای ما ارســال شــود، یا باید با مراکز دیگر تماس بگیریم. این روش، زمان زیادی از ما میگیرد. با استفاده از تاکسی نت، می توان فقط با چند کلیک ساده، در اسرع وقت به تاکسی دسترسی داشت.
2-2 سادگی استفاده از نرم افزار
واسـط کاربری تاکسـی نت، بسـیار سـاده و قابل فهم برای همگان است. مسافر فقط با چند کلیلک ساده، میتواند در اسرع وقت، به تاکسی مورد نظر خود دسترسی داشته باشد.
3-2 عدم حمایت نرمافزار های رایج از آدرسهای داخل ایران
با یک جسـتجوی سـاده در اینترنت، با لیستی از نرمافزار های مختلف روبرو خواهیم شد که برای گرفتن تاکسی طراحی شدهاند. از جمله محبوبترین آنها [10] EasyCab است که در تعداد زیادی از کشورهای دنیا کاربرد دارد. اما متاسفانه تا به امروز، هیچکدام از آنها، از آدرسهای داخل ایران حمایت نمیکنند.تاکســی نت، نرمافزاری اســت که از آدرسهای تمام نقاط ایران حمایت میکند و مسافران در هر نقطه از کشور میتوانند از خدمات آن استفاده کنند.
-3 بررسی ملزومات برنامه
1-3 جمعآوری ملزومات
یک برنامهی کاربردی جهت رزرو تاکســی، پیش از نیاز به دانش برنامهنویســی و معماری نرمافزار، مســتلزم تحقیق و بررســی زیر سـاختهای سـرویس دهی و نحوهی خدمت رسـانی به مشـتریان تاکسی است. ارائهی سرویس تاکسی بررسی در دسترس بودن یا نبودن تاکســیها را، برای پاســخ به درخواســت مشــتری لازم دارد، که در طراحی و پیادهســازی این نرم افزار به مقولهی جمعآوری اطلاعات مکانی تاکسیها نپرداختهایم و تمامی اطلاعات را از پیش در یک وب سرور داریم.
در طراحی این برنامه، نرم افزارهای بسـیاری بررسـی شـده و روال انجام دریافت سـرویس توسط مشتری درآنها امکانسنجی شده اسـت تا برای اسـتفاده در محیط بومی بالاترین کارایی را داشته باشد. هدف دیگر از طراحی این نرمافزارعدم پشتیبانی نرمافزارهای مشابهزکشورا ایران است که خلاٌ این نرم افزار کاملاً محسوس است.
1-3 روش تحقیق و معماری سیستم
فناوریهای مورد اسـتفاده برای سـاخت این برنامه نوعی خاص از برنامه جاوا مخصوص دستگاههای سیار، XML، Google Map API(V2)، Google Geo Coder، Http Request & Response، نشــانه گذاری نقشــه و الگوریتم یافتن نقاط همســایهی یک مکان در نقشه می باشد. این نرم افزار برای گوشی اندروید با ورژن سیستم عامل 2,3 یا بیشتر ساخته شده است.
بدنهی اصــلی این برنامه را یک برنامهی اندرویدی مرتبط با یک ســرور تحت وب که خود شــامل یک پایگاه داده اســت، تشــکیل میدهد.در ســرور اطلاعات مربوط به موقعیت کنونی تاکســیهای ناوگان وجود دارد که در زمانهای محدود توســط برنامهی داخل سرور بروزرسانی میشود و سرور آخرین اطلاعات ثبت شده در پایگاه داده را به برنامهی اندرویدی مشتری یا سرویس گیرنده ارسال میکند.
شکل (2) معماری سیستم نرم افزار تاکسی نت
در شـکل 3 ارتباط بین کاربر و تاکسـی بطور شـماتیک نمایش داده شـده اسـت. همانطور که در شکل می بینید تشخیص موفعیت کنونی مشتری درخواست کنندهی تاکسی بوسیلهی شبکه یا GPS صورت میگیرد. تاکسی ها نیز توسط یک وسیلهی اندرویدی یا هر وســیلهی دیگر مجهز به ســنســور GPS نیز اطلاعات مکانی خود را در پایگاه دادهی ســرور ذخیره می کند. مشــتری با ارســال اطلاعات مکانی خود به سـرور از سـرور درخواست میکند تا تمامی تاکسیهای نزدیک (بطور مثال در شعاع 3 کیلومتری خود) را به وی نمایش بدهد. آنگاه مشتری با رویت تاکسی و لمس آیکون تاکسی در نقشه اطلاعات تماس وی را از سرور میگیرد و میتواند با تاکسی مورد نظر خود تماس گرفته و به آسانی آن را رزرو نماید.
.4 تابع radius
این تابع با انجام مراحل زیر کلیهی نقاطی راکه در فاصلهی شعاعی از یک نقطه در نقشه هستند، مییابد. الف- فیلتر نمودن دادههای پایگاه داده و کاهش دادههای که به فرآیند ارزیابی نقاط وارد خواهندشد.
· برای تعیین مرزی جهت فیلتر نمودن دادهها، باید 4 نقطه را که در شعاع مشخصی از سمت شمال، جنوب، شرق و غرب نقطهی مرکزی مورد نظر قرار دارند را محاسبه نمود.