CleverMaps provides many ready-to-use geographic dimensions such as administrative units or H3 grids. But sometimes you may need to use your own geographic data - e.g. road segments, buildings or sales areas. This tutorial describes how to import such a custom geographic data into the CleverMaps.
CleverMaps uses vector tiles technology to render geographic data on a map. Currently we use Mapbox as a backend service for hosting and serving vector tiles but other technologies can be also used (e.g. MapTiler). Some further information about vector tiles can be found here https://docs.mapbox.com/vector-tiles/reference/. The tutorial below assumes that Mapbox is used as a backend service. Mapbox has very generous free pricing plan and it should be enough for many use cases.
To transform your geographic data (SHP, GeoJSON, CSV, …) into the CleverMaps you typically need to:
create vector tileset at Mapbox
create datasets in CleverMaps:
vector tileset dataset - it only references vector tileset from Mapbox over URL
geometryPolygon or geometryLine dataset - it holds all columns which should be visible in CleverMaps (e.g. road class, building type, sales area name, ...) plus some system columns (primary key, bounding box coordinates)
Mapbox pricing depends on vector tiles resolution level - you pay more for hosting and processing of vector tiles with 1 meter resolution then for 10 meter resolution. The resolution level is derived from maximum zoom level (this can be set while creating vector tiles with MapboxUtils):
resolution 10 m = maximum zoom between 6 and 10
resolution 1 m = maximum between 11 and 13
resolution 30 cm = maximum zoom between 14 and 16
Vector tiles supports only simple geometries like Line and Polygon.
2. Creating datasets in CleverMaps
Now we need to create some tables and metadata JSON files in CleverMaps. As described earlier we need to create two datasets at CleverMaps:
vector tile dataset (vt dataset)
datawarehouse dataset (dwh dataset) with subtype geometryPolygon or geometryLine