Skip to content

Latest commit

 

History

History
96 lines (83 loc) · 3.78 KB

File metadata and controls

96 lines (83 loc) · 3.78 KB

wms2mbtiles

Download maps from WMS server and save it into mbtiles. Instead of selecting an area and then download it this library starts with a top tile. Then download 4 subtiles. Everytime it encounters en empty/transparent map tile this area is skipped. This is more suitable for sparse maps.

Features

  • skip (empty) tiles by specifing tile size in bytes and it's children
  • skip transparent tiles and it's children
  • skip solid(images with single background color) tiles and it's children
  • for WMS and Arcgic, speed up by requesting one single mosaic and then slicing it into tiles.
  • compress tiles on the fly to WEBP or PNG

Install

yarn global add wms2mbtiles
# or
npm add -g wms2mbtiles
# or simply run without instalation
npx wms2mbtiles

Usage

$ wms2mbtiles http://wms.server.com satellite satellite.mbtiles -m 2 -c 4

Help

Download maps from WMS and save it into mbtiles.

  Usage
    $ wms2mbtiles <wmsUrl> <layer> <output.mbtiles>

  Options
    --maxZoom, -m        maximal zoom to download, default 3
    --concurrency, -c    number of concurrent downloads, defaukt 2
    --tileSize, -t       tile size in pixels, default 512
    --upscale            combine 4 tiles into one. Useful when dealing with 256x256px
                         tiles and producing 512x512px. Make sense only with
                         serverType tile, default false
    --emptyTileSizes, -e size of empty tile in bytes, default 334
                         use it multiple times to set multiple sizes
    --serverType, -s     server type, wms or tile, default wms
    --skipTransparent    skip tiles that are fully transparent, default false
    --skipMixed          skip tiles that contain both transparent and opaque parts
                         from given zoom level. Useful to skip all edge tiles.
                         default 30
    --skipSolid          skip tiles containing only single color from given zoom level,
                         default 30
    --solidThreshold     configuration for skipSolid. It helps ignoring
                         noise in empty jpeg tiles. Tiles with colors of
                         standard deviation less than this are considered
                         solid, default 0
    --verbose, -v        verbose output, default false
    Coordinates of a starting tile
    -z                   zoom, default 0
    -x                   x, default 0
    -y                   y, default 0
    WMS server options
    --mosaicDownload     faster downloading of of tiles by combining multiple
                         tiles into one request, default false
    --maxWidth           when mosaicDownload is set, maximal width of the
                         mosaic in pixels, default 2048
    --transparent        request transparent tiles, default true
    --format             image format, default image/png
    --dpi                number, default omit
    --mapResolution      number, default omit
    --formatOptions      string, default omit
    Tile compression
    --compression        compress tiles, options: none, png, webp. Need to be
                         provided when mosaicDownload is used, default none
    --quality            quality for compression, 0-100, default 80

  Example for a WMS
    $ wms2mbtiles https://mywmsserver.com roads output.mbtiles
    $ wms2mbtiles https://mywmsserver.com roads output.mbtiles
      --maxZoom 5 \\
      --concurrency 2 \\
      --tileSize 256 \\
      --transparent false \\
      --format image/png;mode=8bit \\
      --verbose \\
      --emptyTileSizes 123 \\
      --emptyTileSizes 456

  Example for a Tile server
    $ wms2mbtiles https://mywmsserver.com/{z}/{x}/{y} output.mbtiles
      --serverType tile \\
      --maxZoom 5 \\
      --concurrency 2 \\
      --emptyTileSizes 123 \\
      --emptyTileSizes 456