
steinmetz
Steinmetz (german for stonemason) is a tile generator for mapping applications.
This repository contains the core code that powers derived applications (you can find the completed and planned applications in the README file below.)
Find a full example here to run yourself.
Installation & Use
For programmatic usage (use in your Node.js application) install via NPM. Click here to find the package's page.
npm install --save steinmetzObjectives
- <input checked="" disabled="" type="checkbox"> Prioritize objectives. (90443d7)
- <input disabled="" type="checkbox"> Utilize GeoJSON for data objects.
- <input disabled="" type="checkbox"> Provide a stream of rendered tiles, instead of writing files.
- <input checked="" disabled="" type="checkbox"> Render points. (3d1c44e)
- <input disabled="" type="checkbox"> Render polylines.
- <input disabled="" type="checkbox"> Render polygons.
- <input disabled="" type="checkbox"> Optimize object rendering.
- <input disabled="" type="checkbox"> Complete writing documentation.
- <input disabled="" type="checkbox"> Complete examples/wiki.
- <input disabled="" type="checkbox"> Support configuration files.
- <input disabled="" type="checkbox"> Support WebHooks and/or events for rendering lifecycle.
- <input disabled="" type="checkbox"> Support exporting a manifest that would include all rendered tiles, E-Tags, labels, etc.
- <input disabled="" type="checkbox"> Research into replacing the
canvasdependency with something better, or with something that does not have so many other dependencies (Cairo specifically.) - <input disabled="" type="checkbox"> Render tiles other than 256px squares.
Derivatives
- <input disabled="" type="checkbox"> A file writer.
- <input disabled="" type="checkbox"> A configurable HTTP server.
- <input disabled="" type="checkbox"> A CLI application.
Dependencies
- Using
typescriptfor source code. - Using
JSONStreamfor non-blocking JSON reading/writing. - Using
sharpfor overlapping PNG files. - Using
canvasfor HTML5-like canvas interaction (this includes following thecanvasinstructions to install Cairo, too.) - Using
upng-jsfor PNG encoding/decoding. - Using
pakofor zlib-like inflation/deflation.