Skip to content

About

PMTiles map provider for Signal K server.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Latest commit

 

History

16 Commits

Folders and files

Repository files navigation

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).


About

PMTiles map provider for Signal K server.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages