# mobile-map-builder-cli

> An application that helps you build map data (MBTiles & GeoPackages) from Tile Servers.

Latest version **1.8.1** (published 2017-10-24) · 0 weekly downloads

## Install

```sh
npm install mobile-map-builder-cli
pnpm add mobile-map-builder-cli
yarn add mobile-map-builder-cli
bun add mobile-map-builder-cli
```

Provides the command `mobile-map-builder`.

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.8.1 |
| Published | 2017-10-24 |
| First published | 2017-02-01 |
| Weekly downloads | 0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 12 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Denis Carriere |
| Maintainers | deniscarriere |

## Links

- npm: https://www.npmjs.com/package/mobile-map-builder-cli
- npm.io page: https://npm.io/package/mobile-map-builder-cli

## Dependencies (12)

- [meow](https://npm.io/package/meow.md) *
- [axios](https://npm.io/package/axios.md) *
- [colors](https://npm.io/package/colors.md) *
- [mkdirp](https://npm.io/package/mkdirp.md) *
- [d3-queue](https://npm.io/package/d3-queue.md) *
- [progress](https://npm.io/package/progress.md) *
- [slippy-grid](https://npm.io/package/slippy-grid.md) *
- [slippy-tile](https://npm.io/package/slippy-tile.md) *
- [map-providers](https://npm.io/package/map-providers.md) *
- [load-json-file](https://npm.io/package/load-json-file.md) *
- [global-mercator](https://npm.io/package/global-mercator.md) *
- [mbtiles-offline](https://npm.io/package/mbtiles-offline.md) *

## Recent versions

- 1.8.1 (latest) — 2017-10-24
- 1.8.0 — 2017-10-24
- 1.7.0 — 2017-09-28
- 1.6.2 — 2017-09-09
- 1.6.1 — 2017-09-08
- 1.6.0 — 2017-09-08
- 1.5.0 — 2017-08-24
- 1.4.1 — 2017-08-18
- 1.4.0 — 2017-08-10
- 1.3.0 — 2017-08-09
- 1.2.0 — 2017-08-04
- 1.1.1 — 2017-07-25
- 1.1.0 — 2017-07-18
- 1.0.5 — 2017-06-09
- 1.0.4 — 2017-04-27
- … 39 more at https://npm.io/package/mobile-map-builder-cli/versions

## README

[![Build Status](https://travis-ci.org/DenisCarriere/mobile-map-builder.svg?branch=master)](https://travis-ci.org/DenisCarriere/mobile-map-builder)
[![Coverage Status](https://coveralls.io/repos/github/DenisCarriere/mobile-map-builder/badge.svg?branch=master)](https://coveralls.io/github/DenisCarriere/mobile-map-builder?branch=master)

# Mobile Map Builder

An application that helps you build maps & data for mobile applications.

## Install

```bash
$ npm install -g mobile-map-builder
```

## Quickstart

The core application is a Command Line Interface (CLI) which can be executed in any environment.

Here's how to create your first MBTile map bundle.

```bash
$ mmb --bbox '[-76.34, 44.96, -75.24, 45.53]' --min 10 --max 14 --provider bing --service imagery ottawa.mbtiles

  downloading [====================] 100% (2655/2655)
  All done!
```

## Help

For more information on the optional parameters enter `--help` at the end.

```bash
$ mmb --help

  Usage: cli [options] <filename>

  Creates MBTiles from Web Map Tile Service

  Options:

    -h, --help                         output usage information
    -V, --version                      output the version number
    --bbox [Array<number>]             BBox extent in [minX, minY, maxX, maxY] order
    --min, --min-zoom <number>         Minimum Zoom Level
    --max, --max-zoom <number>         Maximum Zoom Level
    -p, --provider [string="imagery"]  Provider name of tile server
    --scheme [string]                  [Optional] Scheme given to MBTiles DB
    --attribution [string]             [Optional] Attribution given to MBTiles DB
    --descr [string]                   [Optional] Description given to MBTiles DB
    --format [string]                  [Optional] Tile image format [png/jpg]
    --type [string]                    [Optional] Type of MBTiles layer [baselayer/overlay]
    -v, --verbose

Examples:

    $ mmb --provider imagery --bbox Ottawa --min 8 --max 17 ottawa.mbtiles
```

## API

<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

### index

Create MBTiles

**Parameters**

-   `filepath` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** Database file path
-   `metadata` **Metadata** Metadata according to the MBTile spec v1.1 (optional, default `{}`)
    -   `metadata.url` **[string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** tile server URL or MBTiles filepath location
    -   `metadata.bounds` **Bounds** [west, south, east, north]
    -   `metadata.minzoom` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** Minimum Zoom level
    -   `metadata.maxzoom` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** Maximum Zoom level
-   `options` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options (optional, default `{}`)
    -   `options.queue` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** Define total d3 queue (optional, default `5`)
    -   `options.timeout` **[number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** HTTP maximum timeout in miliseconds (optional, default `20000`)
    -   `options.interval` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)** Update time interval (optional, default `64`)
    -   `options.proxy` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** use proxy connection {host, port}
    -   `options.headers` **[Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)?** HTTP Headers
    -   `options.verbose` **[boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)?** Output verbose messages on internal operations

**Examples**

```javascript
const createMBTiles = require('mobile-map-builder-cli')
const metadata = {
  name: 'Example',
  bounds: [-110, 20, 130, 70],
  minzoom: 1,
  maxzoom: 8,
  description: 'Mobile Map Builder Example',
  url: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
  format: 'png'
}
download.on('start', () => console.log('Started!'))
download.on('status', message => console.log(message))
download.on('end', () => console.log('All done! :)'))
download.emit('stop')
```

Returns **EventEmitter**

---
_Source: https://npm.io/package/mobile-map-builder-cli · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
