@jupytergis/schema 0.14.1 → 0.16.0-alpha.0
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 +7834 -417
- 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 +21 -4
- package/lib/_interface/project/layers/geoTiffLayer.d.ts +351 -0
- package/lib/_interface/project/layers/heatmapLayer.d.ts +8 -1
- package/lib/_interface/project/layers/openeoTileLayer.d.ts +20 -0
- package/lib/_interface/project/layers/storySegmentLayer.d.ts +6 -0
- package/lib/_interface/project/layers/vectorLayer.d.ts +615 -5
- package/lib/_interface/project/layers/vectorTileLayer.d.ts +582 -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 +40 -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 -2
- package/lib/doc.js +49 -5
- 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 +87 -19
- 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 +214 -23
- package/lib/processing/ProcessingMerge.d.ts +4 -0
- package/lib/processing/ProcessingMerge.js +4 -0
- package/lib/processing/_generated/exportProcessingSchema.d.ts +7 -3
- package/lib/processing/_generated/exportProcessingSchema.js +7 -3
- package/lib/processing/_generated/processingType.d.ts +1 -1
- package/lib/processing/_generated/processingType.js +7 -3
- package/lib/processing/_generated/processing_merge.json +74 -19
- 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 +35 -5
- package/lib/schema/project/layers/{webGlLayer.json → geoTiffLayer.json} +9 -3
- package/lib/schema/project/layers/heatmapLayer.json +7 -1
- 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 +93 -14
- package/lib/schema/project/layers/vectorTileLayer.json +34 -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 +48 -0
- package/lib/schema/project/symbology.json +418 -0
- package/lib/types.d.ts +16 -1
- package/lib/types.js +8 -1
- package/package.json +3 -1
- package/lib/_interface/project/layers/webGlLayer.d.ts +0 -39
|
@@ -31,6 +31,19 @@
|
|
|
31
31
|
"type": "boolean",
|
|
32
32
|
"description": "Interpolate between grid cells when overzooming?",
|
|
33
33
|
"default": false
|
|
34
|
+
},
|
|
35
|
+
"useProxy": {
|
|
36
|
+
"type": "boolean",
|
|
37
|
+
"description": "Route requests through the Jupyter server proxy to avoid CORS issues.",
|
|
38
|
+
"default": false
|
|
39
|
+
},
|
|
40
|
+
"httpHeaders": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "HTTP headers forwarded to the upstream server when useProxy is true.",
|
|
43
|
+
"default": "",
|
|
44
|
+
"additionalProperties": {
|
|
45
|
+
"type": "string"
|
|
46
|
+
}
|
|
34
47
|
}
|
|
35
48
|
}
|
|
36
49
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"description": "OpenEOTileSource",
|
|
4
|
+
"title": "IOpenEOTileSource",
|
|
5
|
+
"required": ["processGraph"],
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"processGraph": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"readOnly": true,
|
|
11
|
+
"description": "The process graph for the OpenEO layer.",
|
|
12
|
+
"default": {}
|
|
13
|
+
},
|
|
14
|
+
"serverUrl": {
|
|
15
|
+
"description": "The OpenEO tile server url.",
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"authBearer": {
|
|
19
|
+
"description": "The OpenEO connection identifier.",
|
|
20
|
+
"type": "string"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -26,6 +26,19 @@
|
|
|
26
26
|
"type": "boolean",
|
|
27
27
|
"description": "Interpolate between grid cells when overzooming?",
|
|
28
28
|
"default": false
|
|
29
|
+
},
|
|
30
|
+
"useProxy": {
|
|
31
|
+
"type": "boolean",
|
|
32
|
+
"description": "Route tile requests through the Jupyter server proxy to avoid CORS issues.",
|
|
33
|
+
"default": false
|
|
34
|
+
},
|
|
35
|
+
"httpHeaders": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"description": "HTTP headers forwarded to the upstream tile server when useProxy is true.",
|
|
38
|
+
"default": "",
|
|
39
|
+
"additionalProperties": {
|
|
40
|
+
"type": "string"
|
|
41
|
+
}
|
|
29
42
|
}
|
|
30
43
|
}
|
|
31
44
|
}
|
|
@@ -68,6 +68,19 @@
|
|
|
68
68
|
"title": "Interpolate",
|
|
69
69
|
"description": "Interpolate between grid cells when overzooming?",
|
|
70
70
|
"default": false
|
|
71
|
+
},
|
|
72
|
+
"useProxy": {
|
|
73
|
+
"type": "boolean",
|
|
74
|
+
"description": "Route tile requests through the Jupyter server proxy to avoid CORS issues.",
|
|
75
|
+
"default": false
|
|
76
|
+
},
|
|
77
|
+
"httpHeaders": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"description": "HTTP headers forwarded to the upstream tile server when useProxy is true.",
|
|
80
|
+
"default": "",
|
|
81
|
+
"additionalProperties": {
|
|
82
|
+
"type": "string"
|
|
83
|
+
}
|
|
71
84
|
}
|
|
72
85
|
}
|
|
73
86
|
}
|
|
@@ -33,6 +33,19 @@
|
|
|
33
33
|
"type": "string"
|
|
34
34
|
},
|
|
35
35
|
"default": {}
|
|
36
|
+
},
|
|
37
|
+
"useProxy": {
|
|
38
|
+
"type": "boolean",
|
|
39
|
+
"description": "Route requests through the Jupyter server proxy to avoid CORS issues.",
|
|
40
|
+
"default": false
|
|
41
|
+
},
|
|
42
|
+
"httpHeaders": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "HTTP headers forwarded to the upstream server when useProxy is true.",
|
|
45
|
+
"default": "",
|
|
46
|
+
"additionalProperties": {
|
|
47
|
+
"type": "string"
|
|
48
|
+
}
|
|
36
49
|
}
|
|
37
50
|
}
|
|
38
51
|
}
|
|
@@ -40,6 +40,19 @@
|
|
|
40
40
|
"type": "string"
|
|
41
41
|
},
|
|
42
42
|
"default": {}
|
|
43
|
+
},
|
|
44
|
+
"useProxy": {
|
|
45
|
+
"type": "boolean",
|
|
46
|
+
"description": "Route tile requests through the Jupyter server proxy to avoid CORS issues.",
|
|
47
|
+
"default": false
|
|
48
|
+
},
|
|
49
|
+
"httpHeaders": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"description": "HTTP headers forwarded to the upstream tile server when useProxy is true.",
|
|
52
|
+
"default": "",
|
|
53
|
+
"additionalProperties": {
|
|
54
|
+
"type": "string"
|
|
55
|
+
}
|
|
43
56
|
}
|
|
44
57
|
}
|
|
45
58
|
}
|
|
@@ -28,6 +28,19 @@
|
|
|
28
28
|
"maxItems": 4,
|
|
29
29
|
"default": [],
|
|
30
30
|
"description": "Corners of video specified in longitude, latitude pairs"
|
|
31
|
+
},
|
|
32
|
+
"useProxy": {
|
|
33
|
+
"type": "boolean",
|
|
34
|
+
"description": "Route requests through the Jupyter server proxy to avoid CORS issues.",
|
|
35
|
+
"default": false
|
|
36
|
+
},
|
|
37
|
+
"httpHeaders": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"description": "HTTP headers forwarded to the upstream server when useProxy is true.",
|
|
40
|
+
"default": "",
|
|
41
|
+
"additionalProperties": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
}
|
|
31
44
|
}
|
|
32
45
|
}
|
|
33
46
|
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"description": "WmsTileSource",
|
|
4
|
+
"title": "IWmsTileSource",
|
|
5
|
+
"required": ["url", "params"],
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"url": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The url to the tile provider"
|
|
11
|
+
},
|
|
12
|
+
"params": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"title": "Params for URL query",
|
|
15
|
+
"required": ["layers"],
|
|
16
|
+
"properties": {
|
|
17
|
+
"layers": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "WMS layer name to request"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"attribution": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"readOnly": true,
|
|
26
|
+
"description": "The attribution for the raster source",
|
|
27
|
+
"default": ""
|
|
28
|
+
},
|
|
29
|
+
"interpolate": {
|
|
30
|
+
"type": "boolean",
|
|
31
|
+
"description": "Interpolate between grid cells when overzooming?",
|
|
32
|
+
"default": false
|
|
33
|
+
},
|
|
34
|
+
"useProxy": {
|
|
35
|
+
"type": "boolean",
|
|
36
|
+
"description": "Route tile requests through the Jupyter server proxy to avoid CORS issues.",
|
|
37
|
+
"default": false
|
|
38
|
+
},
|
|
39
|
+
"httpHeaders": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "HTTP headers forwarded to the upstream tile server when useProxy is true.",
|
|
42
|
+
"default": "",
|
|
43
|
+
"additionalProperties": {
|
|
44
|
+
"type": "string"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "object",
|
|
3
|
+
"description": "SymbologyState",
|
|
4
|
+
"title": "ISymbologyState",
|
|
5
|
+
"definitions": {
|
|
6
|
+
"RGBA": {
|
|
7
|
+
"type": "array",
|
|
8
|
+
"description": "[R 0-255, G 0-255, B 0-255, A 0-1]",
|
|
9
|
+
"items": { "type": "number" },
|
|
10
|
+
"minItems": 4,
|
|
11
|
+
"maxItems": 4
|
|
12
|
+
},
|
|
13
|
+
"ClassificationMode": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"enum": ["equal interval", "quantile", "jenks", "pretty", "logarithmic"]
|
|
16
|
+
},
|
|
17
|
+
"RGBAChannel": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"enum": [
|
|
20
|
+
"fill-color",
|
|
21
|
+
"stroke-color",
|
|
22
|
+
"circle-fill-color",
|
|
23
|
+
"circle-stroke-color",
|
|
24
|
+
"pixel-color"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"UInt8Channel": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"enum": [
|
|
30
|
+
"fill-red",
|
|
31
|
+
"fill-green",
|
|
32
|
+
"fill-blue",
|
|
33
|
+
"pixel-red",
|
|
34
|
+
"pixel-green",
|
|
35
|
+
"pixel-blue"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"UNormChannel": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"enum": ["fill-alpha", "pixel-alpha"]
|
|
41
|
+
},
|
|
42
|
+
"VirtualChannel": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"enum": ["pixel-rgb"]
|
|
45
|
+
},
|
|
46
|
+
"PosFloatChannel": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"enum": ["stroke-width", "circle-radius", "circle-stroke-width"]
|
|
49
|
+
},
|
|
50
|
+
"StyleChannel": {
|
|
51
|
+
"anyOf": [
|
|
52
|
+
{ "$ref": "#/definitions/RGBAChannel" },
|
|
53
|
+
{ "$ref": "#/definitions/UInt8Channel" },
|
|
54
|
+
{ "$ref": "#/definitions/UNormChannel" },
|
|
55
|
+
{ "$ref": "#/definitions/VirtualChannel" },
|
|
56
|
+
{ "$ref": "#/definitions/PosFloatChannel" }
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"ICompareOp": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"enum": [">", "<", ">=", "<=", "!="]
|
|
62
|
+
},
|
|
63
|
+
"IPredicate": {
|
|
64
|
+
"oneOf": [
|
|
65
|
+
{
|
|
66
|
+
"type": "object",
|
|
67
|
+
"description": "Filter by geometry type.",
|
|
68
|
+
"required": ["type", "value"],
|
|
69
|
+
"additionalProperties": false,
|
|
70
|
+
"properties": {
|
|
71
|
+
"type": { "type": "string", "enum": ["geometryType"] },
|
|
72
|
+
"value": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"enum": ["Point", "LineString", "Polygon"]
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"type": "object",
|
|
80
|
+
"description": "Filter by presence of a field.",
|
|
81
|
+
"required": ["type", "field"],
|
|
82
|
+
"additionalProperties": false,
|
|
83
|
+
"properties": {
|
|
84
|
+
"type": { "type": "string", "enum": ["hasField"] },
|
|
85
|
+
"field": { "type": "string" }
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"type": "object",
|
|
90
|
+
"description": "Filter by exact field value (string or number).",
|
|
91
|
+
"required": ["type", "field", "value"],
|
|
92
|
+
"additionalProperties": false,
|
|
93
|
+
"properties": {
|
|
94
|
+
"type": { "type": "string", "enum": ["fieldEquals"] },
|
|
95
|
+
"field": { "type": "string" },
|
|
96
|
+
"value": { "oneOf": [{ "type": "string" }, { "type": "number" }] }
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"type": "object",
|
|
101
|
+
"description": "Filter by numeric field comparison.",
|
|
102
|
+
"required": ["type", "field", "op", "value"],
|
|
103
|
+
"additionalProperties": false,
|
|
104
|
+
"properties": {
|
|
105
|
+
"type": { "type": "string", "enum": ["fieldCompare"] },
|
|
106
|
+
"field": { "type": "string" },
|
|
107
|
+
"op": { "$ref": "#/definitions/ICompareOp" },
|
|
108
|
+
"value": { "type": "number" }
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"type": "object",
|
|
113
|
+
"description": "Filter by numeric field range (inclusive).",
|
|
114
|
+
"required": ["type", "field", "min", "max"],
|
|
115
|
+
"additionalProperties": false,
|
|
116
|
+
"properties": {
|
|
117
|
+
"type": { "type": "string", "enum": ["between"] },
|
|
118
|
+
"field": { "type": "string" },
|
|
119
|
+
"min": { "type": "number" },
|
|
120
|
+
"max": { "type": "number" }
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
"IKDETransform": {
|
|
126
|
+
"type": "object",
|
|
127
|
+
"description": "KDE heatmap transform. Density output addressed as '$density'.",
|
|
128
|
+
"required": ["type", "radius", "blur"],
|
|
129
|
+
"additionalProperties": false,
|
|
130
|
+
"properties": {
|
|
131
|
+
"type": { "type": "string", "enum": ["kde"] },
|
|
132
|
+
"radius": { "type": "number", "minimum": 1 },
|
|
133
|
+
"blur": { "type": "number", "minimum": 0 },
|
|
134
|
+
"weightField": { "type": "string" }
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"IClusterTransform": {
|
|
138
|
+
"type": "object",
|
|
139
|
+
"description": "Cluster transform. Aggregates nearby points into centroids.",
|
|
140
|
+
"required": ["type", "radius"],
|
|
141
|
+
"additionalProperties": false,
|
|
142
|
+
"properties": {
|
|
143
|
+
"type": { "type": "string", "enum": ["cluster"] },
|
|
144
|
+
"radius": { "type": "number", "minimum": 1 }
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"ITransform": {
|
|
148
|
+
"oneOf": [
|
|
149
|
+
{ "$ref": "#/definitions/IKDETransform" },
|
|
150
|
+
{ "$ref": "#/definitions/IClusterTransform" }
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
"IColorRampScale": {
|
|
154
|
+
"type": "object",
|
|
155
|
+
"description": "Maps a numeric field through a named color palette to RGBA.",
|
|
156
|
+
"required": ["scheme", "params"],
|
|
157
|
+
"additionalProperties": false,
|
|
158
|
+
"properties": {
|
|
159
|
+
"scheme": { "type": "string", "enum": ["colorRamp"] },
|
|
160
|
+
"params": {
|
|
161
|
+
"type": "object",
|
|
162
|
+
"required": ["name", "nShades", "mode", "reverse", "fallback"],
|
|
163
|
+
"additionalProperties": false,
|
|
164
|
+
"properties": {
|
|
165
|
+
"name": { "type": "string" },
|
|
166
|
+
"domain": {
|
|
167
|
+
"type": "array",
|
|
168
|
+
"items": { "type": "number" },
|
|
169
|
+
"minItems": 2,
|
|
170
|
+
"maxItems": 2
|
|
171
|
+
},
|
|
172
|
+
"nShades": { "type": "number" },
|
|
173
|
+
"mode": { "$ref": "#/definitions/ClassificationMode" },
|
|
174
|
+
"reverse": { "type": "boolean" },
|
|
175
|
+
"fallback": { "$ref": "#/definitions/RGBA" },
|
|
176
|
+
"colorStops": {
|
|
177
|
+
"type": "array",
|
|
178
|
+
"items": {
|
|
179
|
+
"type": "object",
|
|
180
|
+
"required": ["stop", "color"],
|
|
181
|
+
"additionalProperties": false,
|
|
182
|
+
"properties": {
|
|
183
|
+
"stop": { "type": "number" },
|
|
184
|
+
"color": { "$ref": "#/definitions/RGBA" }
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"ICategoricalScale": {
|
|
193
|
+
"type": "object",
|
|
194
|
+
"description": "Maps discrete field values to colors sampled from a named palette.",
|
|
195
|
+
"required": ["scheme", "params"],
|
|
196
|
+
"additionalProperties": false,
|
|
197
|
+
"properties": {
|
|
198
|
+
"scheme": { "type": "string", "enum": ["categorical"] },
|
|
199
|
+
"params": {
|
|
200
|
+
"type": "object",
|
|
201
|
+
"required": ["colorRamp", "fallback"],
|
|
202
|
+
"additionalProperties": false,
|
|
203
|
+
"properties": {
|
|
204
|
+
"colorRamp": { "type": "string" },
|
|
205
|
+
"nShades": { "type": "number" },
|
|
206
|
+
"reverse": { "type": "boolean" },
|
|
207
|
+
"fallback": { "$ref": "#/definitions/RGBA" },
|
|
208
|
+
"colorStops": {
|
|
209
|
+
"type": "array",
|
|
210
|
+
"items": {
|
|
211
|
+
"type": "object",
|
|
212
|
+
"required": ["stop", "color"],
|
|
213
|
+
"additionalProperties": false,
|
|
214
|
+
"properties": {
|
|
215
|
+
"stop": {
|
|
216
|
+
"oneOf": [{ "type": "string" }, { "type": "number" }]
|
|
217
|
+
},
|
|
218
|
+
"color": { "$ref": "#/definitions/RGBA" }
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"IScalarScale": {
|
|
227
|
+
"type": "object",
|
|
228
|
+
"description": "Maps a numeric field to a numeric output (radius, width, sub-channel value).",
|
|
229
|
+
"required": ["scheme", "params"],
|
|
230
|
+
"additionalProperties": false,
|
|
231
|
+
"properties": {
|
|
232
|
+
"scheme": { "type": "string", "enum": ["scalar"] },
|
|
233
|
+
"params": {
|
|
234
|
+
"type": "object",
|
|
235
|
+
"required": ["domain", "range", "mode", "nStops", "fallback"],
|
|
236
|
+
"additionalProperties": false,
|
|
237
|
+
"properties": {
|
|
238
|
+
"domain": {
|
|
239
|
+
"type": "array",
|
|
240
|
+
"items": { "type": "number" },
|
|
241
|
+
"minItems": 2,
|
|
242
|
+
"maxItems": 2
|
|
243
|
+
},
|
|
244
|
+
"range": {
|
|
245
|
+
"type": "array",
|
|
246
|
+
"items": { "type": "number" },
|
|
247
|
+
"minItems": 2,
|
|
248
|
+
"maxItems": 2
|
|
249
|
+
},
|
|
250
|
+
"mode": { "$ref": "#/definitions/ClassificationMode" },
|
|
251
|
+
"nStops": { "type": "number" },
|
|
252
|
+
"fallback": { "type": "number" },
|
|
253
|
+
"scalarStops": {
|
|
254
|
+
"type": "array",
|
|
255
|
+
"items": {
|
|
256
|
+
"type": "object",
|
|
257
|
+
"required": ["stop", "output"],
|
|
258
|
+
"additionalProperties": false,
|
|
259
|
+
"properties": {
|
|
260
|
+
"stop": { "type": "number" },
|
|
261
|
+
"output": { "type": "number" }
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
"IConstantRGBAScale": {
|
|
270
|
+
"type": "object",
|
|
271
|
+
"description": "Fixed RGBA color regardless of feature data.",
|
|
272
|
+
"required": ["scheme", "params"],
|
|
273
|
+
"additionalProperties": false,
|
|
274
|
+
"properties": {
|
|
275
|
+
"scheme": { "type": "string", "enum": ["constant_rgba"] },
|
|
276
|
+
"params": {
|
|
277
|
+
"type": "object",
|
|
278
|
+
"required": ["value"],
|
|
279
|
+
"additionalProperties": false,
|
|
280
|
+
"properties": {
|
|
281
|
+
"value": { "$ref": "#/definitions/RGBA" }
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"IConstantNumScale": {
|
|
287
|
+
"type": "object",
|
|
288
|
+
"description": "Fixed numeric value regardless of feature data.",
|
|
289
|
+
"required": ["scheme", "params"],
|
|
290
|
+
"additionalProperties": false,
|
|
291
|
+
"properties": {
|
|
292
|
+
"scheme": { "type": "string", "enum": ["constant_num"] },
|
|
293
|
+
"params": {
|
|
294
|
+
"type": "object",
|
|
295
|
+
"required": ["value"],
|
|
296
|
+
"additionalProperties": false,
|
|
297
|
+
"properties": {
|
|
298
|
+
"value": { "type": "number" }
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
"IIdentityScale": {
|
|
304
|
+
"type": "object",
|
|
305
|
+
"description": "Passes the field value through unchanged.",
|
|
306
|
+
"required": ["scheme"],
|
|
307
|
+
"additionalProperties": false,
|
|
308
|
+
"properties": {
|
|
309
|
+
"scheme": { "type": "string", "enum": ["identity"] }
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
"IExpressionScale": {
|
|
313
|
+
"type": "object",
|
|
314
|
+
"description": "Evaluates an expression against one or more input fields (reserved).",
|
|
315
|
+
"required": ["scheme", "params"],
|
|
316
|
+
"additionalProperties": false,
|
|
317
|
+
"properties": {
|
|
318
|
+
"scheme": { "type": "string", "enum": ["expression"] },
|
|
319
|
+
"params": {
|
|
320
|
+
"type": "object",
|
|
321
|
+
"required": ["expr", "fallback"],
|
|
322
|
+
"additionalProperties": false,
|
|
323
|
+
"properties": {
|
|
324
|
+
"expr": { "type": "string" },
|
|
325
|
+
"fallback": {
|
|
326
|
+
"oneOf": [{ "type": "number" }, { "$ref": "#/definitions/RGBA" }]
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
"IScale": {
|
|
333
|
+
"oneOf": [
|
|
334
|
+
{ "$ref": "#/definitions/IColorRampScale" },
|
|
335
|
+
{ "$ref": "#/definitions/ICategoricalScale" },
|
|
336
|
+
{ "$ref": "#/definitions/IScalarScale" },
|
|
337
|
+
{ "$ref": "#/definitions/IConstantRGBAScale" },
|
|
338
|
+
{ "$ref": "#/definitions/IConstantNumScale" },
|
|
339
|
+
{ "$ref": "#/definitions/IIdentityScale" },
|
|
340
|
+
{ "$ref": "#/definitions/IExpressionScale" }
|
|
341
|
+
]
|
|
342
|
+
},
|
|
343
|
+
"IMapping": {
|
|
344
|
+
"type": "object",
|
|
345
|
+
"description": "A (scale, channels) pair: one scale drives one or more output channels.",
|
|
346
|
+
"required": ["scale", "channels"],
|
|
347
|
+
"additionalProperties": false,
|
|
348
|
+
"properties": {
|
|
349
|
+
"scale": { "$ref": "#/definitions/IScale" },
|
|
350
|
+
"channels": {
|
|
351
|
+
"type": "array",
|
|
352
|
+
"description": "Target output channel names.",
|
|
353
|
+
"items": { "$ref": "#/definitions/StyleChannel" },
|
|
354
|
+
"minItems": 1
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
"IEncodingRule": {
|
|
359
|
+
"type": "object",
|
|
360
|
+
"description": "Maps optional input fields to one or more (scale, channels) pairs.",
|
|
361
|
+
"required": ["id", "mappings"],
|
|
362
|
+
"additionalProperties": false,
|
|
363
|
+
"properties": {
|
|
364
|
+
"id": { "type": "string", "description": "Stable UUID." },
|
|
365
|
+
"fields": {
|
|
366
|
+
"type": "array",
|
|
367
|
+
"description": "Input field name(s). Absent for constant rules.",
|
|
368
|
+
"items": { "type": "string" }
|
|
369
|
+
},
|
|
370
|
+
"mappings": {
|
|
371
|
+
"type": "array",
|
|
372
|
+
"description": "(scale, channels) pairs sharing these input fields.",
|
|
373
|
+
"items": { "$ref": "#/definitions/IMapping" },
|
|
374
|
+
"minItems": 1
|
|
375
|
+
},
|
|
376
|
+
"when": {
|
|
377
|
+
"type": "array",
|
|
378
|
+
"description": "Guard predicates for this rule.",
|
|
379
|
+
"items": { "$ref": "#/definitions/IPredicate" }
|
|
380
|
+
},
|
|
381
|
+
"whenOp": {
|
|
382
|
+
"type": "string",
|
|
383
|
+
"enum": ["all", "any"],
|
|
384
|
+
"description": "Logical combinator for when predicates. Defaults to 'all'."
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
},
|
|
388
|
+
"IGrammarLayer": {
|
|
389
|
+
"type": "object",
|
|
390
|
+
"description": "One independent rendering pipeline on a source.",
|
|
391
|
+
"required": ["id", "rules"],
|
|
392
|
+
"additionalProperties": false,
|
|
393
|
+
"properties": {
|
|
394
|
+
"id": { "type": "string", "description": "Stable UUID." },
|
|
395
|
+
"preprocess": {
|
|
396
|
+
"type": "array",
|
|
397
|
+
"description": "Render-side transforms (KDE, cluster) applied before encoding rules.",
|
|
398
|
+
"items": { "$ref": "#/definitions/ITransform" }
|
|
399
|
+
},
|
|
400
|
+
"rules": {
|
|
401
|
+
"type": "array",
|
|
402
|
+
"description": "Encoding rules compiled into a flat-style expression for this layer.",
|
|
403
|
+
"items": { "$ref": "#/definitions/IEncodingRule" }
|
|
404
|
+
},
|
|
405
|
+
"when": {
|
|
406
|
+
"type": "array",
|
|
407
|
+
"description": "Guard predicates applied to every rule in this layer.",
|
|
408
|
+
"items": { "$ref": "#/definitions/IPredicate" }
|
|
409
|
+
},
|
|
410
|
+
"whenOp": {
|
|
411
|
+
"type": "string",
|
|
412
|
+
"enum": ["all", "any"],
|
|
413
|
+
"description": "Logical combinator for when predicates. Defaults to 'all'."
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export * from './_interface/project/jgis';
|
|
2
|
+
export * from './_interface/project/sources/geoPackageVectorSource';
|
|
3
|
+
export * from './_interface/project/sources/geoPackageRasterSource';
|
|
2
4
|
export * from './_interface/project/sources/geoJsonSource';
|
|
3
5
|
export * from './_interface/project/sources/geoTiffSource';
|
|
4
6
|
export * from './_interface/project/sources/imageSource';
|
|
@@ -9,6 +11,8 @@ export * from './_interface/project/sources/vectorTileSource';
|
|
|
9
11
|
export * from './_interface/project/sources/videoSource';
|
|
10
12
|
export * from './_interface/project/sources/geoParquetSource';
|
|
11
13
|
export * from './_interface/project/sources/markerSource';
|
|
14
|
+
export * from './_interface/project/sources/wmsTileSource';
|
|
15
|
+
export * from './_interface/project/sources/openeoTileSource';
|
|
12
16
|
export * from './_interface/project/layers/heatmapLayer';
|
|
13
17
|
export * from './_interface/project/layers/hillshadeLayer';
|
|
14
18
|
export * from './_interface/project/layers/storySegmentLayer';
|
|
@@ -17,8 +21,19 @@ export * from './_interface/project/layers/vectorLayer';
|
|
|
17
21
|
export * from './_interface/project/layers/imageLayer';
|
|
18
22
|
export * from './_interface/project/layers/stacLayer';
|
|
19
23
|
export * from './_interface/project/layers/vectorTileLayer';
|
|
20
|
-
export * from './_interface/project/layers/
|
|
24
|
+
export * from './_interface/project/layers/geoTiffLayer';
|
|
25
|
+
export * from './_interface/project/layers/openeoTileLayer';
|
|
21
26
|
export * from './processing/_generated/exportProcessingSchema';
|
|
27
|
+
export * from './_interface/project/symbology';
|
|
28
|
+
import type { IGrammarLayer } from './_interface/project/symbology';
|
|
29
|
+
export interface IGrammarSymbologyState {
|
|
30
|
+
/**
|
|
31
|
+
* Ordered list of independent rendering layers sharing the same source.
|
|
32
|
+
* Each layer produces one renderer layer (VectorLayer, HeatmapLayer, etc.).
|
|
33
|
+
* Layers are rendered in order (first = bottom).
|
|
34
|
+
*/
|
|
35
|
+
layers: IGrammarLayer[];
|
|
36
|
+
}
|
|
22
37
|
export * from './_interface/export/exportGeoJson';
|
|
23
38
|
export * from './_interface/export/exportGeoTiff';
|
|
24
39
|
export * from './doc';
|