@record-evolution/widget-mapbox 1.5.11 → 1.5.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -3,7 +3,11 @@
3
3
  "description": "REWidget widget-mapbox",
4
4
  "license": "MIT",
5
5
  "author": "widget-mapbox",
6
- "version": "1.5.11",
6
+ "version": "1.5.14",
7
+ "engines": {
8
+ "node": ">=24.9.0",
9
+ "npm": ">=10.0.2"
10
+ },
7
11
  "type": "module",
8
12
  "main": "dist/widget-mapbox.js",
9
13
  "types": "dist/src/widget-mapbox.d.ts",
@@ -26,8 +30,8 @@
26
30
  "dependencies": {
27
31
  "@types/geojson": "^7946.0.16",
28
32
  "@types/mapbox-gl": "^3.4.1",
29
- "lit": "^3.3.0",
30
- "mapbox-gl": "^3.13.0",
33
+ "lit": "^3.3.1",
34
+ "mapbox-gl": "^3.15.0",
31
35
  "tinycolor2": "^1.6.0"
32
36
  },
33
37
  "devDependencies": {
@@ -38,6 +42,7 @@
38
42
  "@rollup/plugin-json": "^6.1.0",
39
43
  "@rollup/plugin-node-resolve": "^16.0.1",
40
44
  "@rollup/plugin-replace": "^6.0.2",
45
+ "rollup-plugin-string": "^3.0.0",
41
46
  "@rollup/plugin-typescript": "^12.1.3",
42
47
  "@types/glob": "^8.1.0",
43
48
  "@types/tinycolor2": "^1.4.6",
@@ -8,15 +8,11 @@
8
8
  "type": "circle",
9
9
  "color": "#49aaff",
10
10
  "latestValues": 10,
11
- "config": {
12
- "circle": {
13
- "circle-blur": 0.8,
14
- "circle-opacity": 0.8
15
- },
16
- "symbol": {
17
- "text-color": "black",
18
- "text-size": 14
19
- }
11
+ "circleConfig": {
12
+ "circle-blur": 0.8,
13
+ "circle-opacity": 0.8,
14
+ "text-color": "black",
15
+ "text-size": 14
20
16
  },
21
17
  "data": [
22
18
  {
@@ -73,12 +69,10 @@
73
69
  {
74
70
  "label": "Heatmap Layer",
75
71
  "type": "heatmap",
76
- "config": {
77
- "heatmap": {
78
- "heatmap-intensity": 0.8,
79
- "heatmap-opacity": 0.5,
80
- "heatmap-radius": 40
81
- }
72
+ "heatmapConfig": {
73
+ "heatmap-intensity": 0.8,
74
+ "heatmap-opacity": 0.5,
75
+ "heatmap-radius": 40
82
76
  },
83
77
  "data": [
84
78
  {
@@ -168,14 +162,10 @@
168
162
  "label": "Track Layer",
169
163
  "type": "line",
170
164
  "color": "red",
171
- "config": {
172
- "line": {
173
- "line-width": 3
174
- },
175
- "symbol": {
176
- "icon-image": "car-front",
177
- "icon-size": 1
178
- }
165
+ "lineConfig": {
166
+ "line-width": 3,
167
+ "icon-image": "car-front",
168
+ "icon-size": 1
179
169
  },
180
170
  "data": [
181
171
  {
@@ -5,10 +5,16 @@
5
5
  * and run json-schema-to-typescript to regenerate this file.
6
6
  */
7
7
 
8
+ /**
9
+ * The main heading displayed above the map. Use to describe what geographic data is being shown (e.g., 'Fleet Locations', 'Sensor Network').
10
+ */
8
11
  export type Title = string;
12
+ /**
13
+ * Secondary text displayed below the title. Use for additional context like region, time period, or data source.
14
+ */
9
15
  export type Subtitle = string;
10
16
  /**
11
- * The basic style of the map.
17
+ * The visual appearance of the base map: 'streets' for road-focused, 'outdoors' for terrain, 'light/dark' for minimal designs, 'satellite' for aerial imagery, 'navigation' for routing focus.
12
18
  */
13
19
  export type MapStyle =
14
20
  | "streets-v12"
@@ -19,60 +25,96 @@ export type MapStyle =
19
25
  | "satellite-streets-v12"
20
26
  | "navigation-day-v1"
21
27
  | "navigation-night-v1";
28
+ /**
29
+ * When enabled, displays a legend identifying each data layer by color and label. Useful for multi-layer maps.
30
+ */
22
31
  export type ShowLegend = boolean;
23
32
  /**
24
- * If true, the map automatically keeps the drawn locations in focus.
33
+ * When enabled, the map automatically pans and zooms to keep all data points in view as they update. Disable for fixed-view maps where users control the viewport.
25
34
  */
26
35
  export type AutoFollow = boolean;
27
36
  /**
28
- * The name for this data series
37
+ * Display name for this map layer shown in legends and tooltips. Should identify what entities or data this layer represents.
29
38
  */
30
39
  export type SeriesLabel = string;
31
40
  /**
32
- * Create the specified type of layer on the map.
41
+ * Visualization style: 'circle' for point markers, 'symbol' for icon markers with labels, 'heatmap' for density visualization, 'line' for connected paths/routes.
33
42
  */
34
43
  export type LayerType = "circle" | "symbol" | "heatmap" | "line";
35
44
  /**
36
- * Restrict the number of rows for this dataseries to the given number of newest values. (If you use split data, then per each of the split dataseries.)
45
+ * Limit displayed data to the N most recent points per pivot group. Useful for showing only current positions without historical trail. Leave empty to show all data.
37
46
  */
38
47
  export type LatestValues = number;
39
48
  /**
40
- * Blur of 1 means the whole circle is blurred starting from the center point. Blur 0 means no blur effect.
49
+ * Edge blur effect from 0 (sharp edges) to 1 (fully blurred from center). Use slight blur (0.1-0.3) for softer appearance.
41
50
  */
42
51
  export type Blur = number;
43
52
  /**
44
- * Opactity 1 means fully opaque, 0 means fully transparent.
53
+ * Circle transparency from 0 (invisible) to 1 (fully opaque). Use lower values when circles overlap to see density.
45
54
  */
46
55
  export type Opacity = number;
56
+ /**
57
+ * Font size in pixels for label text on circle markers.
58
+ */
47
59
  export type TextSize = number;
48
60
  /**
49
- * For available icons check the maki icon set here https://labs.mapbox.com/maki-icons/
61
+ * Font size in pixels for label text on symbol markers.
62
+ */
63
+ export type TextSize1 = number;
64
+ /**
65
+ * Icon identifier from available icons: 'marker' for location pin, 'car-front'/'car-top' for vehicle tracking. See Maki icon set at https://labs.mapbox.com/maki-icons/ for more options.
50
66
  */
51
67
  export type IconName = "marker" | "car-front" | "car-top";
52
68
  /**
53
- * In multiples of the original icon size
69
+ * Scale multiplier for the icon (1 = original size, 2 = double size, 0.5 = half size).
54
70
  */
55
71
  export type IconSize = number;
56
72
  /**
57
- * The higher the intensity, the more 'hot' the heatmap becomes. The value is a multiple with default value 1. e.g. to double the intensitiy choose 2.
73
+ * Heat intensity multiplier. Higher values make the heatmap appear 'hotter' with colors reaching maximum faster. Default is 1.
58
74
  */
59
75
  export type Intensity = number;
76
+ /**
77
+ * Heatmap layer transparency from 0 (invisible) to 1 (fully opaque). Lower values let the base map show through.
78
+ */
60
79
  export type Opacity1 = number;
61
80
  /**
62
- * The radius will be combined with the data value to to determine the heat radius of a point.
81
+ * Base radius in pixels for each point's heat contribution. Combined with data value to determine actual heat spread. Larger radius = more blending.
63
82
  */
64
83
  export type RadiusBaseSize = number;
84
+ /**
85
+ * Thickness of the route line in pixels. Use thicker lines for emphasis or when zoomed out.
86
+ */
65
87
  export type LineWidth = number;
88
+ /**
89
+ * Icon displayed at the current position (end of line): 'marker' for generic location, 'car-front'/'car-top' for vehicles.
90
+ */
91
+ export type IconName1 = "marker" | "car-front" | "car-top";
92
+ /**
93
+ * Scale multiplier for the position icon (1 = original size).
94
+ */
95
+ export type IconSize1 = number;
96
+ /**
97
+ * The east-west coordinate in decimal degrees (-180 to 180). Example: -122.4194 for San Francisco.
98
+ */
66
99
  export type Longitude = number;
100
+ /**
101
+ * The north-south coordinate in decimal degrees (-90 to 90). Example: 37.7749 for San Francisco.
102
+ */
67
103
  export type Latitude = number;
104
+ /**
105
+ * Optional elevation/altitude value in meters. Can be used for 3D visualization or displayed in tooltips.
106
+ */
68
107
  export type Altitude = number;
108
+ /**
109
+ * Numeric value associated with this location. Used for heatmap intensity, marker sizing, or tooltip display.
110
+ */
69
111
  export type DataPointValue = number;
70
112
  /**
71
- * You can specify a column in the input data to autogenerate dataseries for each distinct entry in this column. E.g. if you have a table with columns [city, lon, lat, temperature] and specify 'city' as split column, then you will get a layer for each city.
113
+ * Column value used to split data into multiple layers automatically. Each unique pivot value creates a separate map layer (e.g., pivot by 'vehicle_id' for fleet tracking).
72
114
  */
73
115
  export type SplitDataBy = string;
74
116
  /**
75
- * This is the map data
117
+ * Array of geographic data points. Each point must have latitude and longitude coordinates, with optional altitude, value, and pivot for grouping.
76
118
  */
77
119
  export type MapData = {
78
120
  lon?: Longitude;
@@ -82,21 +124,24 @@ export type MapData = {
82
124
  pivot?: SplitDataBy;
83
125
  [k: string]: unknown;
84
126
  }[];
127
+ /**
128
+ * Array of map layers. Each layer displays geographic data points with its own visualization style (circles, symbols, heatmap, or lines).
129
+ */
85
130
  export type Dataseries = {
86
131
  label?: SeriesLabel;
87
132
  type?: LayerType;
88
133
  color?: LayerBaseColor;
89
134
  latestValues?: LatestValues;
90
- circle?: CircleLayer;
91
- symbol?: SymbolLayer;
92
- heatmap?: HeatmapLayer;
93
- line?: TrackLayer;
135
+ circleConfig?: CircleLayerConfiguration;
136
+ symbolConfig?: SymbolLayerConfiguration;
137
+ heatmapConfig?: HeatmapLayerConfiguration;
138
+ lineConfig?: TrackLayerConfiguration;
94
139
  data?: MapData;
95
140
  [k: string]: unknown;
96
141
  }[];
97
142
 
98
143
  /**
99
- * A map-chart
144
+ * A Mapbox-powered geospatial visualization widget for displaying location-based data on interactive maps. Use this widget for GPS tracking, asset locations, geographic heatmaps, route visualization, or any data with latitude/longitude coordinates. Supports multiple layer types including circles (points), symbols (icons), heatmaps (density), and lines (tracks/routes). Features auto-follow mode to keep markers in view, multiple map styles, and pivot-based auto-generation of layers from data columns. Ideal for fleet management, IoT device monitoring, field service tracking, and geographic data analysis.
100
145
  */
101
146
  export interface InputData {
102
147
  title?: Title;
@@ -107,31 +152,59 @@ export interface InputData {
107
152
  dataseries?: Dataseries;
108
153
  [k: string]: unknown;
109
154
  }
155
+ /**
156
+ * Primary color for this layer's markers or fill. Used as default when data-driven coloring isn't configured.
157
+ */
110
158
  export interface LayerBaseColor {
111
159
  [k: string]: unknown;
112
160
  }
113
- export interface CircleLayer {
161
+ /**
162
+ * Styling options specific to circle (point) layers.
163
+ */
164
+ export interface CircleLayerConfiguration {
114
165
  "circle-blur"?: Blur;
115
166
  "circle-opacity"?: Opacity;
116
- [k: string]: unknown;
117
- }
118
- export interface SymbolLayer {
119
167
  "text-color"?: TextColor;
120
168
  "text-size"?: TextSize;
169
+ [k: string]: unknown;
170
+ }
171
+ /**
172
+ * Color of label text displayed on or near the circle markers.
173
+ */
174
+ export interface TextColor {
175
+ [k: string]: unknown;
176
+ }
177
+ /**
178
+ * Styling options specific to symbol (icon) layers.
179
+ */
180
+ export interface SymbolLayerConfiguration {
181
+ "text-color"?: TextColor1;
182
+ "text-size"?: TextSize1;
121
183
  "icon-image"?: IconName;
122
184
  "icon-size"?: IconSize;
123
185
  [k: string]: unknown;
124
186
  }
125
- export interface TextColor {
187
+ /**
188
+ * Color of label text displayed near the symbol icons.
189
+ */
190
+ export interface TextColor1 {
126
191
  [k: string]: unknown;
127
192
  }
128
- export interface HeatmapLayer {
193
+ /**
194
+ * Styling options specific to heatmap (density) layers.
195
+ */
196
+ export interface HeatmapLayerConfiguration {
129
197
  "heatmap-intensity"?: Intensity;
130
198
  "heatmap-opacity"?: Opacity1;
131
199
  "heatmap-radius"?: RadiusBaseSize;
132
200
  [k: string]: unknown;
133
201
  }
134
- export interface TrackLayer {
202
+ /**
203
+ * Styling options specific to line (track/route) layers.
204
+ */
205
+ export interface TrackLayerConfiguration {
135
206
  "line-width"?: LineWidth;
207
+ "icon-image"?: IconName1;
208
+ "icon-size"?: IconSize1;
136
209
  [k: string]: unknown;
137
210
  }
@@ -1,21 +1,23 @@
1
1
  {
2
2
  "title": "InputData",
3
- "description": "A map-chart",
3
+ "description": "A Mapbox-powered geospatial visualization widget for displaying location-based data on interactive maps. Use this widget for GPS tracking, asset locations, geographic heatmaps, route visualization, or any data with latitude/longitude coordinates. Supports multiple layer types including circles (points), symbols (icons), heatmaps (density), and lines (tracks/routes). Features auto-follow mode to keep markers in view, multiple map styles, and pivot-based auto-generation of layers from data columns. Ideal for fleet management, IoT device monitoring, field service tracking, and geographic data analysis.",
4
4
  "type": "object",
5
5
  "properties": {
6
6
  "title": {
7
7
  "title": "Title",
8
+ "description": "The main heading displayed above the map. Use to describe what geographic data is being shown (e.g., 'Fleet Locations', 'Sensor Network').",
8
9
  "type": "string",
9
10
  "order": 1
10
11
  },
11
12
  "subTitle": {
12
13
  "title": "Subtitle",
14
+ "description": "Secondary text displayed below the title. Use for additional context like region, time period, or data source.",
13
15
  "type": "string",
14
16
  "order": 2
15
17
  },
16
18
  "style": {
17
19
  "title": "Map Style",
18
- "description": "The basic style of the map.",
20
+ "description": "The visual appearance of the base map: 'streets' for road-focused, 'outdoors' for terrain, 'light/dark' for minimal designs, 'satellite' for aerial imagery, 'navigation' for routing focus.",
19
21
  "type": "string",
20
22
  "dataDrivenDisabled": true,
21
23
  "enum": [
@@ -33,19 +35,21 @@
33
35
  },
34
36
  "showLegend": {
35
37
  "title": "Show Legend",
38
+ "description": "When enabled, displays a legend identifying each data layer by color and label. Useful for multi-layer maps.",
36
39
  "type": "boolean",
37
40
  "dataDrivenDisabled": true,
38
41
  "order": 4
39
42
  },
40
43
  "follow": {
41
44
  "title": "Auto Follow",
42
- "description": "If true, the map automatically keeps the drawn locations in focus.",
45
+ "description": "When enabled, the map automatically pans and zooms to keep all data points in view as they update. Disable for fixed-view maps where users control the viewport.",
43
46
  "type": "boolean",
44
47
  "dataDrivenDisabled": true,
45
48
  "order": 5
46
49
  },
47
50
  "dataseries": {
48
51
  "title": "Dataseries",
52
+ "description": "Array of map layers. Each layer displays geographic data points with its own visualization style (circles, symbols, heatmap, or lines).",
49
53
  "order": 8,
50
54
  "type": "array",
51
55
  "dataDrivenDisabled": true,
@@ -54,14 +58,14 @@
54
58
  "properties": {
55
59
  "label": {
56
60
  "title": "Series Label",
57
- "description": "The name for this data series",
61
+ "description": "Display name for this map layer shown in legends and tooltips. Should identify what entities or data this layer represents.",
58
62
  "type": "string",
59
63
  "required": true,
60
64
  "order": 1
61
65
  },
62
66
  "type": {
63
67
  "title": "Layer type",
64
- "description": "Create the specified type of layer on the map.",
68
+ "description": "Visualization style: 'circle' for point markers, 'symbol' for icon markers with labels, 'heatmap' for density visualization, 'line' for connected paths/routes.",
65
69
  "type": "string",
66
70
  "required": true,
67
71
  "dataDrivenDisabled": true,
@@ -70,19 +74,21 @@
70
74
  },
71
75
  "color": {
72
76
  "title": "Layer Base Color",
77
+ "description": "Primary color for this layer's markers or fill. Used as default when data-driven coloring isn't configured.",
73
78
  "type": "color",
74
79
  "color": true,
75
80
  "order": 3
76
81
  },
77
82
  "latestValues": {
78
83
  "title": "Latest Values",
79
- "description": "Restrict the number of rows for this dataseries to the given number of newest values. (If you use split data, then per each of the split dataseries.)",
84
+ "description": "Limit displayed data to the N most recent points per pivot group. Useful for showing only current positions without historical trail. Leave empty to show all data.",
80
85
  "type": "number",
81
86
  "dataDrivenDisabled": true,
82
87
  "order": 4
83
88
  },
84
- "circle": {
89
+ "circleConfig": {
85
90
  "title": "Circle Layer Configuration",
91
+ "description": "Styling options specific to circle (point) layers.",
86
92
  "type": "object",
87
93
  "order": 5,
88
94
  "condition": {
@@ -92,7 +98,7 @@
92
98
  "properties": {
93
99
  "circle-blur": {
94
100
  "title": "Blur",
95
- "description": "Blur of 1 means the whole circle is blurred starting from the center point. Blur 0 means no blur effect.",
101
+ "description": "Edge blur effect from 0 (sharp edges) to 1 (fully blurred from center). Use slight blur (0.1-0.3) for softer appearance.",
96
102
  "dataDrivenDisabled": true,
97
103
  "min": 0,
98
104
  "max": 1,
@@ -101,17 +107,32 @@
101
107
  },
102
108
  "circle-opacity": {
103
109
  "title": "Opacity",
104
- "description": "Opactity 1 means fully opaque, 0 means fully transparent.",
110
+ "description": "Circle transparency from 0 (invisible) to 1 (fully opaque). Use lower values when circles overlap to see density.",
105
111
  "dataDrivenDisabled": true,
106
112
  "min": 0,
107
113
  "max": 1,
108
114
  "type": "number",
109
115
  "order": 2
116
+ },
117
+ "text-color": {
118
+ "title": "Text Color",
119
+ "description": "Color of label text displayed on or near the circle markers.",
120
+ "type": "color",
121
+ "color": true,
122
+ "order": 3
123
+ },
124
+ "text-size": {
125
+ "title": "Text Size",
126
+ "description": "Font size in pixels for label text on circle markers.",
127
+ "type": "number",
128
+ "min": 1,
129
+ "order": 4
110
130
  }
111
131
  }
112
132
  },
113
- "symbol": {
133
+ "symbolConfig": {
114
134
  "title": "Symbol Layer Configuration",
135
+ "description": "Styling options specific to symbol (icon) layers.",
115
136
  "type": "object",
116
137
  "order": 5,
117
138
  "condition": {
@@ -121,34 +142,37 @@
121
142
  "properties": {
122
143
  "text-color": {
123
144
  "title": "Text Color",
145
+ "description": "Color of label text displayed near the symbol icons.",
124
146
  "type": "color",
125
147
  "color": true,
126
148
  "order": 1
127
149
  },
128
150
  "text-size": {
129
151
  "title": "Text Size",
152
+ "description": "Font size in pixels for label text on symbol markers.",
130
153
  "type": "number",
131
154
  "min": 1,
132
155
  "order": 2
133
156
  },
134
157
  "icon-image": {
135
158
  "title": "Icon Name",
136
- "description": "For available icons check the maki icon set here https://labs.mapbox.com/maki-icons/",
159
+ "description": "Icon identifier from available icons: 'marker' for location pin, 'car-front'/'car-top' for vehicle tracking. See Maki icon set at https://labs.mapbox.com/maki-icons/ for more options.",
137
160
  "type": "string",
138
161
  "enum": ["marker", "car-front", "car-top"],
139
162
  "order": 3
140
163
  },
141
164
  "icon-size": {
142
165
  "title": "Icon size",
143
- "description": "In multiples of the original icon size",
166
+ "description": "Scale multiplier for the icon (1 = original size, 2 = double size, 0.5 = half size).",
144
167
  "type": "number",
145
168
  "min": 0,
146
169
  "order": 4
147
170
  }
148
171
  }
149
172
  },
150
- "heatmap": {
173
+ "heatmapConfig": {
151
174
  "title": "Heatmap Layer Configuration",
175
+ "description": "Styling options specific to heatmap (density) layers.",
152
176
  "type": "object",
153
177
  "order": 5,
154
178
  "condition": {
@@ -158,13 +182,14 @@
158
182
  "properties": {
159
183
  "heatmap-intensity": {
160
184
  "title": "Intensity",
161
- "description": "The higher the intensity, the more 'hot' the heatmap becomes. The value is a multiple with default value 1. e.g. to double the intensitiy choose 2.",
185
+ "description": "Heat intensity multiplier. Higher values make the heatmap appear 'hotter' with colors reaching maximum faster. Default is 1.",
162
186
  "type": "number",
163
187
  "min": 0,
164
188
  "order": 1
165
189
  },
166
190
  "heatmap-opacity": {
167
191
  "title": "Opacity",
192
+ "description": "Heatmap layer transparency from 0 (invisible) to 1 (fully opaque). Lower values let the base map show through.",
168
193
  "type": "number",
169
194
  "min": 0,
170
195
  "max": 1,
@@ -172,15 +197,16 @@
172
197
  },
173
198
  "heatmap-radius": {
174
199
  "title": "Radius Base Size",
175
- "description": "The radius will be combined with the data value to to determine the heat radius of a point.",
200
+ "description": "Base radius in pixels for each point's heat contribution. Combined with data value to determine actual heat spread. Larger radius = more blending.",
176
201
  "type": "number",
177
202
  "min": 0,
178
203
  "order": 3
179
204
  }
180
205
  }
181
206
  },
182
- "line": {
207
+ "lineConfig": {
183
208
  "title": "Track Layer Configuration",
209
+ "description": "Styling options specific to line (track/route) layers.",
184
210
  "type": "object",
185
211
  "order": 5,
186
212
  "condition": {
@@ -190,15 +216,30 @@
190
216
  "properties": {
191
217
  "line-width": {
192
218
  "title": "Line Width",
219
+ "description": "Thickness of the route line in pixels. Use thicker lines for emphasis or when zoomed out.",
193
220
  "type": "number",
194
221
  "min": 1,
195
222
  "order": 1
223
+ },
224
+ "icon-image": {
225
+ "title": "Icon Name",
226
+ "description": "Icon displayed at the current position (end of line): 'marker' for generic location, 'car-front'/'car-top' for vehicles.",
227
+ "type": "string",
228
+ "enum": ["marker", "car-front", "car-top"],
229
+ "order": 3
230
+ },
231
+ "icon-size": {
232
+ "title": "Icon size",
233
+ "description": "Scale multiplier for the position icon (1 = original size).",
234
+ "type": "number",
235
+ "min": 0,
236
+ "order": 4
196
237
  }
197
238
  }
198
239
  },
199
240
  "data": {
200
241
  "title": "Map data",
201
- "description": "This is the map data",
242
+ "description": "Array of geographic data points. Each point must have latitude and longitude coordinates, with optional altitude, value, and pivot for grouping.",
202
243
  "type": "array",
203
244
  "order": 6,
204
245
  "items": {
@@ -206,29 +247,33 @@
206
247
  "properties": {
207
248
  "lon": {
208
249
  "title": "Longitude",
250
+ "description": "The east-west coordinate in decimal degrees (-180 to 180). Example: -122.4194 for San Francisco.",
209
251
  "type": "number",
210
252
  "required": true,
211
253
  "order": 1
212
254
  },
213
255
  "lat": {
214
256
  "title": "Latitude",
257
+ "description": "The north-south coordinate in decimal degrees (-90 to 90). Example: 37.7749 for San Francisco.",
215
258
  "type": "number",
216
259
  "required": true,
217
260
  "order": 2
218
261
  },
219
262
  "alt": {
220
263
  "title": "Altitude",
264
+ "description": "Optional elevation/altitude value in meters. Can be used for 3D visualization or displayed in tooltips.",
221
265
  "type": "number",
222
266
  "order": 3
223
267
  },
224
268
  "value": {
225
269
  "title": "Data point value",
270
+ "description": "Numeric value associated with this location. Used for heatmap intensity, marker sizing, or tooltip display.",
226
271
  "type": "number",
227
272
  "order": 4
228
273
  },
229
274
  "pivot": {
230
275
  "title": "Split Data by",
231
- "description": "You can specify a column in the input data to autogenerate dataseries for each distinct entry in this column. E.g. if you have a table with columns [city, lon, lat, temperature] and specify 'city' as split column, then you will get a layer for each city.",
276
+ "description": "Column value used to split data into multiple layers automatically. Each unique pivot value creates a separate map layer (e.g., pivot by 'vehicle_id' for fleet tracking).",
232
277
  "type": "string",
233
278
  "order": 5
234
279
  }