Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 

README.md

Shortest-route

Pass a list of cities in a pipe separated format and get the shortest route and the distance corresponding to that route. Shortest route means "shortest possible route that visits each city exactly once and returns to the origin city", so if you are goin to city A and then to city B and then to city C (your input will be A|B|C) then this module will give you the shortest route. For example if you are covering less kilometers between A to C then to B then your shortest route will be A|C|B|A (A to C to B then back to A). I used google distance matrix api to calculate the distance between cities.

Explanation

Calculating the distance between cities provided using google distance matrix api and then calculating all the permutations and the distance of all the permutations. So if you have cities such as A,B and C then:-

A-B B-C C-A (Distances by google matrix api)

ABC, ACB, BAC, BCA, CAB, CBA (all the permutations)

Distance for ABC = A-B-C-A (A to B to C to A)

finally calculate the distance of each permutation and whichever is the shortest one will be your shortest route.

Installation

npm install shortest-route;

Quick Start

var shortestRoute = require("shortest-route");
var cityList = "A|B|C"
shortestRoute.getShortPath(cityList, function(json){
    console.log("data="+json);
});

Output:-

data = {
    "STATUS":"SUCCESS",
	"route":"A|C|B|A",
	"distance":XXX
}

and in case of an Error (Most probably a bad request)
data={
	"STATUS":400,
	"route":null,
	"distance":null
}

Demo

A simple demo http://short-route-demo.herokuapp.com/. Enter city names and get the shortest path and distance related to that path.

Licence

Copyright (c) 2014, Tarun Chaudhary (http://curioustechie.in)

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

About

Pass a list of cities name in a pipe separated format and get the shortest route.

Resources

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.