@mapbox/mapbox-grid-copy

1.2.5 • Public • Published

mapbox-grid-copy

Copy UTFGrids from mbtiles files to S3

Usage in Javascript

var gridCopy = require('mapbox-grid-copy');
var mbtiles = '/path/to/my.mbtiles';
var s3 = 's3://my-bucket/key/{z}/{x}/{y}';
var options = {};

gridCopy(mbtiles, s3, options, function(err) {
  if (err && err.code === 'EINVALID')
    return console.error('The mbtiles file was invalid');
  if (err && err.code === 'NOGRIDS')
    return console.error('There were no grids in the mbtiles file');
  if (err)
    return console.error(err);
  console.log('Success!');
});

options may include:

  • parts: processing parallelism
  • part: which parallel part to process
  • concurrency: number of concurrent PUT requests to S3
  • batchsize: number of grids to pull from mbtiles into memory at a time

Usage in shell scripts

$ npm install -g mapbox-grid-copy
$ mapbox-grid-copy "/path/to/mb.mbtiles" "s3://my-bucket/key/{z}/{x}/{y}"

You may optionally pass any of the options described via flags. For example:

$ mapbox-grid-copy --parts 12 --part 4 \
    "/path/to/mb.mbtiles" \
    "s3://my-bucket/key/{z}/{x}/{y}"

The script will exit with the following codes:

  • 0: successfully completed or there were no grids to copy
  • 1: an unexpected error occurred
  • 3: the mbtiles file was invalid

Tests

Tests actually put sample grids to S3. Make sure that your shell is authenticated with valid AWS credentials.

You can bring your own bucket by specifying a TestBucket environment variable before running the test script. Otherwise, the script will attempt to put grids to a private Mapbox bucket.

npm test

Readme

Keywords

none

Package Sidebar

Install

npm i @mapbox/mapbox-grid-copy

Weekly Downloads

0

Version

1.2.5

License

ISC

Unpacked Size

137 kB

Total Files

13

Last publish

Collaborators

  • mbx-npm-ci-production
  • mbx-npm-ci-staging
  • mbx-npm-advanced-actions-production
  • mbx-npm-advanced-actions-staging
  • mbx-npm-09-production
  • mbx-npm-08-production
  • mbx-npm-07-production
  • mbx-npm-06-production
  • mbx-npm-05-production
  • mbx-npm-04-production
  • mbx-npm-03-production
  • mbx-npm-02-production
  • mbx-npm-01-production
  • mbx-npm-02-staging
  • mapbox-npm-01
  • mapbox-npm-02
  • mapbox-npm-07
  • mapbox-npm-03
  • mapbox-npm-04
  • mapbox-npm-09
  • mapbox-npm-05
  • mapbox-npm-06
  • mapbox-npm-08
  • mapbox-npm-advanced-actions
  • mapbox-npm-ci
  • mapbox-npm
  • mapbox-admin
  • mapbox-machine-user