• 2 نقشه GIS را برای ناوبر خود دانلود کنید. "2GIS" یک نقشه و فهرست الکترونیکی در یک گوشی هوشمند است. ورودی ساختمان، نمودارها و اطلاعات تماس

    آیا اغلب به دور دنیای عظیم و بسیار زیبای ما سفر می کنید؟ اگر بله، پس توصیه می کنیم 2GIS: کتاب مرجع و ناوبر را برای اندروید دانلود کنید. به لطف این اپلیکیشن هرگز گم نخواهید شد و بدون هیچ مشکلی می توانید مکان مناسب را پیدا کنید. علاوه بر این، می توانید تعداد زیادی شهر را نه تنها در کشوری که در آن زندگی می کنید، بلکه فراتر از مرزهای آن باز کنید. بسیاری قبلاً متوجه شده اند که این برنامه نه تنها یک کتاب مرجع، بلکه یک ناوبر جالب است که بسیاری از ساکنان سیاره ما دوست دارند از آن استفاده کنند. به لطف این اپلیکیشن می‌توانید بدون هیچ مشکلی در تاکسی کار کنید، زیرا همه خیابان‌ها در اینجا گیر کرده‌اند و زمان بسیار کمی برای یافتن آن‌ها صرف می‌شود، شما می‌توانید از یک نقطه شهر به نقطه‌ای دیگر از شهر بروید چند دقیقه علاوه بر این، از زمان سفر، جستجوی شماره تلفن شرکت مورد نظر و یا حتی برخی اطلاعات مهم دیگر مطلع خواهید شد. هر برنامه کاربردی چنین عملکردهای کاربر گسترده ای را ارائه نمی دهد. می توانید کتاب 2GIS: مرجع و ناوبر اندروید را به صورت کاملا رایگان و در هر زمان دانلود کنید. این برنامه را می توان هم در دستگاه تلفن همراه و هم در تبلت دانلود کرد.

    در هر شهری قدم بزنید

    ویژگی منحصر به فرد این برنامه عدم نیاز به اینترنت است. شما باید برنامه را دانلود کنید، آن را نصب کنید، چندین نقشه از شهرها یا کشورهای مختلف را به طور همزمان دانلود کنید و سپس به سادگی شهر و مکان های مورد نظر را انتخاب کنید. با تشکر از برنامه، شما می توانید مسیر بهینه را بدون هیچ مشکلی بسازید. از نقطه A به نقطه B می توانید با ماشین خود، پیاده و یا با وسایل نقلیه بروید. تمام اطلاعات لازم در برنامه ارائه شده است و به احتمال زیاد برای بسیاری از افراد مهم است. هر مرکز تجاری حتی به صورت طبقه ارائه می شود. چه کسی فکرش را می کرد که یکی از توسعه دهندگان به فکر ساخت چنین برنامه جالبی باشد دانلود کتاب 2GIS: مرجع و ناوبر برای اندرویدو شروع به استفاده از آن کنید. سازندگان نقشه های زیادی را گنجانده اند، بنابراین یافتن شهر مناسب برای شما سخت نخواهد بود. شما می توانید در هر کشوری باشید، اما همچنان باید از یک برنامه استفاده کنید، زیرا همه چیز اینجاست. این برنامه راحت بود، بسیاری از مردم آن را دوست دارند. امیدواریم حتما به شما هم کمک کند. آن را امتحان کنید و نظرات خود را در مورد این برنامه برای اندروید بنویسید.

    برنامه 2GIS اکنون دارای یک ناوبر است. ما یاد گرفته‌ایم که در امتداد یک مسیر رانندگی کنیم، مانورهای صوتی انجام دهیم، مسیر را به‌طور خودکار تنظیم کنیم، زمان سفر را محاسبه کنیم، کاربر را با در نظر گرفتن نرده‌ها و موانع به سمت ورودی ساختمان یا سازمان راهنمایی کنیم - و همه اینها در یک محیط آفلاین صادقانه. . ما مدت‌هاست که ترافیک (مگر نیاز به اینترنت)، پل‌های باز و خیابان‌های بسته را در نظر می‌گیریم. در حال حاضر، ناوبر ما دارای حداقل مورد نیاز است. کمی بعد، به آن آموزش می‌دهیم که در مورد سرعت‌های بیش از حد بالا، سرعت‌گیرها و دوربین‌های ترافیک هشدار دهد، حالت شب را تنظیم کند و مسیرها را در جاده‌های عوارضی و خاکی اختیاری کند. برای استفاده از آن، باید 2GIS را در گوشی هوشمند خود به روز کنید یا آن را از AppStore یا Windows Store دانلود کنید. برای اندروید، به‌روزرسانی به تدریج و از 22 آگوست منتشر می‌شود (تا سپتامبر در دسترس همه مخاطبان قرار خواهد گرفت).

    و امروز به شما خواهیم گفت که چگونه ناوبر 2GIS موقعیت ماشین را پیش بینی می کند و فلش را به آرامی در طول مسیر حرکت می دهد. از این گذشته ، این کیفیت هدایت کاربر در طول مسیر است که ارگونومی رابط هر ناوبر مدرن ، سهولت جهت یابی روی زمین و به موقع بودن مانورها را تعیین می کند.

    در بیشتر مواقع، راننده یک خودرو مجبور به نظارت بر جاده است، بنابراین حتی یک نگاه سریع به صفحه نمایش یک دستگاه با برنامه ناوبری برای به دست آوردن دقیق ترین و به موقع ترین اطلاعات در مورد موقعیت مکانی خود نسبت به مسیر و اشیاء اطراف این عملکرد به ظاهر ساده نیازمند حل بسیاری از مشکلات فنی برای پیاده سازی است. برخی از آنها را در نظر خواهیم گرفت.

    نشانگر GPS و مسیر

    برای نشان دادن موقعیت کاربر بر روی نقشه، بسیاری از ناوبرها (و ما نیز از این قاعده مستثنی نبود) از یک نشانگر GPS مخصوص به شکل یک سر پیکان یا به سادگی یک مثلث استفاده می کنند که به طور مستقیم جهت حرکت را نشان می دهد. علاوه بر این، نشانگر باید به وضوح روی نقشه قابل مشاهده باشد، بنابراین رنگ آن معمولاً با پس زمینه بسیار متفاوت است، لبه ها علاوه بر آن مشخص می شوند و غیره.

    در ساده ترین حالت، می توانید موقعیت دستگاه را روی زمین با خواندن مختصات از یک سنسور GPS و قرار دادن یک نشانگر در مکان مربوطه روی نقشه نشان دهید. در حال حاضر در اینجا ما با اولین مشکل روبرو هستیم - خطای اندازه گیری، که حتی در شرایط یک سیگنال خوب به راحتی می تواند به 20-30 متر برسد.

    برای پاسخ به سوال رایج "من کجا هستم؟" این روش نمایش کاملاً کافی خواهد بود، به خصوص اگر یک دایره دقت در اطراف نشانگر با شعاع برابر با تخمین خطا رسم کنید. با این حال، برای ناوبری باید چیز بهتری پیدا کنید، زیرا راننده ای که در امتداد خیابان شهر حرکت می کند، بعید است که از نشانگر GPS واقع در خانه همسایه یا، حتی بدتر، در برخی از گذرگاه های داخل بلوک راضی باشد.

    مسیری که توسط برنامه تا نقطه مقصد ساخته شده و همیشه در اسکریپت ناوبری وجود دارد به حل مشکل کمک می کند. با کمک برخی ترفندها، می‌توانیم یک نقطه از نقشه را به مسیر "کشش" کنیم و مقداری از خطای اندازه‌گیری سنسور GPS را برطرف کنیم. در یک تقریب اول، جاذبه را می توان به عنوان طرح ریزی یک نقطه بر روی یک خط مسیر در نظر گرفت. در نظر گرفتن تفاوت های ظریف و همچنین روش های تشخیص خروج از مسیر، متأسفانه، خارج از محدوده این مقاله است.

    با اتخاذ تکنیک جذب نشان داده شده، می توانیم از مختصات جغرافیایی دو بعدی (طول-طول یا هر نوع دیگری) انتزاع کنیم و به یک مختصات یک بعدی برویم - جابجایی نسبت به ابتدای مسیر، اندازه گیری شده، به عنوان مثال، در متر این انتقال هم مدل های نظری و هم محاسبات انجام شده بر روی دستگاه های کاربر را ساده می کند.

    نمایش موقعیت جغرافیایی در طول زمان

    ماهیت گسسته داده های دریافتی از سنسور GPS مشکل دیگری در هنگام اجرای هدایت مسیر کاربر است. در حالت ایده آل، مختصات یک بار در ثانیه به روز می شوند. بیایید چندین گزینه برای نمایش موقعیت جغرافیایی به موقع در نظر بگیریم و مناسب ترین مورد را برای وظایف خود انتخاب کنیم.

    1. ساده ترین راه این است که با دریافت هر بار خواندن جدید از سنسور، فوراً به مسیر بروید و مکان مربوطه را روی نقشه نمایش دهید. از جمله مزایا، لازم به ذکر است که سهولت استثنایی اجرا، دقت بالا، به یک معنا (در نهایت، در اینجا ما به سادگی داده های ماهواره را بدون ایجاد تغییر جدی در آنها نمایش می دهیم) و حداقل پیچیدگی محاسباتی. اشکال اصلی این است که نشانگر در این مورد به معنای معمول در سراسر نقشه حرکت نمی کند، بلکه از نقطه ای به نقطه دیگر "تلپورت" می کند. در سناریوی ناوبری اصلی، دوربین (ناظر مجازی اصطلاحی از حوزه گرافیک کامپیوتری است) به یک نشانگر GPS گره خورده است، بنابراین چنین انتقال‌هایی از راه دور منجر به «پیمایش» شدید نقشه در طول مسیر می‌شود و در نتیجه، به سرگردانی راننده، به ویژه در سرعت های بالا، زمانی که خودرو فاصله قابل توجهی را بین خوانش موقعیت جغرافیایی طی می کند. هدف ما کمک به کاربر است، نه اینکه او را گیج کنیم، بنابراین این نقص در حال حاضر برای حذف این گزینه کافی است.

    تنها راه برای جلوگیری از انحراف این است که نشانگر GPS را به آرامی و بدون «انتقال از راه دور» حرکت دهید، به این معنی که باید آن را خیلی بیشتر از زمانی که خوانش موقعیت جغرافیایی دریافت می‌شود جابه‌جا کنید. برای اطمینان از چنین حرکتی، لازم است به نحوی نقاط میانی بین قرائت های واقعی از سنسور محاسبه شود و از آنها تا دریافت قرائت بعدی استفاده شود. رویکرد خاص برای محاسبه این نقاط میانی ارزش توجه ویژه را دارد، زیرا در نهایت بر ارگونومی کلی برنامه ناوبر تأثیر زیادی خواهد گذاشت.

    2. راه دوم برای نمایش مکان کاربر با واضح ترین رویکرد برای ایجاد نقاط میانی مرتبط است - درون یابی بین آخرین قرائت های واقعی GPS. نکته این است که نشانگر را از نمونه ماقبل آخر به آخرین نمونه برای مدت زمان مشخصی منتقل کنید، با استفاده از یکی از توابع ریاضی شناخته شده، نقاط میانی را با فرکانس مورد نیاز محاسبه کنید (ساده ترین گزینه درون یابی خطی است). استفاده از ناوبر به این روش بسیار راحت تر است، اما معایبی نیز دارد.

    یکی از بی ضررترین آنها نیاز به تنظیم زمان درونیابی از قبل است. تنظیم آن روی یک ثانیه فقط در حالت ایده آلی که در بالا ذکر شد، به خوبی کار می کند، زمانی که این مدت زمانی است که بین خواندن GPS می گذرد. اگر زمان کمتری بگذرد، مهم نیست، می توانید به سادگی از موقعیت فعلی به یک هدف جدید حرکت کنید. اما اگر بیشتر باشد، نشانگر باید ثابت بماند و منتظر مختصات جدید از سنسور باشد، اگرچه ممکن است خودروی کاربر در این زمان در حال حرکت باشد.

    مشکل جدی تری وجود دارد. در لحظه ورود نمونه جدید، نشانگر در بهترین حالت در نقطه واقعی قبلی است. از دید کاربر، خطای موقعیت یابی دیگری را معرفی می کنیم که بزرگی آن کمتر از مسافت طی شده توسط خودرو در فاصله زمانی بین خواندن ها نیست. در سرعت 100 کیلومتر در ساعت، این مقدار تقریبا به 28 متر می رسد که همراه با خطای احتمالی اندازه گیری، اطلاعات ارائه شده به کاربر را به زبان ساده غیر قابل اعتماد می کند.

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

    3. با در نظر گرفتن نیازهای نوظهور برای دقت موقعیت یابی، شایان ذکر است که اکنون ما ملزم هستیم، اندکی قبل از ورود GPS جدید، نشانگر را در نقطه ای تا حد امکان نزدیک به این قرائت جدید قرار دهیم. یعنی در اصل نگاه کردن به آینده، حتی اگر برای مدت کوتاهی باشد. اگرچه با اختراع ماشین زمان همه چیز در حال حاضر برای بشریت بسیار بد به نظر می رسد، اما هنوز برای ما رستگاری وجود دارد. حرکت خودرو بی اثر است، بنابراین سرعت و جهت حرکت آن نمی‌تواند فوراً تغییر کند و در این صورت می‌توانیم با دقت پیش‌بینی کنیم که کاربر در فاصله بین آخرین مرجع موقعیت و آینده کجا خواهد بود. اگر بتوانیم اطمینان حاصل کنیم که خطای پیش‌بینی در بیشتر موارد کمتر از خطای روش دوم خواهد بود، زندگی کاربران ناوبری خود را بسیار آسان‌تر خواهیم کرد.

    به این نوع پیش بینی در علوم دقیق، برون یابی می گویند. این مسیری است که ما در تلاش برای توسعه روش سوم هدایت مسیر که تمام معیارهای ذکر شده در بالا را برآورده می کند، طی خواهیم کرد. در مرحله بعد، ما باید به زبان رسمی‌تری برای ارائه متوسل شویم، زیرا در مورد مدل‌های ریاضی صحبت خواهیم کرد.

    هدایت مسیر با برون یابی موقعیت

    قبلاً ذکر شد که به دلیل جذابیت موقعیت جغرافیایی کاربر به مسیر ناوبری، می توانیم از مختصات جغرافیایی دو بعدی به مختصات یک بعدی - یک افست نسبت به ابتدای مسیر (برای اختصار، در ادامه مطلب توضیح دهیم. از عبارت "offset" بدون توضیح استفاده کنید).

    بیایید داده هایی را که برای ما ارسال می شود به یاد بیاوریم و نماد آن را معرفی کنیم:

    خوانش جابجایی واقعی به دست آمده با کشیدن موقعیت GPS به خط مسیر.
    - زمان رسیدن نمونه های جابجایی مربوطه.
    اینجاست که لیست داده های ورودی به پایان می رسد. شما باید تا حد امکان اطلاعات مفید را از آنها جمع کنید.

    در نهایت، ما باید یک تابع برون یابی جابجایی بسازیم که به دینامیک واقعی خودرو نزدیک باشد و در عین حال حرکت روان نشانگر GPS را در کل مسیرمان تضمین کند (طول آن هیچ تاثیری نخواهد داشت، زیرا اتمام کار route به طور جداگانه پردازش می شود، بنابراین ما به طور مشروط مسیر را بی نهایت در نظر می گیریم). برای اطمینان از صافی بصری خوب، شرایط صافی کافی خواهد بود، یعنی نه موقعیت و نه سرعت نشانگر نباید به طور ناگهانی تغییر کند. به عبارت دیگر، تابع باید همراه با اولین مشتق خود (از این پس - در زمان) در کل دامنه تعریف پیوسته باشد.

    اجازه دهید توجه داشته باشیم که هر نمونه جابجایی واقعی حاوی اطلاعات قابل توجهی جدید در مورد حرکت است. به عنوان مثال، اگر یک ماشین برای مدت طولانی به طور یکنواخت رانندگی می کرد و سپس شروع به شتاب گرفتن کرد، ناوبر تنها با رسیدن شمارش معکوس بعدی قادر به "احساس" شتاب خواهد بود. از آنجایی که ما نمی‌توانیم برای مدت طولانی به آینده نگاه کنیم، همه خوانش‌های GPS جدید دریافتی، در حالت کلی، رفتار عملکرد مورد نظر را تغییر می‌دهند، که به ما اجازه نمی‌دهد آن را در یک عبارت تحلیلی مشخص کنیم. در عوض، بیایید سعی کنیم تابع را به صورت تکه ای تعریف کنیم. برای این کار ابتدا یک مشکل ساده تر را حل می کنیم.

    برون یابی مستقیم به صورت تکه ای

    اجازه دهید یک تابع برون یابی جابجایی بسازیم به طوری که پس از نمونه ام، مقادیر آن مکان واقعی کاربر را برای مدت کافی قبل از رسیدن به نمونه پیش بینی کند. تمام داده های مفیدی که در اختیار داریم، دنباله ای از شمارش تا - شامل، همراه با زمان دریافت هر یک از آنها است.

    با یادآوری تفاوت های متناهی، توجه می کنیم که ما این فرصت را داریم که با تقسیم طول قطعه بین آخرین و ماقبل آخر جابجایی بر فاصله زمانی مربوطه، سرعت ماشین را در لحظه لحظه تخمین بزنیم:


    ، تخمین سرعت از نمونه ها کجاست و مشتق تابع برون یابی است که می خواهیم بسازیم.

    به طور مشابه برای مشتقات مرتبه بالاتر - شتاب، حرکت تند و غیره:


    همانطور که از این فرمول ها مشاهده می شود، برای به دست آوردن تخمینی از مشتقات فزاینده جابجایی، لازم است نمونه های بیشتری را قبل از فرمول فعلی در نظر بگیریم: برای تعیین سرعت، دو نمونه برای شتاب مورد نیاز است. - سه، برای تند و سریع - چهار، و غیره. از یک طرف، هر چه ویژگی های پویایی حرکت را در پیش بینی خود در نظر بگیریم، توانایی مدل سازی بیشتری را به دست خواهیم آورد. از سوی دیگر، اطلاعات مفید موجود در قرائت‌های «قدیمی‌تر» به‌طور چشمگیری ارتباط خود را از دست می‌دهد. به عنوان مثال، این واقعیت که ما یک دقیقه پیش با سرعت 30 کیلومتر در ساعت رانندگی می‌کردیم، در لحظه کنونی به هیچ وجه به ما کمک نمی‌کند: از آن زمان می‌توانستیم چندین بار شتاب بگیریم، سرعت خود را کم کنیم یا حتی توقف کنیم. به همین دلیل، برآورد مشتقات به طور فزاینده بالاتر از جابجایی بیشتر و دورتر از واقعیت می شود. علاوه بر این، سهم خطا در محاسبه یک مشتق خاص به مدل تحلیلی کلی جابجایی نیز با افزایش ترتیب این مشتق افزایش می‌یابد. اگر چنین است، پس با شروع از یک نظم خاص، مشخصه های دینامیکی که با استفاده از تفاوت های محدود تخمین زده می شوند، به جای اصلاح، فقط مدل ما را خراب می کنند.

    بر اساس آزمایش‌های دنیای واقعی، به نظر می‌رسد که تخمین ناگهانی، به‌ویژه در موارد کیفیت سیگنال GPS «متوسط»، در حال حاضر به اندازه‌ای بد است که بیشتر از اینکه مفید باشد، ضرر دارد. از طرف دیگر خوشبختانه متداول ترین سناریوهای دینامیک خودرو سکون، حرکت یکنواخت و یکنواخت هستند که به ترتیب با معادلات چند جمله ای درجه 0، 1 و 2 در زمان توصیف می شوند.

    به نظر می رسد که مدل درجه دوم حرکت متغیر یکنواخت برای توصیف بیشتر موقعیت های جاده برای ما کاملاً کافی خواهد بود و برای آن ما فقط تخمین های کم و بیش با کیفیتی از ویژگی های دینامیکی - سرعت و شتاب - داریم. با یادآوری دوره فیزیک مدرسه، می توانیم تقریباً یک عبارت تحلیلی برای تابع برون یابی مورد نظر ترسیم کنیم:


    تنها یک مرحله باقی مانده است: دامنه تعریف از لحظه زمان شروع می شود، بنابراین راحت تر است که زمان را در محاسبات از همان لحظه شمارش کنیم.

    در نتیجه، تابع به شکل زیر خواهد بود:


    ویژگی قابل توجه این تابع صاف بودن آن در کل دامنه تعریف است که همانطور که قبلاً ذکر شد در فرمول مشکل ما گنجانده شده است.

    حال بیایید چندین نمونه جابجایی واقعی از دستگاه بگیریم و سعی کنیم آنها را در هر بازه برون یابی کنیم (اگرچه قبلا مشخص شده بود، در لحظه رسیدن نمونه بلافاصله به تابع بعدی می رویم، زیرا داده های جدیدتری دارد):

    اجازه دهید رزرو کنیم که برای وضوح، داده ها با یک سیگنال GPS با کیفیت نسبتا پایین گرفته شده است، اما وضعیت در شکل کاملا واقعی است و می تواند برای هر کاربری رخ دهد.

    صاف بودن هر چند جمله ای برون یابی به وضوح در بازه زمانی مربوطه قابل مشاهده است، اما مشکل این است که در محل اتصال فواصل، منحنی خاکستری عمومی دچار ناپیوستگی هایی می شود که گاهی کاملاً قابل توجه است.

    بیایید بزرگی شکاف در لحظه ی زمانی را خطای برون یابی بنامیم. در واقع، این مقدار است که نشان می دهد هر یک از پیش بینی های ما در پایان بازه زمانی خود چقدر نادرست است. می توانید مقدار خطا را با استفاده از عبارت زیر محاسبه کنید:


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

    روش تصحیح خطا

    مطابق با نماد انتخاب شده در بالا، می‌توانیم به طور غیررسمی بگوییم که تا زمانی که یک مرجع جدید می‌رسد، ما در نقطه‌ای هستیم، یعنی. با مقدار خطای انباشته شده توسط چند جمله ای برون یابی قبلی نسبت به موقعیت واقعی جابجا شده است.

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

    بدیهی است که اگر تغییر لحظه ای در مقدار غیرقابل قبول باشد، تصحیح خطا مدتی غیر صفر زمان می برد. همچنین واضح است که برای جلوگیری از انباشته شدن خطا، توصیه می شود قبل از رسیدن شمارش بعدی، تصحیح خطا را کامل کنید.

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

    اگر دوباره به زبان غیررسمی صحبت کنید، برای تصحیح یک خطا، باید به آرامی از یک نقطه به چند جمله ای برون یابی بعدی - یک منحنی، "برگردید".

    برای توصیف فرآیند تصحیح خطا، معرفی توابع تصحیح منفرد به گونه ای راحت است که در لحظه ای از زمان، تابع تصحیح مربوطه مقدار را به خود بگیرد و از لحظه ای که برابر با صفر می شود شروع می شود:


    اگر چنین تابع تصحیحی را با چند جمله ای درونیابی مربوطه اضافه کنیم، در نقاط کلیدی تصحیح خطای افست را ارائه خواهیم کرد:
    اجازه دهید تابع جابجایی تنظیم شده را مجموع چند جمله ای برون یابی و تابع تصحیح مربوطه بنامیم:
    توجه داشته باشید که به لطف ویژگی های توابع تصحیح شرح داده شده در بالا، ما یک ویژگی بسیار مهم از توابع به دست آورده ایم - آنها قبلا "با افست" دوخته شده اند، یعنی. وقفه در نقاط را تحمل نکنید:
    مجموعه توابع تصحیح شده می تواند وانمود کند که مدل جابجایی مطلوب است که در همه زمان ها تعریف شده است، اگر نه برای یک شرایط: علیرغم عدم وجود ناپیوستگی های جابجایی در نقاط، مشتقات این مجموعه از توابع در حالت کلی هنوز ناپیوسته هستند.

    به طور خاص، ما علاقه مند به ناپیوستگی اولین مشتق - سرعت هستیم، زیرا الزامات اولیه شامل شرایط همواری جهانی است، یعنی. شرط تداوم جهانی سرعت با در نظر گرفتن این موضوع، لازم است الزامات توابع تصحیح را گسترش دهیم تا مشتقات توابع تصحیح شده را نیز "دوخت" کنیم:


    این معادله شرطی برای صاف بودن مجموعه توابع تصحیح شده است. با جایگزینی تعریف توابع تنظیم شده در هر دو طرف معادله، دریافت می کنیم
    قبلاً اشاره کردیم که پس از اتمام زمان تصحیح، تابع تصحیح مقادیر صفر می گیرد. بیایید یک نیاز دیگر به تابع تصحیح اضافه کنیم - اجازه دهید مشتق آن نیز پس از اتمام زمان تصحیح، مقادیر صفر بگیرد:
    سپس، با این فرض که زمان تصحیح همیشه کمتر از فاصله بین نمونه‌ها است، می‌توانیم فرض کنیم که مشتق تابع تصحیح تا زمان رسیدن نمونه بعدی صفر خواهد بود. سپس با بازگشت به حالت صافی، دریافت می کنیم:
    بیایید آن را از اینجا بیان کنیم:

    توجه داشته باشید که این تخمینی از سرعت است که با استفاده از تفاوت های محدود انجام شده است، بیایید آن را جایگزین کنیم:


    سمت راست نشان دهنده خطای برون یابی سرعت است - تفاوت بین سرعت به دست آمده از چند جمله ای برون یابی قبلی و سرعت خواندن "واقعی". اکنون می‌توانیم شرایط مرزی توابع تصحیح را کنار هم قرار دهیم:
    آنها را می توان با کلماتی مانند این توصیف کرد: شما باید یک تابع تصحیح را پیدا کنید تا:
    • در ابتدای بازه تصحیح، مقدار آن با خطای برون یابی جابجایی همزمان شد.
    • در ابتدای بازه تصحیح، مقدار مشتق آن با خطای برون یابی سرعت همزمان شد.
    • در پایان بازه تصحیح و بعد، مقدار خود تابع و مشتق آن صفر بود.

    انتخاب یک تابع تصحیح خطا

    شایان ذکر است که به دست آوردن یک عبارت تحلیلی واحد برای توابع تصحیح که دقیقاً چهار شرط فوق را برآورده کند بسیار دشوار است. مشکل در قسمتی از دامنه تعریف است که پس از انقضای زمان تصحیح می آید - شما باید به مقادیر صفر تابع و مشتق آن در کل باقیمانده محور عددی دست یابید. برای ساده‌تر شدن مسئله، دامنه تعریف عبارت تحلیلی مورد نظر تابع تصحیح را به بازه تصحیح کاهش می‌دهیم و پس از حد بالای آن، مقدار تابع و مشتق آن را به طور پیش پاافتاده صفر در نظر می‌گیریم (خوشبختانه در در سطح کد برنامه به دلیل وجود شعب چنین فرصتی داریم).

    به طور رسمی، با در نظر گرفتن این تکنیک، تابع تصحیح قطعه ای بیانی برای بازه تصحیح و ثابت 0 در زیر است، با این حال، اگر شرایط مرزی در نقطه برقرار باشد، هیچ ناپیوستگی در خود تابع اصلاح یا آن وجود نخواهد داشت. مشتق اول از آنجایی که ناپیوستگی مشتقات بالاتر مورد توجه ما نیست (آنها نرمی تابع مورد نظر را از بین نمی برند)، در ادامه به "دم" صفر تابع تصحیح اشاره نمی کنیم و شرایط مرزی را مجدداً در یک فرمول بندی می کنیم. فرم راحت تر:


    بیایید خطای برون یابی سرعت را با:
    حال باید یک عبارت تحلیلی برای . با توجه به الزامات ارگونومیکی برای برنامه، علاوه بر شرایط مرزی، لازم است که عملکرد تصحیح در طول بازه تصحیح تا حد امکان دارای افراط و پیچیدگی کمتری باشد - به طوری که نشانگر GPS "انقباض" نداشته باشد.

    ساده ترین تابعی که این الزامات را برآورده می کند دوباره یک چند جمله ای است - یک چند جمله ای با حداقل درجه ممکن در زمان (از لحاظ نظری، در میان توابع ابتدایی، به عنوان مثال، سینوس نیز ویژگی های مشابهی دارد، اما محاسبه مقدار آن از نظر گران تر است. زمان پردازنده).

    از آنجایی که شرایط مرزی سیستمی از چهار معادله غیر جزئی است، حداقل درجه چند جمله ای که پارامتر کافی برای تابع تصحیح را فراهم می کند، درجه سوم است. با توجه به اینکه هنگام ساخت یک عبارت تحلیلی برای شمارش زمان از لحظه شمارش راحت تر است (دقیقاً مانند تعریف)، چند جمله ای مورد نیاز به شکل زیر خواهد بود:


    با جایگزینی این عبارت در سیستم شرایط مرزی و حل آن با توجه به ثابت ها و , مقادیر زیر را بدست می آوریم:
    در نتیجه، اگر توابع تصحیح را به روش توصیف شده تعریف کنیم، آنگاه توابع تصحیح شده در یک تابع برون یابی واحد ادغام می شوند که همیشه صاف است. ما به دلیل دست و پا گیر بودن آن را کامل بیان نمی کنیم.

    توجه: آخرین عدم دقت در این فرض در هنگام انتخاب زمان تصحیح باقی ماند - استدلال ما بر این شرط بود که همیشه کمتر از فاصله بین خواندن وجود داشته باشد:


    یکی از ویژگی های خوب مدل ساخته شده این است که ما فقط باید به گونه ای انتخاب کنیم که از میانگین زمان بین نمونه ها تجاوز نکند: اگر فواصل فردی کمتر از باشد، بخشی از خطای است که در آن زمان برای اصلاح آن نداشتیم. فاصله زمانی بسیار کوتاه در یکی از موارد زیر اصلاح خواهد شد. برای انجام این کار، کافی است خطای برون یابی را نه از تابع برون یابی معمول، بلکه از تابع تنظیم شده محاسبه کنید:
    شکل زیر نمونه ای از نمودار تابع برون یابی نهایی را نشان می دهد که با استفاده از داده های واقعی ساخته شده است:

    مشکل رسمی حل شده است، منحنی حاصل تمام شرایط مشخص شده را برآورده می کند و بسیار زیبا به نظر می رسد. می توان در این مورد راحت بود، اما ویژگی های دنیای واقعی مشکلات خاصی را برای سیستم ایده آل ساخته شده ایجاد می کند.

    بیایید به برخی از آنها با جزئیات بیشتری نگاه کنیم و این رزرو را ایجاد کنیم که تمام تصمیمات اتخاذ شده در زیر مستقیماً در کد برنامه خارج از مدل ریاضی پیاده‌سازی می‌شوند.

    انطباق مدل ریاضی با شرایط واقعی

    ممنوعیت حرکت نشانگر در جهت مخالف

    در آخرین نمودار می توانید ببینید که در برخی موارد عملکرد شروع به کاهش می کند، حتی زمانی که، طبق اندازه گیری های واقعی، کاربر منحصراً در طول مسیر به جلو رانندگی می کند. این زمانی اتفاق می افتد که پیش بینی ما سرعت حرکت را تا حد زیادی بیش از حد برآورد می کند. از سوی دیگر، در واقعیت، یک خودرو در جهت مخالف تنها به دو دلیل حرکت می‌کند: راننده در واقع خودرو را در دنده عقب قرار داده و به عقب برمی‌گردد (مورد بسیار نادر)، یا یک دور برگردان انجام می‌دهد.

    در صورت چرخش، وضعیت جاده به طور قابل توجهی تغییر می کند، که نیاز به بازسازی مسیر ناوبری دارد. این یک موضوع جداگانه است و در محدوده این مقاله نمی گنجد.

    اگر به طور مستقیم از نتایج برون یابی موقعیت استفاده کنیم، از تمام حرکات نشانگر به سمت ابتدای مسیر، یک اقلیت ناپدید کننده با حرکت واقعی خودرو در همان جهت مطابقت دارد. با توجه به این موضوع، تصمیم گرفته شد که حرکت نشانگر به سمت عقب بدون تغییر مسیر کاملاً ممنوع شود تا کاربران گمراه نشوند.

    توصیف چنین شرط سختی در زبان ریاضی دشوار است، اما پیاده سازی آن در کد برنامه نسبتاً آسان است. برای شروع، اجازه دهید ماهیت گسسته زمان مدل را در نظر بگیریم - با توجه به ویژگی های عملکرد رایانه ها، در هر صورت، نتایج برون یابی را در برخی از نقاط انتخاب شده در زمان دریافت خواهیم کرد.

    اگر چنین است، اطمینان از کاهش نشدن جابجایی برون یابی دشوار نخواهد بود: کافی است مقدار جدید به دست آمده را با مقدار قبلی مقایسه کنید و اگر مقدار فعلی کوچکتر شد، آن را با مقدار قبلی جایگزین کنید. یکی با وجود خام بودن ظاهری این تکنیک، ما نرمی تابع برون یابی را مختل نخواهیم کرد، زیرا برای شروع حرکت به سمت عقب در امتداد یک تابع صاف، ابتدا باید کاملا متوقف شوید.
    در آینده، حالت عملکرد زمانی که مقادیر صحیح ریاضی را با مقادیر قدیمی تر جایگزین می کنیم تا از حرکت به عقب جلوگیری کنیم، حالت توقف اجباری نامیده می شود.

    خطاهای برون یابی بسیار زیاد و فواصل بین نمونه ها بسیار طولانی است

    علیرغم این واقعیت که ما یک تابع کیفی را به یک معنا ساخته ایم، گاهی اوقات خطاهای برون یابی می توانند به مقادیر غیر قابل قبولی برسند. در این موارد، برنامه باید تلاش برای تصحیح خطاها را با استفاده از ابزارهای استاندارد متوقف کند. وضعیت دیگری که در آن داده‌های برون‌یابی شده نامربوط می‌شوند، در صورتی رخ می‌دهد که نمونه افست جدید به دلایلی برای مدت طولانی وارد نشود - توانایی مدل‌سازی از زمان دریافت آخرین نمونه به شدت کاهش می‌یابد. برای جلوگیری از عبور از مرز بین تلاش برای پیش بینی و دروغ های بی شرمانه، اتکا به یک مدل معمولاً بیش از سه ثانیه هزینه ندارد.

    برای سادگی، موقعیت منفی اول را خطای جابجایی غیرقابل اصلاح و دومی را خطای زمانی غیرقابل اصلاح می نامیم.

    ما می توانیم با هر یک از این نوع خطاها به دو روش کار کنیم:

    • وارد حالت توقف اجباری فوق شوید. مزیت این روش این است که حرکت روان نشانگر موقعیت جغرافیایی را بر روی نقشه زمین حفظ می کند. با این حال، هرچه بیشتر در حالت توقف اجباری باشیم، بدتر از موقعیت مکانی واقعی کاربر مطلع می‌شویم.
    • فورا نشانگر GPS را به آخرین مکان مرجع تله پورت کنید. در اینجا، برعکس، ما ارگونومی را به خاطر قابل اعتماد بودن اطلاعات ارائه شده به کاربر قربانی می کنیم.
    برای کاربرد ما، روش اول انتخاب شد، زیرا توجه ویژه ای به نرمی حرکت می شود.

    حالت توقف اجباری طولانی مدت

    هرگونه ورود به حالت توقف اجباری با تولید داده های مکان دقیق تر به منظور جلوگیری از حرکت معکوس نشانگر GPS همراه است. برای اینکه در موارد خاص نامطلوب به کاربر اطلاعات نادرست داده نشود، مدل ما علاوه بر این دارای قابلیت قطع حالت توقف اجباری با "انتقال از راه دور" نشانگر به آخرین موقعیت واقعی پس از مدت زمان مشخص، بدون توجه به دلیل ورود است. حالت (نتیجه ریاضی برون یابی یا خطاهای جبران ناپذیر/زمان) . در این لحظه، حتی نرمی حرکات باید به خاطر "بقایای" دقت قربانی شود.

    نتیجه گیری

    در نتیجه کار انجام شده، ما توانستیم هدایت مسیر را بهبود ببخشیم تا تعادل خوبی بین دقت داده های ارائه شده و ارگونومی بصری نمایشگر آنها ایجاد کنیم. کاربر احساس راحتی خواهد کرد، به خصوص زمانی که داده های باکیفیت از سنسور GPS به دلیل سیگنال خوب دریافت می شود.

    سیستم برون یابی توصیف شده می تواند در برنامه های کاربردی دیگری که از موقعیت جغرافیایی استفاده می کنند استفاده شود. در جایی که مفهوم مسیر و در نتیجه جابجایی نسبت به ابتدای آن وجود ندارد، مدل ریاضی از یک اسکالر یک بعدی را می توان به یک بردار چند بعدی تعمیم داد. پیاده سازی خود مدل در کد در هیچ یک از زبان های برنامه نویسی محبوب مشکلی ندارد - فقط به عملیات ساده حسابی نیاز دارد.

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

    برچسب ها: اضافه کردن برچسب

    2GIS یکی از بهترین برنامه های اندروید است که نقشه های جغرافیایی مناسب را با اطلاعات تماس شرکت ها و لینک های حمل و نقل ارائه می کند. بسیاری از کشورهای جهان، از جمله شهرهای کوچک و کوچک، پشتیبانی می شوند و برنامه تلفن همراه به صورت آفلاین کار می کند.

    اگر می خواهید بهینه ترین مسیر را در یک شهر ناآشنا بسازید، این برنامه به شما کمک می کند و ما نیز توصیه می کنیم دانلود 2GISبه عنوان یک کتاب مرجع خوب با شماره تلفن، آدرس و ساعات کار شرکت ها یا سازمان ها. برای استفاده از ابزار بدون اتصال به اینترنت، کافی است مکان مورد نظر را از قبل در پایگاه داده بارگذاری کنید. شما می توانید این کار را مستقیماً از برنامه انجام دهید، هیچ مشکلی نخواهید داشت. علاوه بر این، برنامه تلفن همراه نه تنها دارای یک رابط کاربری واضح و کاربرپسند است، بلکه حاوی نقشه های با کیفیت و دقیق با اطلاعات بصری واضح است. و شما قادر خواهید بود مسیر را هم با ماشین شخصی و هم با پای پیاده و به عنوان یک برنامه حمل و نقل عمومی ترسیم کنید.

    ویژگی های منحصر به فرد برنامه موبایل:

  • نقشه‌های قابل دسترس و واضح با اطلاعات دقیق درباره شرکت‌های شهر بدون اتصال به اینترنت: ساعات کاری، مخاطبین، آدرس‌ها و عکس‌ها
  • محل سازمان های عمومی در نزدیکی: کافه ها، رستوران ها، سینماها، مغازه ها، تاکسی ها و غیره.
  • ساخت مسیرها با در نظر گرفتن هر نوع حمل و نقل: مترو، ترالی‌بوس، اتوبوس، قطار و حتی اتوبوس رودخانه، یا فقط یک مسیر پیاده روی
  • پیمایش در بزرگترین مراکز خرید و سوپر مارکت ها: نمودار نقشه های طبقه، توالت ها، مناطق غذا و سایر اطلاعات مهم را نشان می دهد.
  • داده های سازمان های خدماتی شما: ارائه دهندگان، بیمارستان ها، دفاتر مسکن و غیره.

    بنابراین، شما هرگز نه تنها در جایی در خیابان گم نمی شوید، توقف خود را از دست نمی دهید یا نوبت خود را از دست نمی دهید، بلکه می توانید به خوبی در داخل ساختمان ها حرکت کنید. به همین دلیل است 2GIS برای اندرویداین بهترین ناوبر و کاوشگر در نظر گرفته می شود که می تواند تمام برنامه های کاربردی دیگر از این نوع را تحت الشعاع قرار دهد. این ابزار می تواند پرس و جوها را به معنای واقعی کلمه درک کند، حتی می توانید نام های محبوب را وارد کنید، برنامه همچنان آنچه را که نیاز دارید پیدا می کند.

  • 2GIS برای اندروید فهرستی بی نظیر از سازمان ها، جاده ها و مسیرهای شهر شماست!

    می توانید 2GIS برای اندروید را به صورت رایگان با نقشه با استفاده از لینک زیر به عنوان یک فایل APK مستقیم یا از طریق فروشگاه گوگل دانلود کنید. پس از نصب اپلیکیشن، شهر مورد نظر را انتخاب و نقشه را دانلود کنید.

    2GIS برای اندروید حاوی اطلاعاتی درباره 273 شهر و 9.2 هزار شهرک واقع در 9 کشور است. در چنین فضای وسیع اطلاعاتی، اطلاعاتی در مورد تقریباً هفت میلیون ساختمان و حتی بیشتر سازمان ها، کافه ها، رستوران ها، پمپ بنزین ها، سینماها و دیگر انواع موسسات خواهید یافت.

    هر کاربر می‌تواند برای هر شرکت نظری بگذارد و انتخاب و نظر دادن درباره مکان را برای سایر بازدیدکنندگان آسان‌تر می‌کند.

    برای سهولت یافتن مکان مورد نظر، Duplicate GIS در اندروید حاوی عکس‌هایی از ساختمان‌هایی است که شرکت‌ها، مکان‌های غذایی یا انواع دیگر شرکت‌ها در آن‌ها قرار دارند. برخی از ساختمان ها به طور ویژه توسط تکنسین ها به صورت سه بعدی ساخته شده اند. اطلاعات ارسال شده در مورد شرکت ها کاملاً رایگان است، شما می توانید نه تنها آدرس مکان، بلکه ساعات کار (و اینکه آیا این مؤسسه در حال حاضر باز است)، شماره تلفن تماس، تصاویر را مشاهده کنید یا نظرات را مشاهده کنید.

    ویژگی های اصلی:

    • فهرست دقیق سازمان ها؛
    • امکان ایجاد مسیرها؛
    • کتابخانه ای از عکس های ساختمان ها، بررسی بیشتر شرکت ها وجود دارد.

    2GIS برای اندروید نوعی پلت فرم معاملاتی است که به فروشندگان و خریداران کمک می کند یکدیگر را پیدا کنند. متخصصان توسعه به طور مرتب پایگاه داده سازمان های میزبان و جدید را به روز و به روز می کنند، شرکت های لازم را حتی برای پرزرق و برق ترین درخواست ها انتخاب و پیدا می کنند و مسیرها را به طرق مختلف ترسیم می کنند تا خریدار مسیر بهینه را برای خود انتخاب کند.

    نقشه‌های خود از 2GIS برای Android سزاوار توجه ویژه هستند: این کار پر زحمت تیم است که در دقیق‌ترین و دقیق‌ترین نقشه شهرها گنجانده شده است، جایی که تمام جزئیاتی که ممکن است مفید باشند تا کوچک‌ترین جزئیات کشیده شده‌اند.

    هنگامی که شی مورد نظر پیدا شد، Duplicate GIS در اندروید نه تنها بهترین مسیر و لیستی از گزینه‌های ممکن را برای رسیدن به مکان ارائه می‌دهد، بلکه ترافیک ترافیک را گزارش می‌کند و اگر با ماشین هستید مسیر انحرافی را پیشنهاد می‌کند. یا سریع ترین نوع حمل و نقل عمومی را انتخاب کنید.

    با 2GIS برای اندروید در هر شهری احساس آرامش و اعتماد به نفس خواهید داشت. اگر در حال رومینگ هستید، نقشه‌های شهری را که در آن می‌روید از قبل دانلود کنید و بدون استفاده از ترافیک موبایل یا حتی وای‌فای، رایگان و بدون مشکل از آن‌ها استفاده کنید. این یک برنامه بسیار راحت، مدرن و چشم نواز است.

    ناوبر کاربردی کوچک 2 GIS.
    در زندگی روزمره، یک ناوبر راحت و قابل حمل ماشین اصلاً غیر معمول نیست. و اکنون توسعه دهندگان در حال ارائه آنالوگ مجازی آن هستند که نصب آن آسان است روی کامپیوتر خانگی، لپ تاپ، ابزار. برنامه با توابع ناوبر 2GIS نامیده می شود.

    علاوه بر مسیرهای بی پایان شهری که در اینجا پست شده است، ابزار هوشمند در صورت درخواست فهرست کاملی از شرکت ها، شرکت ها، سازمان ها، سوپرمارکت های خرده فروشی را ارائه می دهد، مکان دستگاه های خودپرداز خیابان را نشان می دهد و آدرس نزدیک ترین داروخانه ها را نشان می دهد.

    پایه ابزار هوشمند شامل اکثر شهرهای CIS و همچنین کشورهای اروپای قدیمی محبوب برای گردشگران است. در واقع، کاربر رایانه شخصی یک راهنمای مجازی واقعی در مقابل خود دارد که می تواند علاقه مندان به سفر را با جزئیات از جاذبه های محلی هر منطقه مطلع کند. گردشگر با دریافت سریع اطلاعات مفیدی که در لحظه به آن نیاز دارد، در زمان با ارزش خود صرفه جویی خواهد کرد.

    برنامه Navigator روی ویندوز 7، 8، 10، XP کار می کند. یکی از ویژگی های خاص ابزار به روز رسانی مداوم ماهانه نقشه های منطقه است.
    باقی مانده است که اضافه شود - شما می توانید 2 GIS را به صورت رایگان در نسخه روسی دانلود کنید در حال حاضر از طریق لینک مستقیم در وب سایت ما.