وب‌سرویس نگاشت نقطه بر نقشه

سرویس Map Matching

سرویس نگاشت نقطه بر نقشه نشان،map matching API

سرویس نگاشت نقطه بر نقشه (Map Matching API) تعدادی نقاط ورودی را به محتمل‌ترین مسیری که این نقاط نشان‌دهنده آن هستند، نگاشت میکند.

شیوه‌ی فراخوانی:
POST:
    https://api.neshan.org/v3/map-matching
Headers:
    Api-Key: YOUR_API_KEY
پارامتر های وروردی در Body ریکوئست ارسالی:
  • path: در بدنه درخواست ارسالی نقاطی که باید به یک مسیر نگاشت شوند. هر کدام از این نقاط با علامت پایپ ( | ) از یکدیگر جدا شده‌اند.مختصات هر نقطه به فرم latitude,longitude باشد.
    حداقل تعداد نقاط ورودی برابر با  2 و پشتیبانی تا بیش از 1000 نقطه در هر رکوئست. ( به منظور استفاده بهینه از این سرویس توصیه می‌شود حداکثر تعداد نقاط خود را در هر درخواست ارسال نمائید )

    در صورتیکه نکات فوق در نحوه ارسال نقاط رعایت نشود خطای 470 برگردانده می‌شود.
            {
    "path": "35.700393,51.33425|35.699708,51.332629|35.699629,51.328615|35.699357,51.328202|35.699536,51.334592|35.699256,51.335387"
}
        
فرمت پاسخ:
            {
    "snappedPoints": [
        {
            "location": {
                "latitude": 35.700393,
                "longitude": 51.33425
            },
            "originalIndex": 0
        },
        {
            "location": {
                "latitude": 35.699708,
                "longitude": 51.332629
            },
            "originalIndex": 1
        },
        {
            "location": {
                "latitude": 35.699629,
                "longitude": 51.328615
            },
            "originalIndex": 2
        },
        {
            "location": {
                "latitude": 35.699357,
                "longitude": 51.328202
            },
            "originalIndex": 3
        },
        {
            "location": {
                "latitude": 35.699536,
                "longitude": 51.334592
            },
            "originalIndex": 4
        },
        {
            "location": {
                "latitude": 35.699256,
                "longitude": 51.335387
            },
            "originalIndex": 5
        }
    ],
    "geometry": "mv{xEafixHt@hAb@bAl@tDN`XJjCHXLCHSFy@QgHQu]TaB`@}@"
}
        
اجزای این پاسخ بصورت زیر می‌باشند:
  • snappedPoints: لیستی از نقاطی است که نقاط ورودی به آنها نگاشت شده‌اند. تعداد این نقاط حداکثر برابر با تعداد نقاط ورودی است. از نقاط ورودی که قابل نگاشت شدن به هیچ مسیری نیستند صرف‌ نظر می‌شود. اجزای هر نقطه به صورت زیر است:هر element به صورت زیر است:
    • location: محل نقطه که با دو مقدار latitude و longitude مشخص می‌شود
    • originalIndex: اندیسی است که مشخص میکند این نقطه نگاشت کدام یک از نقاط ورودی است. شماره اندیس‌ها از 0 شروع میشود و برای n ورودی حداکثر n-1 است.
  • geometry: مسیر به صورت Encoded Polyline که از نقاط نگاشت شده عبور می‌کند.

نکته: در صورتی که تعداد زیادی از نقاط قابلیت نگاشت شدن نداشته باشند خطای 404 برگردانده می‌شود.