All Projects → syncpoint → openvtpk

syncpoint / openvtpk

Licence: MIT license
Repackaging ESRI's VTPK into an MBTiles container

Programming Languages

javascript
184084 projects - #8 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to openvtpk

earthwyrm
Vector tile map server for openstreetmap data
Stars: ✭ 16 (-52.94%)
Mutual labels:  tiles, mvt
mapsplit
A fast way to split OSM data in to a portable tiled format
Stars: ✭ 55 (+61.76%)
Mutual labels:  tiles, offline
maptiles
Download, compose and display map tiles with R
Stars: ✭ 65 (+91.18%)
Mutual labels:  tiles
UnityHexagonLibrary2d
A library to manage 2D hexagonal tiles in Unity.
Stars: ✭ 58 (+70.59%)
Mutual labels:  tiles
Vegascroll
↕️ VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9.
Stars: ✭ 2,647 (+7685.29%)
Mutual labels:  tiles
mvt
Draw Mapbox Vector Tiles (MVT) in Go
Stars: ✭ 46 (+35.29%)
Mutual labels:  tiles
Retiled
An attempt at creating a "desktop" environment mainly for Linux phones and tablets that's similar in function to some parts of Microsoft's Windows Phone 8.x, primarily the Start screen, Search app, navigation bar, Action Center, and the status bar. Development is mainly being done using the PinePhone, so that'll be the main supported device.
Stars: ✭ 41 (+20.59%)
Mutual labels:  tiles
Steam-Tiles
Pin Tiles of your games from Steam to the Windows 10 Start Menu
Stars: ✭ 20 (-41.18%)
Mutual labels:  tiles
localForage-cn
localForage中文仓库,localForage改进了离线存储,提供简洁健壮的API,包括 IndexedDB, WebSQL, 和 localStorage。
Stars: ✭ 201 (+491.18%)
Mutual labels:  offline
TileAssistTool
🎨 Windows10 磁贴辅助小工具
Stars: ✭ 24 (-29.41%)
Mutual labels:  tiles
use-navigator-online
⚛️ React Hooks to detect when your browser is online/offline.
Stars: ✭ 23 (-32.35%)
Mutual labels:  offline
unity-tile-mesh-paint
No description or website provided.
Stars: ✭ 52 (+52.94%)
Mutual labels:  tiles
terrain
Generate contours, hillshade, Terrain RGB, slope-angle shading tiles from elevation data.
Stars: ✭ 33 (-2.94%)
Mutual labels:  tiles
tessella
Lightweight Node.js Mapbox Vector Tiles server
Stars: ✭ 83 (+144.12%)
Mutual labels:  mbtiles
geopackage-mapcache-android
GeoPackage MapCache Android App
Stars: ✭ 33 (-2.94%)
Mutual labels:  tiles
tile-map-service-net5
Tile server for .NET 5 platform with MBTiles, Filesystem, GeoTIFF, HTTP sources and XYZ, TMS, WMTS, WMS endpoints (protocols support)
Stars: ✭ 45 (+32.35%)
Mutual labels:  mbtiles
react-auto-mosaic
Automatic box behavior in the grid - responsive mosaic
Stars: ✭ 12 (-64.71%)
Mutual labels:  tiles
videowall
Video wall with multiple tiles that enables synchronized video playback, mirrored or tiled.
Stars: ✭ 57 (+67.65%)
Mutual labels:  tiles
OSMChina-NextOSM
A more modern, designed and easy-to-use UI designed for browsing OpenStreetMap.
Stars: ✭ 17 (-50%)
Mutual labels:  tiles
raster-tiles-compactcache
Compact Cache V2 is used by ArcGIS to store raster tiles. The bundle file structure is very simple and optimized for quick access, resulting in improved performance over alternative formats.
Stars: ✭ 49 (+44.12%)
Mutual labels:  tiles

OpenVTPK

ESRI's Vector Tile Package (VTPK) archive contains vector tiles that follow Mapbox' Vector Tile specification v2.0. In addition all resources to render the tiles are included (i.e. stylesheet, fonts, etc.).

Unfortunately none of the open source vector tile servers is able to process VTPK packages. Most require either an MBTiles container or a GeoPackage.

The aim of OpenVTPK is to extract the tiles from a VTPK and to re-package them into a container that is supported by open source tile servers.

In the first run repackaging from VTPK to MBTiles is supported.

Motivation

Austria's government publishes detailed geospatial data like vector and raster tiles, elevation data etc. at data.gv.at. One can find vector tiles for the region of Austria in order to use them offline. The publishing format ist VTPK.

What to do before running OpenVTPK

VTPK packages are zipped archives. You can unzip them by using your favorite software like 7z. For inexperienced users it may be easyer to add the .zip extension to the .vptk file (so you end up with *.vtpk.zip).

OpenVTPK expects the VTPK package to be unzipped into a folder of your choice. Later on this folder will be referred to as SOURCEFOLDER.

Installation

Please note that you need to install at least NodeJS 10 or newer!

  git clone https://github.com/syncpoint/openvtpk.git

In order to install all NodeJS modules required change into the folder openvtpk and run

  npm install

OpenVTPK ist using Heroku's Open CLI FRamework (OCLIF) in order to provide a professional user experience. After installing OpenVTPK you may run bin/run to get information about the commands available.

The screenshot below shows all steps required to install and verify OpenVTPK.

Installation of OpenVTPK

Inspecting an VTPK archive

OpenVTPK is able to inspect an VTPK archive. So one can decide which zoom level to transform.

  bin/run inspect SOURCEFOLDER

See the screenshot below as an example for Austria's basemap.at offline vector tiles. inspect VTPK

Running a transformation

If your expanded VTPK container is located in SOURCEFOLDER run the following in order to repackage the tiles to an MBTiles container. You may limit the zoom levels by providing the optional -l=minZoomLevel...maxZoomLevel parameter.

  bin/run transform SOURCEFOLDER [-l=min..max]

I.e. to process the levels 7 to 11 use -l=7..11. If you use -l=..6 the levels 0 to 6 wil be processed.

By setting the flag to -l=14.. all levels from (including) 14 up to the maximum level available will be processed.

The default value for this flag is -l=0...

The screenshot below shows the transformation for the zoom levels 0 to 3. The resulting MBTiles files can be found in the root folder of OpenVTPK.

transform VTPK

What you get

OpenVTPK will

  • create an MBTiles container named after the data in the root.json file
  • extract the vector tiles from the VTPK folder
  • extract the layer names
  • write the tiles to the MBTiles container
  • write metadata (including the layer names extracted previously) to the MBTiles container

Depending on the size of your VTPK and the levels to extract running OpenVTPK will take a few minutes.

If you run OpenVTPK multiple times please make sure to remove the existing MBtiles file.

How to view the tiles

Please use your favorite tile server to view the basemap.at tiles offline.

@mapbox/mbview

An easy-to-use option may be @mapbox/mbview. Just clone the repository and start the tile server

node ./cli.js PATH_TO_YOUR/basemap.at.mbtiles

Open your browser and be a little patient:

Offline vector basemap

klokantech/tileserver-gl (Docker)

If you prefer using a docker container tileserver-gl can be a good start. Run the following command to start the container within the folder where you stored the mbtiles file:

docker run --rm -it -v $(pwd):/data -p 8080:80 klokantech/tileserver-gl

Open your browser and visit http://localhost:8080:

interactive basemap

How to style the maps

The provided VTPK container also includes all resources required to style the vector tiles:

  • fonts
  • sprites
  • styles

For a detailed how-to please read our example for basemap.at

styled basemap

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].