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.
To use command line tools:
npm install -g ocad2tiles
To use as a library in your project:
npm install ocad2tiles
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
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
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' })
})