parse-grid-bench
v1.0.2
Published
Parses grid path finding benchmark data
Downloads
29
Maintainers
Readme
parse-grid-bench
Parses the data files from Nathan Sturtevant's grid path finding benchmark.
Example
var fs = require('fs')
var path = require('path')
var imshow = require('ndarray-imshow')
var parseMap = require('../map')
var parseScen = require('../scenario')
//Read in data
var mapStr = fs.readFileSync('./maps/bg512/AR0011SR.map', 'utf-8')
var scenStr = fs.readFileSync('./scenarios/bg512/AR0011SR.map.scen', 'utf-8')
console.log(parseScen(scenStr))
imshow(parseMap(mapStr))
Output:
[ { bucket: 61,
map: 'maps/bgmaps/AR0011SR.map',
width: 512,
height: 512,
srcX: 210,
srcY: 395,
dstX: 87,
dstY: 201,
length: 244.95 },
{ bucket: 33,
map: 'maps/bgmaps/AR0011SR.map',
width: 512,
height: 512,
srcX: 244,
srcY: 370,
dstX: 359,
dstY: 376,
length: 132.4 },
...
]
Install
npm i parse-grid-bench
API
var map = require('parse-grid-bench/map')(mapStr)
Parses a map file from a string
mapStr
is a string containing the map data
Returns An ndarray representing the map data. Each entry in the map file has the following meaning:
0
free terrain1
impassable terrain/obstacle2
swamp3
water
var scen = require('parse-grid-bench/scenario')(scenStr)
Parses a scenario file.
scenStr
is a string containing the scenario
Returns An array of scenario data. Each scenario has the following properties:
bucket
A random number, ignore itmap
A path to the map data for the scenario.width
the width of the map data in themap
stringheight
the height of the map data in themap
stringsrcX
the start X positionsrcY
the start Y positiondstX
the goal X positiondstY
the goal Y positionlength
the optimal path length, assuming diagonal motion allowed
License
(c) 2015 Mikola Lysenko. MIT License