@jupytergis/schema 0.15.0 → 0.16.0-alpha.1
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/lib/_interface/forms.json +7816 -555
- package/lib/_interface/processing/clipRasterByExtent.d.ts +39 -0
- package/lib/_interface/processing/clipRasterByVector.d.ts +32 -0
- package/lib/_interface/processing/clipVectorByMaskLayer.d.ts +28 -0
- package/lib/_interface/processing/rasterize.d.ts +42 -0
- package/lib/_interface/project/jgis.d.ts +20 -5
- package/lib/_interface/project/layers/geoTiffLayer.d.ts +351 -0
- package/lib/_interface/project/layers/{heatmapLayer.d.ts → openeoTileLayer.d.ts} +2 -19
- package/lib/_interface/project/layers/storySegmentLayer.d.ts +6 -0
- package/lib/_interface/project/layers/vectorLayer.d.ts +599 -5
- package/lib/_interface/project/layers/vectorTileLayer.d.ts +566 -2
- package/lib/_interface/project/sources/geoJsonSource.d.ts +8 -0
- package/lib/_interface/project/sources/geoPackageRasterSource.d.ts +36 -0
- package/lib/_interface/project/sources/geoPackageVectorSource.d.ts +28 -0
- package/lib/_interface/project/sources/geoParquetSource.d.ts +8 -0
- package/lib/_interface/project/sources/geoTiffSource.d.ts +8 -0
- package/lib/_interface/project/sources/imageSource.d.ts +8 -0
- package/lib/_interface/project/sources/openeoTileSource.d.ts +26 -0
- package/lib/_interface/project/sources/rasterDemSource.d.ts +8 -0
- package/lib/_interface/project/sources/rasterSource.d.ts +8 -0
- package/lib/_interface/project/sources/shapefileSource.d.ts +8 -0
- package/lib/_interface/project/sources/vectorTileSource.d.ts +8 -0
- package/lib/_interface/project/sources/videoSource.d.ts +8 -0
- package/lib/_interface/project/sources/wmsTileSource.d.ts +8 -0
- package/lib/_interface/project/symbology.d.ts +305 -0
- package/lib/_interface/version.d.ts +1 -1
- package/lib/_interface/version.js +1 -1
- package/lib/doc.d.ts +9 -3
- package/lib/doc.js +47 -4
- package/lib/grammar/grammarConversions.d.ts +50 -0
- package/lib/grammar/grammarConversions.js +137 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +2 -0
- package/lib/interfaces.d.ts +88 -20
- package/lib/interfaces.js +10 -1
- package/lib/migrations/index.d.ts +16 -0
- package/lib/migrations/index.js +52 -0
- package/lib/migrations/v0_5_to_v0_6.d.ts +11 -0
- package/lib/migrations/v0_5_to_v0_6.js +154 -0
- package/lib/model.d.ts +49 -13
- package/lib/model.js +212 -21
- package/lib/processing/ProcessingMerge.d.ts +4 -0
- package/lib/processing/ProcessingMerge.js +4 -0
- package/lib/processing/_generated/exportProcessingSchema.d.ts +8 -4
- package/lib/processing/_generated/exportProcessingSchema.js +8 -4
- package/lib/processing/_generated/processingType.d.ts +1 -1
- package/lib/processing/_generated/processingType.js +8 -4
- package/lib/processing/_generated/processing_merge.json +84 -29
- package/lib/schema/processing/clipRasterByExtent.json +39 -0
- package/lib/schema/processing/clipRasterByVector.json +33 -0
- package/lib/schema/processing/clipVectorByMaskLayer.json +27 -0
- package/lib/schema/processing/rasterize.json +45 -0
- package/lib/schema/project/jgis.json +34 -6
- package/lib/schema/project/layers/{webGlLayer.json → geoTiffLayer.json} +9 -3
- package/lib/schema/project/layers/openeoTileLayer.json +21 -0
- package/lib/schema/project/layers/storySegmentLayer.json +14 -3
- package/lib/schema/project/layers/vectorLayer.json +73 -14
- package/lib/schema/project/layers/vectorTileLayer.json +14 -10
- package/lib/schema/project/sources/geoJsonSource.json +13 -0
- package/lib/schema/project/sources/geoPackageRasterSource.json +45 -0
- package/lib/schema/project/sources/geoPackageVectorSource.json +29 -0
- package/lib/schema/project/sources/geoParquetSource.json +13 -0
- package/lib/schema/project/sources/geoTiffSource.json +13 -0
- package/lib/schema/project/sources/imageSource.json +13 -0
- package/lib/schema/project/sources/openeoTileSource.json +23 -0
- package/lib/schema/project/sources/rasterDemSource.json +13 -0
- package/lib/schema/project/sources/rasterSource.json +13 -0
- package/lib/schema/project/sources/shapefileSource.json +13 -0
- package/lib/schema/project/sources/vectorTileSource.json +13 -0
- package/lib/schema/project/sources/videoSource.json +13 -0
- package/lib/schema/project/sources/wmsTileSource.json +13 -0
- package/lib/schema/project/symbology.json +418 -0
- package/lib/types.d.ts +15 -2
- package/lib/types.js +7 -2
- package/package.json +2 -1
- package/lib/_interface/project/layers/webGlLayer.d.ts +0 -39
- package/lib/schema/project/layers/heatmapLayer.json +0 -54
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
[
|
|
2
|
-
{
|
|
3
|
-
"description": "BoundingBoxes",
|
|
4
|
-
"name": "boundingBoxes",
|
|
5
|
-
"operationParams": [],
|
|
6
|
-
"label": "Bounding Boxes",
|
|
7
|
-
"operations": {
|
|
8
|
-
"sql": "SELECT ST_Envelope(geometry) AS geometry, * FROM \"{layerName}\"",
|
|
9
|
-
"gdalFunction": "ogr2ogr"
|
|
10
|
-
},
|
|
11
|
-
"type": "vector"
|
|
12
|
-
},
|
|
13
2
|
{
|
|
14
3
|
"description": "ConcaveHull",
|
|
15
4
|
"name": "concaveHull",
|
|
@@ -25,28 +14,37 @@
|
|
|
25
14
|
"type": "vector"
|
|
26
15
|
},
|
|
27
16
|
{
|
|
28
|
-
"description": "
|
|
29
|
-
"name": "
|
|
30
|
-
"operationParams": [
|
|
31
|
-
|
|
32
|
-
],
|
|
33
|
-
"label": "Dissolve",
|
|
17
|
+
"description": "Centroids",
|
|
18
|
+
"name": "centroids",
|
|
19
|
+
"operationParams": [],
|
|
20
|
+
"label": "Centroids",
|
|
34
21
|
"operations": {
|
|
35
22
|
"gdalFunction": "ogr2ogr",
|
|
36
|
-
"sql": "SELECT
|
|
23
|
+
"sql": "SELECT ST_Centroid(geometry) AS geometry, * FROM \"{layerName}\""
|
|
37
24
|
},
|
|
38
25
|
"type": "vector"
|
|
39
26
|
},
|
|
40
27
|
{
|
|
41
|
-
"description": "
|
|
42
|
-
"name": "
|
|
43
|
-
"label": "
|
|
28
|
+
"description": "ClipRasterByVector",
|
|
29
|
+
"name": "clipRasterByVector",
|
|
30
|
+
"label": "Clip Raster by Vector",
|
|
44
31
|
"operationParams": [
|
|
45
|
-
"
|
|
32
|
+
"clipLayer",
|
|
33
|
+
"cropToCutline"
|
|
46
34
|
],
|
|
47
35
|
"operations": {
|
|
48
|
-
"gdalFunction": "
|
|
49
|
-
|
|
36
|
+
"gdalFunction": "gdalwarp"
|
|
37
|
+
},
|
|
38
|
+
"type": "rasterClipVector"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"description": "BoundingBoxes",
|
|
42
|
+
"name": "boundingBoxes",
|
|
43
|
+
"operationParams": [],
|
|
44
|
+
"label": "Bounding Boxes",
|
|
45
|
+
"operations": {
|
|
46
|
+
"sql": "SELECT ST_Envelope(geometry) AS geometry, * FROM \"{layerName}\"",
|
|
47
|
+
"gdalFunction": "ogr2ogr"
|
|
50
48
|
},
|
|
51
49
|
"type": "vector"
|
|
52
50
|
},
|
|
@@ -62,13 +60,70 @@
|
|
|
62
60
|
"type": "vector"
|
|
63
61
|
},
|
|
64
62
|
{
|
|
65
|
-
"description": "
|
|
66
|
-
"name": "
|
|
67
|
-
"
|
|
68
|
-
"
|
|
63
|
+
"description": "ClipVectorByMaskLayer",
|
|
64
|
+
"name": "clipVectorByMaskLayer",
|
|
65
|
+
"label": "Mask Layer",
|
|
66
|
+
"operationParams": [
|
|
67
|
+
"clipLayer"
|
|
68
|
+
],
|
|
69
|
+
"operations": {
|
|
70
|
+
"gdalFunction": "ogr2ogr"
|
|
71
|
+
},
|
|
72
|
+
"type": "clip"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"description": "ClipRasterByExtent",
|
|
76
|
+
"name": "clipRasterByExtent",
|
|
77
|
+
"label": "Clip Raster by Extent",
|
|
78
|
+
"operationParams": [
|
|
79
|
+
"xMin",
|
|
80
|
+
"yMin",
|
|
81
|
+
"xMax",
|
|
82
|
+
"yMax"
|
|
83
|
+
],
|
|
84
|
+
"operations": {
|
|
85
|
+
"gdalFunction": "gdal_translate"
|
|
86
|
+
},
|
|
87
|
+
"type": "rasterClip"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"description": "Rasterize",
|
|
91
|
+
"name": "rasterize",
|
|
92
|
+
"label": "Rasterize",
|
|
93
|
+
"operationParams": [
|
|
94
|
+
"pixelSize",
|
|
95
|
+
"attributeField",
|
|
96
|
+
"burnValue",
|
|
97
|
+
"noDataValue"
|
|
98
|
+
],
|
|
99
|
+
"operations": {
|
|
100
|
+
"gdalFunction": "gdal_rasterize"
|
|
101
|
+
},
|
|
102
|
+
"type": "raster"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"description": "Buffer",
|
|
106
|
+
"name": "buffer",
|
|
107
|
+
"label": "Buffer",
|
|
108
|
+
"operationParams": [
|
|
109
|
+
"bufferDistance"
|
|
110
|
+
],
|
|
69
111
|
"operations": {
|
|
70
112
|
"gdalFunction": "ogr2ogr",
|
|
71
|
-
"sql": "SELECT
|
|
113
|
+
"sql": "SELECT ST_Union(ST_Buffer(geometry, {bufferDistance})) AS geometry, * FROM \"{layerName}\""
|
|
114
|
+
},
|
|
115
|
+
"type": "vector"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"description": "Dissolve",
|
|
119
|
+
"name": "dissolve",
|
|
120
|
+
"operationParams": [
|
|
121
|
+
"dissolveField"
|
|
122
|
+
],
|
|
123
|
+
"label": "Dissolve",
|
|
124
|
+
"operations": {
|
|
125
|
+
"gdalFunction": "ogr2ogr",
|
|
126
|
+
"sql": "SELECT ST_Union(geometry) AS geometry, {dissolveField} FROM \"{layerName}\" GROUP BY {dissolveField}"
|
|
72
127
|
},
|
|
73
128
|
"type": "vector"
|
|
74
129
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"description": "ClipRasterByExtent",
|
|
4
|
+
"title": "IClipRasterByExtent",
|
|
5
|
+
"required": ["inputLayer", "xMin", "yMin", "xMax", "yMax"],
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"inputLayer": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The raster layer to clip."
|
|
11
|
+
},
|
|
12
|
+
"xMin": {
|
|
13
|
+
"type": "number",
|
|
14
|
+
"description": "Minimum X coordinate (left edge) of the clipping extent."
|
|
15
|
+
},
|
|
16
|
+
"yMin": {
|
|
17
|
+
"type": "number",
|
|
18
|
+
"description": "Minimum Y coordinate (bottom edge) of the clipping extent."
|
|
19
|
+
},
|
|
20
|
+
"xMax": {
|
|
21
|
+
"type": "number",
|
|
22
|
+
"description": "Maximum X coordinate (right edge) of the clipping extent."
|
|
23
|
+
},
|
|
24
|
+
"yMax": {
|
|
25
|
+
"type": "number",
|
|
26
|
+
"description": "Maximum Y coordinate (top edge) of the clipping extent."
|
|
27
|
+
},
|
|
28
|
+
"outputFileName": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Output file name for the clipped raster.",
|
|
31
|
+
"default": "clipped.tif"
|
|
32
|
+
},
|
|
33
|
+
"embedOutputLayer": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"title": "Embed output clipped raster in file",
|
|
36
|
+
"default": false
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"description": "ClipRasterByVector",
|
|
4
|
+
"title": "IClipRasterByVector",
|
|
5
|
+
"required": ["inputLayer", "clipLayer"],
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"inputLayer": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The raster layer to clip."
|
|
11
|
+
},
|
|
12
|
+
"clipLayer": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "The vector layer to use as the cutline boundary."
|
|
15
|
+
},
|
|
16
|
+
"cropToCutline": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"title": "Crop to cutline extent",
|
|
19
|
+
"description": "Shrink the output extent to the cutline's bounding box. When off, the original raster extent is preserved and pixels outside the cutline are set to nodata.",
|
|
20
|
+
"default": true
|
|
21
|
+
},
|
|
22
|
+
"outputFileName": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "Output file name for the clipped raster.",
|
|
25
|
+
"default": "clipped.tif"
|
|
26
|
+
},
|
|
27
|
+
"embedOutputLayer": {
|
|
28
|
+
"type": "boolean",
|
|
29
|
+
"title": "Embed output clipped raster in jGIS file",
|
|
30
|
+
"default": false
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"description": "ClipVectorByMaskLayer",
|
|
4
|
+
"title": "IClipVectorByMaskLayer",
|
|
5
|
+
"required": ["inputLayer", "clipLayer"],
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"inputLayer": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The input layer to clip."
|
|
11
|
+
},
|
|
12
|
+
"clipLayer": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "The layer to use as the clip boundary."
|
|
15
|
+
},
|
|
16
|
+
"outputLayerName": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"title": "Output Layer Name",
|
|
19
|
+
"description": "Name for the resulting clipped layer."
|
|
20
|
+
},
|
|
21
|
+
"embedOutputLayer": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"title": "Embed output clipped layer in file",
|
|
24
|
+
"default": true
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"description": "Rasterize",
|
|
4
|
+
"title": "IRasterize",
|
|
5
|
+
"required": ["inputLayer", "pixelSize", "outputFileName"],
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"inputLayer": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The input vector layer to rasterize."
|
|
11
|
+
},
|
|
12
|
+
"pixelSize": {
|
|
13
|
+
"type": "number",
|
|
14
|
+
"default": 0.1,
|
|
15
|
+
"exclusiveMinimum": 0,
|
|
16
|
+
"description": "Output raster pixel size (in projection units). Must be greater than 0."
|
|
17
|
+
},
|
|
18
|
+
"attributeField": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"default": "",
|
|
21
|
+
"description": "Optional feature attribute used to burn values. Leave empty to use a fixed burn value."
|
|
22
|
+
},
|
|
23
|
+
"burnValue": {
|
|
24
|
+
"type": "number",
|
|
25
|
+
"default": 1,
|
|
26
|
+
"description": "Fixed value burned into raster cells when no attribute field is provided."
|
|
27
|
+
},
|
|
28
|
+
"noDataValue": {
|
|
29
|
+
"type": "number",
|
|
30
|
+
"default": 0,
|
|
31
|
+
"description": "Value assigned to cells not covered by any feature."
|
|
32
|
+
},
|
|
33
|
+
"outputFileName": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"default": "rasterized.tif",
|
|
36
|
+
"description": "Output GeoTIFF filename, saved next to the project file."
|
|
37
|
+
},
|
|
38
|
+
"embedOutputLayer": {
|
|
39
|
+
"type": "boolean",
|
|
40
|
+
"title": "Embed output GeoTIFF in file",
|
|
41
|
+
"default": false,
|
|
42
|
+
"description": "When enabled, the GeoTIFF is base64-embedded inside the .jGIS document instead of being written to disk."
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"properties": {
|
|
7
7
|
"schemaVersion": {
|
|
8
8
|
"type": "string",
|
|
9
|
-
"default": "0.
|
|
9
|
+
"default": "0.6.0"
|
|
10
10
|
},
|
|
11
11
|
"layers": {
|
|
12
12
|
"$ref": "#/definitions/jGISLayers"
|
|
@@ -23,6 +23,9 @@
|
|
|
23
23
|
"stories": {
|
|
24
24
|
"$ref": "#/definitions/jGISStoryMap"
|
|
25
25
|
},
|
|
26
|
+
"viewState": {
|
|
27
|
+
"$ref": "#/definitions/jGISViewState"
|
|
28
|
+
},
|
|
26
29
|
"metadata": {
|
|
27
30
|
"type": "object",
|
|
28
31
|
"patternProperties": {
|
|
@@ -41,11 +44,11 @@
|
|
|
41
44
|
"VectorLayer",
|
|
42
45
|
"VectorTileLayer",
|
|
43
46
|
"HillshadeLayer",
|
|
44
|
-
"
|
|
47
|
+
"GeoTiffLayer",
|
|
45
48
|
"ImageLayer",
|
|
46
|
-
"HeatmapLayer",
|
|
47
49
|
"StacLayer",
|
|
48
|
-
"StorySegmentLayer"
|
|
50
|
+
"StorySegmentLayer",
|
|
51
|
+
"OpenEOTileLayer"
|
|
49
52
|
]
|
|
50
53
|
},
|
|
51
54
|
"sourceType": {
|
|
@@ -60,8 +63,11 @@
|
|
|
60
63
|
"ImageSource",
|
|
61
64
|
"ShapefileSource",
|
|
62
65
|
"GeoTiffSource",
|
|
66
|
+
"GeoPackageVectorSource",
|
|
67
|
+
"GeoPackageRasterSource",
|
|
63
68
|
"GeoParquetSource",
|
|
64
|
-
"MarkerSource"
|
|
69
|
+
"MarkerSource",
|
|
70
|
+
"OpenEOTileSource"
|
|
65
71
|
]
|
|
66
72
|
},
|
|
67
73
|
"jGISLayer": {
|
|
@@ -154,7 +160,7 @@
|
|
|
154
160
|
"storyType": {
|
|
155
161
|
"type": "string",
|
|
156
162
|
"title": "Story Type",
|
|
157
|
-
"enum": ["guided", "unguided"],
|
|
163
|
+
"enum": ["guided", "unguided", "Vertical Scroll"],
|
|
158
164
|
"description": "The type of story map"
|
|
159
165
|
},
|
|
160
166
|
"storySegments": {
|
|
@@ -207,6 +213,28 @@
|
|
|
207
213
|
"$ref": "#/definitions/jGISLayerItem"
|
|
208
214
|
}
|
|
209
215
|
},
|
|
216
|
+
"jGISViewState": {
|
|
217
|
+
"title": "IJGISViewState",
|
|
218
|
+
"type": "object",
|
|
219
|
+
"default": {},
|
|
220
|
+
"additionalProperties": {
|
|
221
|
+
"type": "object",
|
|
222
|
+
"additionalProperties": false,
|
|
223
|
+
"properties": {
|
|
224
|
+
"extent": {
|
|
225
|
+
"type": "array",
|
|
226
|
+
"items": { "type": "number" }
|
|
227
|
+
},
|
|
228
|
+
"zoom": {
|
|
229
|
+
"type": "number"
|
|
230
|
+
},
|
|
231
|
+
"projection": {
|
|
232
|
+
"type": "string"
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"required": ["extent"]
|
|
236
|
+
}
|
|
237
|
+
},
|
|
210
238
|
"jGISOptions": {
|
|
211
239
|
"title": "IJGISOptions",
|
|
212
240
|
"type": "object",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "object",
|
|
3
|
-
"description": "
|
|
4
|
-
"title": "
|
|
3
|
+
"description": "GeoTiffLayer",
|
|
4
|
+
"title": "IGeoTiffLayer",
|
|
5
5
|
"required": ["source"],
|
|
6
6
|
"additionalProperties": false,
|
|
7
7
|
"properties": {
|
|
@@ -51,8 +51,14 @@
|
|
|
51
51
|
"symbologyState": {
|
|
52
52
|
"type": "object",
|
|
53
53
|
"description": "The state of the symbology panel options",
|
|
54
|
-
"required": ["renderType"],
|
|
55
54
|
"properties": {
|
|
55
|
+
"layers": {
|
|
56
|
+
"type": "array",
|
|
57
|
+
"description": "Grammar rendering layers.",
|
|
58
|
+
"items": {
|
|
59
|
+
"$ref": "project/symbology.json#/definitions/IGrammarLayer"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
56
62
|
"renderType": {
|
|
57
63
|
"type": "string",
|
|
58
64
|
"default": "Singleband Pseudocolor"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"description": "OpenEOTileLayer",
|
|
4
|
+
"title": "IOpenEOTileLayer",
|
|
5
|
+
"required": ["source"],
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"source": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The id of the source"
|
|
11
|
+
},
|
|
12
|
+
"opacity": {
|
|
13
|
+
"type": "number",
|
|
14
|
+
"description": "The opacity of the source",
|
|
15
|
+
"default": 1,
|
|
16
|
+
"multipleOf": 0.1,
|
|
17
|
+
"minimum": 0,
|
|
18
|
+
"maximum": 1
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -16,10 +16,16 @@
|
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
18
|
"content": {
|
|
19
|
-
"type": "object",
|
|
20
19
|
"title": "Segment Content",
|
|
21
|
-
"
|
|
20
|
+
"type": "object",
|
|
22
21
|
"properties": {
|
|
22
|
+
"contentMode": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"title": "Content Mode",
|
|
25
|
+
"description": "Display map or markdown content while this segment is active",
|
|
26
|
+
"enum": ["map", "markdown"],
|
|
27
|
+
"default": "map"
|
|
28
|
+
},
|
|
23
29
|
"title": {
|
|
24
30
|
"title": "Segment Title",
|
|
25
31
|
"type": "string",
|
|
@@ -36,7 +42,12 @@
|
|
|
36
42
|
"default": ""
|
|
37
43
|
}
|
|
38
44
|
},
|
|
39
|
-
"
|
|
45
|
+
"required": ["contentMode"],
|
|
46
|
+
"default": {
|
|
47
|
+
"contentMode": "map",
|
|
48
|
+
"title": "",
|
|
49
|
+
"image": ""
|
|
50
|
+
}
|
|
40
51
|
},
|
|
41
52
|
"transition": {
|
|
42
53
|
"type": "object",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"color": {
|
|
13
13
|
"type": "object",
|
|
14
|
-
"description": "
|
|
14
|
+
"description": "DEPRECATED. Legacy OpenLayers FlatStyle cache. New files should not set this; symbologyState is the source of truth. Retained only so that legacy .jGIS files can be migrated on load.",
|
|
15
15
|
"default": {}
|
|
16
16
|
},
|
|
17
17
|
"opacity": {
|
|
@@ -24,17 +24,8 @@
|
|
|
24
24
|
},
|
|
25
25
|
"symbologyState": {
|
|
26
26
|
"type": "object",
|
|
27
|
-
"description": "The
|
|
28
|
-
"required": ["renderType"],
|
|
27
|
+
"description": "The symbology configuration. This is the single source of truth for how the layer is rendered; the OpenLayers style is derived from it on the fly.",
|
|
29
28
|
"properties": {
|
|
30
|
-
"renderType": {
|
|
31
|
-
"type": "string",
|
|
32
|
-
"enum": ["Single Symbol", "Graduated", "Categorized", "Canonical"],
|
|
33
|
-
"default": "Single Symbol"
|
|
34
|
-
},
|
|
35
|
-
"value": {
|
|
36
|
-
"type": "string"
|
|
37
|
-
},
|
|
38
29
|
"method": {
|
|
39
30
|
"type": "string",
|
|
40
31
|
"enum": ["color", "radius"],
|
|
@@ -48,7 +39,7 @@
|
|
|
48
39
|
"type": "number",
|
|
49
40
|
"default": 9.0
|
|
50
41
|
},
|
|
51
|
-
"
|
|
42
|
+
"reverseRamp": {
|
|
52
43
|
"type": "boolean",
|
|
53
44
|
"default": false
|
|
54
45
|
},
|
|
@@ -82,14 +73,82 @@
|
|
|
82
73
|
"type": "boolean",
|
|
83
74
|
"description": "Whether the stroke color follows the fill color expression",
|
|
84
75
|
"default": false
|
|
76
|
+
},
|
|
77
|
+
"fillColor": {
|
|
78
|
+
"type": "array",
|
|
79
|
+
"description": "Manual RGBA fill color. Used for Single Symbol, and as the base fill for Categorized when no stops are defined.",
|
|
80
|
+
"items": { "type": "number" },
|
|
81
|
+
"minItems": 4,
|
|
82
|
+
"maxItems": 4
|
|
83
|
+
},
|
|
84
|
+
"strokeColor": {
|
|
85
|
+
"type": "array",
|
|
86
|
+
"description": "Manual RGBA stroke color",
|
|
87
|
+
"items": { "type": "number" },
|
|
88
|
+
"minItems": 4,
|
|
89
|
+
"maxItems": 4
|
|
90
|
+
},
|
|
91
|
+
"strokeWidth": {
|
|
92
|
+
"type": "number",
|
|
93
|
+
"description": "Stroke width in pixels",
|
|
94
|
+
"default": 1.25
|
|
95
|
+
},
|
|
96
|
+
"radius": {
|
|
97
|
+
"type": "number",
|
|
98
|
+
"description": "Circle radius in pixels for point geometries (Single Symbol, and the base for Graduated radius)",
|
|
99
|
+
"default": 5
|
|
100
|
+
},
|
|
101
|
+
"joinStyle": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"enum": ["bevel", "round", "miter"],
|
|
104
|
+
"default": "round"
|
|
105
|
+
},
|
|
106
|
+
"capStyle": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"enum": ["butt", "round", "square"],
|
|
109
|
+
"default": "round"
|
|
110
|
+
},
|
|
111
|
+
"geometryType": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"enum": ["fill", "circle", "line"],
|
|
114
|
+
"description": "The type of geometry."
|
|
115
|
+
},
|
|
116
|
+
"stopsOverride": {
|
|
117
|
+
"type": "array",
|
|
118
|
+
"description": "User-customized color stops that override the computed classification. Saved only when the user manually edits stop colors in the dialog.",
|
|
119
|
+
"items": {
|
|
120
|
+
"type": "object",
|
|
121
|
+
"properties": {
|
|
122
|
+
"value": {},
|
|
123
|
+
"color": {
|
|
124
|
+
"type": "array",
|
|
125
|
+
"items": { "type": "number" },
|
|
126
|
+
"minItems": 4,
|
|
127
|
+
"maxItems": 4
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"rules": {
|
|
133
|
+
"type": "array",
|
|
134
|
+
"description": "Legacy top-level encoding rules (backward compatibility). New files should use layers.",
|
|
135
|
+
"items": {
|
|
136
|
+
"$ref": "project/symbology.json#/definitions/IEncodingRule"
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"layers": {
|
|
140
|
+
"type": "array",
|
|
141
|
+
"description": "Grammar rendering layers. Each layer is an independent rendering pipeline with optional preprocess transforms and encoding rules.",
|
|
142
|
+
"items": {
|
|
143
|
+
"$ref": "project/symbology.json#/definitions/IGrammarLayer"
|
|
144
|
+
}
|
|
85
145
|
}
|
|
86
146
|
},
|
|
87
147
|
"additionalProperties": false,
|
|
88
148
|
"default": {
|
|
89
|
-
"renderType": "Single Symbol",
|
|
90
149
|
"method": "color",
|
|
91
150
|
"colorRamp": "viridis",
|
|
92
|
-
"nClasses":
|
|
151
|
+
"nClasses": 9,
|
|
93
152
|
"mode": "equal interval"
|
|
94
153
|
}
|
|
95
154
|
}
|
|
@@ -25,17 +25,7 @@
|
|
|
25
25
|
"symbologyState": {
|
|
26
26
|
"type": "object",
|
|
27
27
|
"description": "The state of the symbology panel options",
|
|
28
|
-
"required": ["renderType"],
|
|
29
28
|
"properties": {
|
|
30
|
-
"renderType": {
|
|
31
|
-
"type": "string",
|
|
32
|
-
"enum": ["Single Symbol", "Graduated", "Categorized", "Canonical"],
|
|
33
|
-
"default": "Single Symbol"
|
|
34
|
-
},
|
|
35
|
-
"value": {
|
|
36
|
-
"type": "string",
|
|
37
|
-
"default": ""
|
|
38
|
-
},
|
|
39
29
|
"method": {
|
|
40
30
|
"type": "string",
|
|
41
31
|
"enum": ["color", "radius"],
|
|
@@ -79,6 +69,20 @@
|
|
|
79
69
|
"type": "boolean",
|
|
80
70
|
"description": "Whether the stroke color follows the fill color expression",
|
|
81
71
|
"default": false
|
|
72
|
+
},
|
|
73
|
+
"rules": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"description": "Legacy top-level encoding rules (backward compatibility). New files should use layers.",
|
|
76
|
+
"items": {
|
|
77
|
+
"$ref": "project/symbology.json#/definitions/IEncodingRule"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"layers": {
|
|
81
|
+
"type": "array",
|
|
82
|
+
"description": "Grammar rendering layers. Each layer is an independent rendering pipeline with optional preprocess transforms and encoding rules.",
|
|
83
|
+
"items": {
|
|
84
|
+
"$ref": "project/symbology.json#/definitions/IGrammarLayer"
|
|
85
|
+
}
|
|
82
86
|
}
|
|
83
87
|
},
|
|
84
88
|
"additionalProperties": false,
|
|
@@ -13,6 +13,19 @@
|
|
|
13
13
|
"type": "object",
|
|
14
14
|
"description": "The GeoJSON data",
|
|
15
15
|
"$ref": "./geojson.json"
|
|
16
|
+
},
|
|
17
|
+
"useProxy": {
|
|
18
|
+
"type": "boolean",
|
|
19
|
+
"description": "Route requests through the Jupyter server proxy to avoid CORS issues.",
|
|
20
|
+
"default": false
|
|
21
|
+
},
|
|
22
|
+
"httpHeaders": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "HTTP headers forwarded to the upstream server when useProxy is true.",
|
|
25
|
+
"default": "",
|
|
26
|
+
"additionalProperties": {
|
|
27
|
+
"type": "string"
|
|
28
|
+
}
|
|
16
29
|
}
|
|
17
30
|
}
|
|
18
31
|
}
|