1.0.6 • Published 9 months ago

@mapbox/mapbox-file-sniff v1.0.6

Weekly downloads
80
License
-
Repository
github
Last release
9 months ago

npm.io

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