@mapbox/mapbox-file-sniff

Detects type of spatial file

Stats

StarsIssuesVersionUpdatedCreatedSize
@mapbox/mapbox-file-sniff
1421.0.5a year ago5 years agoMinified + gzip package size for @mapbox/mapbox-file-sniff in KB

Readme

Mapbox File Sniff Build Status

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):

Install

With npm:

npm install @mapbox/mapbox-file-sniff

Usage

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

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.