wmts-to-mbtiles
Version:
Save tiles from WMTS service to MBTiles format
45 lines (39 loc) • 1.07 kB
JavaScript
const _ = require('lodash')
const program = require('commander')
const Promise = require('bluebird')
const TmsToMbtiles = require('./src/tms-to-mbtiles')
const cmd = program
.option('--output [mbtiles]', 'Output file')
.option('--zoom [zoom]', 'Zoom level')
.option('--input [url]', 'tilemap URL')
.option('--bbox [w s e n]', 'Latitude and longitude values, eg. "23.411 59.731 26.850 60.562"')
.option('--token [token]', 'Optional token for tilemap URL')
.parse(process.argv)
if (!cmd.output) {
throw 'Missing output file!'
}
if (!cmd.bbox) {
throw 'Missing BBOX!'
}
if (!cmd.input) {
throw 'Missing input URL!'
}
const {lat, long} = cmd
const layer = cmd.layer
const bbox = cmd.bbox.split(' ').map(parseFloat)
console.log('Requested bounds:', bbox)
const zoom = parseInt(cmd.zoom)
TmsToMbtiles({
mbtilesFile: cmd.output,
tilemapUrl: cmd.input,
token: cmd.token,
layer,
zoom,
bbox,
headers: {
'Referer': 'https://webapp.navionics.com/',
'Origin': 'https://webapp.navionics.com',
'User-Agent': ''
}
})