ocad2tiles

1.3.0 • Public • Published

OCAD to Tiles

Creates raster images and tiles from an OCAD map file. Tiles are suitable for use with for example Leaflet or OpenLayers.

For a more thorough introduction, see this tutorial on making OCAD maps for the web.

Installing

To use command line tools:

npm install -g ocad2tiles

To use as a library in your project:

npm install ocad2tiles

Command line usage

Create tiles

This will create a set of tiles (small, square raster images, sometimes also called image pyramid or image mosaic) suitable for use in map clients like Leaflet or OpenLayers.

The tool will create a number of directories, one per zoom level, in the output path. It also creates a small demo HTML page, index.html, where you can see the tiles result in a Leaflet map.

Optionally, using the --serve option, the tool will start a web server which can serve the tiles, as well as the demo web page. This is a great way to quickly test configuration without generating a lot of tiles.

Tiles are currently always written in PNG format.

Example:

ocad2tiles my-map-file.ocd /my/output/path

Detailed usage:

Usage: ocad2tiles [options] [OCAD MAP FILE] [OUTPUT PATH]

Options:
  -n,--number-zoomlevels <number>  Number of zoom levels to generate (default: 4)
  -o,--zoomlevel-offset <number>   Number to add to zoom level numbers (default: 0)
  -s,--tile-size <number>          Tile size in pixels (default: 256)
  -r,--base-resolution <number>    Base (most zoomed in) resolution used (default: 1)
  -f,--fill <string>               Background color (HTML color, transparent as default)
  -s,--serve                       Run as webserver, serving the tiles
  -p,--port <number>               Port to run webserver on (see --serve) (default: 8080)
  --show-hidden                    Include hidden symbols in the output
  -h, --help                       display help for command

Create image

Make a single raster image from an OCAD map file.

Supported output formats:

  • PNG
  • JPEG
  • SVG
  • PDF (basic support, currently limited control over page format and scale)
  • WEBP
  • GIF
  • TIFF
  • GeoJSON (not really an image, but convenient)

Output format is determined by the output path's extension

Example:

ocad2image my-map-file.ocd my-image.png

Detailed usage:

Usage: ocad2image [options] [OCAD MAP FILE] [OUTPUT PATH]

Options:
  -b,--bounds <string>      bounds (xmin, ymin, xmax, ymax) in map CRS coordinates; defaults to map bounds
  -r,--resolution <number>  resolution in meters per pixel (default: 1)
  -f,--fill <string>        Background color (HTML color, transparent as default)
  --show-hidden             Include hidden symbols in the output
  -h, --help                display help for command

API

OcadTiler

const OcadTiler = require('ocad2tiles')
const { readOcad } = require('ocad2geojson')
const metersPerPixel = 1

readOcad(pathToOcadMap).then(ocadFile => {
  const tiler = new OcadTiler(ocadFile)
  tiler.render(tiler.bounds, metersPerPixel, { outputPath: 'test.png' })
})

Package Sidebar

Install

npm i ocad2tiles

Weekly Downloads

22

Version

1.3.0

License

AGPL-3.0-or-later

Unpacked Size

54.5 kB

Total Files

9

Last publish

Collaborators

  • liedman