سرویس مسیریابی فروشنده دوره گرد - TSP (Traveling Salesman Problem)
این سرویس یک مشکل معروف و قدیمی بنام فروشنده دوره گرد را حل می کند. زمانیکه شخصی مانند مسئول تحویل بستهها با هر وسیله نقلیه (وانت، موتور، خودروی معمولی، …)، بیش از 1 مقصد داشته باشد، این سرویس به کمک الگوریتم هوش مصنوعی و پردازش تمام حالات ممکن، بهترین و بهینه ترین ترتیب مقاصد را به شما پیشنهاد میدهد. بعبارتی ترتیبی که مقاصد باید طی شوند پردازش نموده و به نمایش میگذارد.
فهرست مطالب این صفحه
شیوهی فراخوانی:
GET:
https://api.neshan.org/v3/trip?parameters
Headers:
Api-Key: YOUR_API_KEY
پارامتر های وروردی:
- waypoints: مختصات نقاط مورد نظر برای حل مساله فروشنده دوره گرد. این نقاط باید صورت
latitude,longitude
باشند که با کاما (,) از یکدیگر جدا شدهاند. هر نقطه باید با علامت پایپ ( | ) از نقطه دیگر جدا شود. - roundTrip: این پارامتر اختیاری است و مشخص میکند که آیا سفر به نقطه شروع باز میگردد یا خیر. مقدار آن به صورت
true,false
میباشد، پیش فرض آنtrue
است. - sourceIsAnyPoint: این پارامتر اختیاری است و مشخص میکند که آیا مبدا میتواند هر نقطهای
true
باشد، یا باید اولین نقطه باشدfalse
پیش فرض آنtrue
است. - lastIsAnyPoint: این پارامتر اختیاری است و مشخص میکند که آیا مقصد میتواند هر نقطهای
true
باشد، یا باید آخرین نقطه باشدfalse
پیش فرض آنtrue
است.
This request is not supported
خواهد داد.
roundTrip | sourceIsAnyPoint | lastIsAnyPoint |
---|---|---|
false | true | false |
false | false | false |
رمزگذاری آدرس اینترنتی :
بعضی از حروف و کاراکترها نمیتوانند بصورت مستقیم در آدرس قرار بگیرند زیراکه این کاراکترها دارای معانی خاص خود هستند به عنوان مثال کاراکتر (=) برای جداسازی کلید و مقدار آن کلید مورد استفاده قرار میگیرد از این رو در نحو نوشتاری عمومی آدرس های اینترنتی رمزگذاری مطرح شد که این مشکل را به صورت عمومی حل کند .
بعضی از کاراکترهای خاص و معادل رمزگذاری شده آن ها :
معادل رمزگذاری | کاراکتر |
%20 | Space |
%22 | “ |
%23 | # |
%7C | | |
%25 | % |
مستندات و کتابخانه ها :
- مستندات گوگل
- ساخت یک پارامتر موفق UrlEncode
- کتابخانه ها و توابع برای زبان ها (جاوا ، جاوااسکریپت , Php)
فرمت پاسخ:
{
"points": [
{
"name": "محقق امین",
"location": [
35.725682,
51.49544
],
"index": 0
},
{
"name": "فردوسی",
"location": [
35.715012,
51.499415
],
"index": 1
},
{
"name": "توحید",
"location": [
35.751292,
51.538933
],
"index": 2
},
{
"name": "جلیل آباد",
"location": [
35.691695,
51.391455
],
"index": 3
},
{
"name": "پیامبر",
"location": [
35.737673,
51.321258
],
"index": 4
},
{
"name": "مجموعه ورزشی آزادی",
"location": [
35.729842,
51.265652
],
"index": 5
}
]
}
اجزای این پاسخ بصورت زیر میباشند:
- points: لیست نقاط ورودی که به ترتیب پاسخ مساله مرتب شدهاند. هر نقطه شامل اطلاعات زیر است:
- name: نام نزدیکترین معبر به آن نقطه
- location: مختصات نقطه به صورت
latitude,longitude
- index: نشان دهنده ترتیب نقاطی است که در ورودی سرویس ارسال شده است.
بازتاب: شروع با نقشه وب – پلتفرم نقشه نشان