npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

signalk-pmtiles-plugin

v1.2.1

Published

PMTiles chart resource provider plugin for Signal K server

Readme

ProtoMaps (PMTiles) Chart provider for Signal K server

Signal K Node server resource provider plugin enabling the use of ProtoMaps (.pmtiles) map files.


PMTiles is a single-file archive for pyramids of tiled data that can be hosted on simple storage and does not require a database (eg. SQLite) to be installed.

Your MBTiles files can be easily converted to PMTiles using the go-pmtiles utility.

Read more about PMTiles here: ProtoMaps


This plugin supports the Signal K server v2 Resources API and can be used in conjunction with other chart resource provider plugins.

Additionally, it provides a UI to enable the creation of PMTiles vector charts containing your vessel's track history via the Signal K History API.

Note: Your Signal K server needs to have a History API provider plugin installed and enabled.

Chart metadata is made available to client apps via both Signal K v1 and v2 resources paths.

| Server Version | API | Path | |--- |--- |--- | | 1.x.x | v1 | /signalk/v1/api/resources/charts | | 2.x.x | v2 | /signalk/v2/api/resources/charts |

Note: Freeboard-SK v2 or later supports the use of PMTiles charts.


Example: /signalk/v2/api/resources/charts

{
	"kvarken.pmtiles": {
		"identifier": "kvarken.pmtiles",
		"name": "kvarken.pmtiles",
		"description": "",
		"type": "tilelayer",
		"scale": 250000,
		"minzoom": 3,
		"maxzoom": 17,
		"bounds": [17.899475, 62.6097716, 23.0905151, 63.8346133],
		"format": "png",
		"url": "/signalk/pmtiles/kvarken.pmtiles",
		"layers": []
	}
}

Example: /signalk/v1/api/resources/charts

{
	"kvarken.pmtiles": {
		"identifier": "kvarken.pmtiles",
		"name": "kvarken.pmtiles",
		"description": "",
		"type": "tilelayer",
		"scale": 250000,
		"minzoom": 3,
		"maxzoom": 17,
		"bounds": [17.899475, 62.6097716, 23.0905151, 63.8346133],
		"format": "png",
		"tilemapUrl": "/signalk/pmtiles/kvarken.pmtiles",
		"chartLayers": []
	}
}

To serve the map tiles to the client, the plugin establishes the http endpoint /signalk/pmtiles which is used as the base path of the url / tilemapUrl in the chart metadata.

Visiting this url will display a list of discovered PMTiles files (.pmtiles) in the location provided in the Plugin Config screen.

Example:

["kvarken.pmtiles","NBottenv.pmtiles"]

Charts containing track history

Note: Requires SignalK server version 2.19.0 or later and a History API provider pligin installed (e.g. signalk-to-influxdb2)

You can check if your signalk server supports the History API by submitting a request to:

HTTP GET /plugins/pmtiles-chart-provider/check-history-api

Example response:

{"available": true}

Generate Track Chart

To generate vector charts containing your vessel's track history, submit a POST request to:

HTTP POST /plugins/pmtiles-chart-provider/generate-track {
	"startDate": '2025-03-30T03:45:000Z",
	"endDate": '2025-03-31T09:30:000Z", 
	"resolution": "hour" 
}

Valid Resolution values are: 'hour', 'day', 'week', 'month' and 'year'

Example response:

{
	"success": true,
	"message": "Track chart generated successfully",
	"filename": "track_{startDate}_to_{endDate}.geojson",
	"features": 567,
	"startDate": "2025-03-30T03:45:000Z",
	"endDate": "2025-03-31T09:30:000Z", 
	"resolution": "hour" 
}

Usage

  1. Install signalk-pmtiles-plugin from the Appstore screen in the Signal K server admin console

  2. Once installed, restart the server and the locate PMTiles Chart provider in the Plugin Config screen

  3. Enter the path to the folder in which you will store .pmtiles files in Path to chart files. Note: If omitted the path will default to .signalk/charts/pmtiles

  4. Click Submit to save the changes.

  5. Place your chart files (.pmtiles) into folder entered in the previous step

  6. Enable plugin

Note: When new files are placed in the configured folders they only become available after the plugin has been restarted (disabling and enabling the plugin).