mapbox-file-sniff
v0.5.3
Published
Detects type of spatial file
Downloads
57
Readme
Mapbox File Sniff
Node module that returns spatial filetype.
Install
With npm:
npm install -g mapbox-file-sniff
Javascript example
var filesniffer = require('mapbox-file-sniff');
var buffer = fs.readFileSync('path/to/data/file.geojson');
filesniffer.sniff(buffer, function(err, filetype){
console.log(filetype); // => 'geojson'
});
filesniffer.waft(buffer, function(err, protocol) {
console.log(protocol); // 'omnivore:'
});
filesniffer.quaff('path/to/data/file.geojson', true, function(err, protocol) {
console.log(protocol); // => 'geojson'
});
CLI example
$ mapbox-file-type path/to/data/file.geojson
# geojson
$ mapbox-file-protocol path/to/data/file.geojson
# omnivore:
buffer
: Buffer object of file contents (at least length 300)
API
sniff(buffer, callback)
Returns a string
for the following filetypes:
- Zipped shapefile:
zip
- Unziped shapefile:
shp
- GPX:
gpx
- KML:
kml
- GeoJSON:
geojson
- GeoTIFF:
tif
- Mbtiles:
mbtiles
- TileJSON:
tilejson
- Serialtiles:
serialtiles
- tm2z:
tm2z
- csv:
csv
waft(buffer, callback)
Returns a string
for the following tilelive protocols:
omnivore:
tilelive-omnivorembtiles:
node-mbtilestilejson:
node-tilejsonserialtiles
: special casetm2z
: tilelive-vector
quaff(filepath, protocol, callback)
A wrapper around waft
and sniff
that lets you pass in a file path (read as a buffer) and protocol to either return the protocol (waft) or the file type (sniff).
Tests
Full test suite:
npm test
Run an individual test:
tape test/name.of.test.js