سوالات متداول در مورد API ایزوکرونز

چرا می‌توانم تا ۲ ساعت درخواست ایزوکرون برای پیاده‌روی یا دوچرخه‌سواری بدهم، اما رانندگی حداکثر ۱ ساعت مجاز است؟

این محدودیت بر اساس پیچیدگی محاسباتی محاسبات است. یک وسیله نقلیه در مدت زمان مشابه، مسافت بسیار بیشتری نسبت به یک عابر پیاده یا دوچرخه‌سوار طی می‌کند، به این معنی که شبکه جاده‌ای زیربنایی که باید تجزیه و تحلیل شود، به صورت تصاعدی گسترش می‌یابد. رانندگی به حداکثر ۱ ساعت (۳۶۰۰ ثانیه) محدود شده است تا اطمینان حاصل شود که API می‌تواند در یک پنجره همگام سریع و بلادرنگ پاسخی را برگرداند، در حالی که پیاده‌روی و دوچرخه‌سواری تا ۲ ساعت (۷۲۰۰ ثانیه) پشتیبانی می‌شوند.

چگونه می‌توانم ایزوکرون ورودی «رفت و آمد به محل کار» (سفر به یک مقصد) را در مقابل ایزوکرون خروجی (سفر از مبدا) محاسبه کنم؟

هر دو محاسبه ورودی و خروجی در API نسخه ۱ با استفاده از پارامتر travel_direction پشتیبانی می‌شوند:

  • FROM (خروجی): محدوده قابل دسترسی from نقطه مبدا را در محدوده زمانی مشخص شده محاسبه می‌کند. این مورد برای مواردی مانند مناطق تحویل یا پوشش خدمات مناسب است.

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

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

رابط برنامه‌نویسی کاربردی Isochrones به صورت پویا وضوح شبکه محاسبه مکانی خود را بر اساس travel_duration و travel_mode درخواستی تنظیم می‌کند:

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

اگر صرف نظر از مدت زمان، به سطح خاصی از جزئیات نیاز دارید، می‌توانید مقدار اختیاری polygon_fidelity روی HIGH ، MEDIUM یا LOW تنظیم کنید.

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

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

هر حالت سفر دارای آستانه حداکثر فاصله ضربه زدن خاصی است:

  • DRIVE : ۲۰۰ متر (مسیرهای مخصوص عابر پیاده را در نظر نمی‌گیرد).
  • BICYCLE : ۱۸۰ متر.
  • WALK : ۱۵۰ متر.

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

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

این تقریباً همیشه ناشی از عدم تطابق ترتیب مختصات است.

طبق استاندارد GeoJSON (RFC 7946)، رابط برنامه‌نویسی Isochrones مختصات را به ترتیب [longitude, latitude] برمی‌گرداند. با این حال، بسیاری از SDKهای نقشه‌برداری، از جمله API جاوا اسکریپت Google Maps و اجزای مختلف نقشه موبایل، مختصات یا اشیاء LatLng را به ترتیب [latitude, longitude] انتظار دارند.

اگر رندر نقشه شما نادرست است، باید مختصات موجود در فایل GeoJSON را پیمایش کنید و مقادیر را قبل از ارسال به SDK نقشه خود، جابجا کنید.

چرا درون چندضلعی ایزوکرون من «سوراخ‌های» توخالی وجود دارد، و آیا می‌توانم به جای آن یک شکل توپر داشته باشم؟

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

API نسخه ۱ خارجی پارامتری برای حذف خودکار حفره‌ها ارائه نمی‌دهد. اگر برنامه شما به یک مرز ثابت نیاز دارد، به عنوان مثال، برای انجام بررسی‌های مهار نقطه‌ای در چندضلعی، می‌توانید:

  • پارامتر polygon_fidelity را روی MEDIUM یا LOW تنظیم کنید تا الگوریتم را به تعمیم و ادغام روی این شکاف‌های داخلی تشویق کنید.
  • از یک کتابخانه GIS سمت کلاینت (مانند Turf.js) برای تجزیه GeoJSON و استخراج تنها اولین حلقه مختصات (پوسته بیرونی) استفاده کنید و حلقه‌های داخلی بعدی (حفره‌ها) را حذف کنید.

آیا باید گزینه enable_smoothing را برای تحلیل مکانی backend فعال کنم؟

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

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