1.0.6 • Published 2 years ago
@mapbox/mapbox-file-sniff v1.0.6

Mapbox File Sniff 
Node module that returns a spatial filetype and protocol.
File types:
- Zipped shapefile:
zip - Unziped shapefile:
shp - GPX:
gpx - KML:
kml - GeoJSON:
geojson - GeoTIFF:
tif - Zipped GeoTIFF:
tif - Mbtiles:
mbtiles - TileJSON:
tilejson - Serialtiles:
serialtiles - tm2z:
tm2z - csv:
csv
Protocols (matching tilelive protocols):
omnivore:tilelive-omnivorembtiles:node-mbtilestilejson:node-tilejsonserialtiles: special casetm2z: tilelive-vector
Install
With npm:
npm install @mapbox/mapbox-file-sniffUsage
var sniffer = require('@mapbox/mapbox-file-sniff');Javascript
fromBuffer(Buffer) - Sniff a file from a buffer.
var buffer = fs.readFileSync('path/to/data/file.geojson');
sniffer.fromBuffer(buffer, function(err, info) {
if (err) throw err;
console.log(info);
// {
// protocol: 'omnivore:',
// type: 'geojson'
// }
});fromFile(String) - Sniff a file from a file path.
var file = './path/to/data/file.geojson';
sniffer.fromFile(file, function(err, info) {
if (err) throw err;
console.log(info);
// {
// protocol: 'omnivore:',
// type: 'geojson'
// }
});CLI
$ mapbox-file-sniff path/to/data/file.geojson
# {"protocol":"omnivore:","type":"geojson"}
$ mapbox-file-sniff path/to/data/file.geojson --type
# geojson
$ mapbox-file-sniff path/to/data/file.geojson --protocol
# omnivore:Tests
Full test suite:
npm test