@jupytergis/schema 0.14.0 → 0.15.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.
@@ -461,7 +461,8 @@
461
461
  "enum": [
462
462
  "Single Symbol",
463
463
  "Graduated",
464
- "Categorized"
464
+ "Categorized",
465
+ "Canonical"
465
466
  ],
466
467
  "default": "Single Symbol"
467
468
  },
@@ -498,6 +499,28 @@
498
499
  "pretty",
499
500
  "logarithmic"
500
501
  ]
502
+ },
503
+ "vmin": {
504
+ "type": "number",
505
+ "description": "Minimum value for color mapping"
506
+ },
507
+ "vmax": {
508
+ "type": "number",
509
+ "description": "Maximum value for color mapping"
510
+ },
511
+ "fallbackColor": {
512
+ "type": "array",
513
+ "description": "RGBA fallback color for features with no matching category or outside the gradient range",
514
+ "items": {
515
+ "type": "number"
516
+ },
517
+ "minItems": 4,
518
+ "maxItems": 4
519
+ },
520
+ "strokeFollowsFill": {
521
+ "type": "boolean",
522
+ "description": "Whether the stroke color follows the fill color expression",
523
+ "default": false
501
524
  }
502
525
  },
503
526
  "additionalProperties": false,
@@ -547,7 +570,8 @@
547
570
  "enum": [
548
571
  "Single Symbol",
549
572
  "Graduated",
550
- "Categorized"
573
+ "Categorized",
574
+ "Canonical"
551
575
  ],
552
576
  "default": "Single Symbol"
553
577
  },
@@ -581,6 +605,28 @@
581
605
  "pretty",
582
606
  "logarithmic"
583
607
  ]
608
+ },
609
+ "vmin": {
610
+ "type": "number",
611
+ "description": "Minimum value for color mapping"
612
+ },
613
+ "vmax": {
614
+ "type": "number",
615
+ "description": "Maximum value for color mapping"
616
+ },
617
+ "fallbackColor": {
618
+ "type": "array",
619
+ "description": "RGBA fallback color for features with no matching category or outside the gradient range",
620
+ "items": {
621
+ "type": "number"
622
+ },
623
+ "minItems": 4,
624
+ "maxItems": 4
625
+ },
626
+ "strokeFollowsFill": {
627
+ "type": "boolean",
628
+ "description": "Whether the stroke color follows the fill color expression",
629
+ "default": false
584
630
  }
585
631
  },
586
632
  "additionalProperties": false,
@@ -1107,6 +1153,44 @@
1107
1153
  }
1108
1154
  }
1109
1155
  },
1156
+ "WmsTileSource": {
1157
+ "type": "object",
1158
+ "required": [
1159
+ "url",
1160
+ "params"
1161
+ ],
1162
+ "additionalProperties": false,
1163
+ "properties": {
1164
+ "url": {
1165
+ "type": "string",
1166
+ "description": "The url to the tile provider"
1167
+ },
1168
+ "params": {
1169
+ "type": "object",
1170
+ "title": "Params for URL query",
1171
+ "required": [
1172
+ "layers"
1173
+ ],
1174
+ "properties": {
1175
+ "layers": {
1176
+ "type": "string",
1177
+ "description": "WMS layer name to request"
1178
+ }
1179
+ }
1180
+ },
1181
+ "attribution": {
1182
+ "type": "string",
1183
+ "readOnly": true,
1184
+ "description": "The attribution for the raster source",
1185
+ "default": ""
1186
+ },
1187
+ "interpolate": {
1188
+ "type": "boolean",
1189
+ "description": "Interpolate between grid cells when overzooming?",
1190
+ "default": false
1191
+ }
1192
+ }
1193
+ },
1110
1194
  "GeoJSONSource": {
1111
1195
  "type": "object",
1112
1196
  "required": [],
@@ -25,6 +25,7 @@ export type LayerType =
25
25
  */
26
26
  export type SourceType =
27
27
  | "RasterSource"
28
+ | "WmsTileSource"
28
29
  | "VectorTileSource"
29
30
  | "GeoJSONSource"
30
31
  | "RasterDemSource"
@@ -53,6 +54,10 @@ export type Title = string;
53
54
  * The type of story map
54
55
  */
55
56
  export type StoryType = "guided" | "unguided";
57
+ /**
58
+ * Toggle the gradient background in presentation mode.
59
+ */
60
+ export type UseGradientBackground = boolean;
56
61
  /**
57
62
  * The background color of the story map
58
63
  */
@@ -172,6 +177,7 @@ export interface IJGISStoryMap {
172
177
  * Array of story segments for the story map
173
178
  */
174
179
  storySegments?: string[];
180
+ showGradient?: UseGradientBackground;
175
181
  presentationBgColor?: PresentationBackgroundColor;
176
182
  presentationTextColor?: PresentationTextColor;
177
183
  [k: string]: any;
@@ -27,12 +27,28 @@ export interface IVectorLayer {
27
27
  * The state of the symbology panel options
28
28
  */
29
29
  symbologyState?: {
30
- renderType: "Single Symbol" | "Graduated" | "Categorized";
30
+ renderType: "Single Symbol" | "Graduated" | "Categorized" | "Canonical";
31
31
  value?: string;
32
32
  method?: "color" | "radius";
33
33
  colorRamp?: string;
34
34
  nClasses?: number;
35
35
  reverse?: boolean;
36
36
  mode?: "quantile" | "equal interval" | "jenks" | "pretty" | "logarithmic";
37
+ /**
38
+ * Minimum value for color mapping
39
+ */
40
+ vmin?: number;
41
+ /**
42
+ * Maximum value for color mapping
43
+ */
44
+ vmax?: number;
45
+ /**
46
+ * RGBA fallback color for features with no matching category or outside the gradient range
47
+ */
48
+ fallbackColor?: [number, number, number, number];
49
+ /**
50
+ * Whether the stroke color follows the fill color expression
51
+ */
52
+ strokeFollowsFill?: boolean;
37
53
  };
38
54
  }
@@ -27,11 +27,27 @@ export interface IVectorTileLayer {
27
27
  * The state of the symbology panel options
28
28
  */
29
29
  symbologyState?: {
30
- renderType: "Single Symbol" | "Graduated" | "Categorized";
30
+ renderType: "Single Symbol" | "Graduated" | "Categorized" | "Canonical";
31
31
  value?: string;
32
32
  method?: "color" | "radius";
33
33
  colorRamp?: string;
34
34
  nClasses?: string;
35
35
  mode?: "quantile" | "equal interval" | "jenks" | "pretty" | "logarithmic";
36
+ /**
37
+ * Minimum value for color mapping
38
+ */
39
+ vmin?: number;
40
+ /**
41
+ * Maximum value for color mapping
42
+ */
43
+ vmax?: number;
44
+ /**
45
+ * RGBA fallback color for features with no matching category or outside the gradient range
46
+ */
47
+ fallbackColor?: [number, number, number, number];
48
+ /**
49
+ * Whether the stroke color follows the fill color expression
50
+ */
51
+ strokeFollowsFill?: boolean;
36
52
  };
37
53
  }
@@ -0,0 +1,32 @@
1
+ /* tslint:disable */
2
+ /**
3
+ * This file was automatically generated by json-schema-to-typescript.
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
+ * and run json-schema-to-typescript to regenerate this file.
6
+ */
7
+
8
+ /**
9
+ * WmsTileSource
10
+ */
11
+ export interface IWmsTileSource {
12
+ /**
13
+ * The url to the tile provider
14
+ */
15
+ url: string;
16
+ params: ParamsForURLQuery;
17
+ /**
18
+ * The attribution for the raster source
19
+ */
20
+ attribution?: string;
21
+ /**
22
+ * Interpolate between grid cells when overzooming?
23
+ */
24
+ interpolate?: boolean;
25
+ }
26
+ export interface ParamsForURLQuery {
27
+ /**
28
+ * WMS layer name to request
29
+ */
30
+ layers: string;
31
+ [k: string]: any;
32
+ }
package/lib/doc.d.ts CHANGED
@@ -3,6 +3,7 @@ import { JSONObject } from '@lumino/coreutils';
3
3
  import { ISignal } from '@lumino/signaling';
4
4
  import { IJGISLayer, IJGISLayerItem, IJGISLayerTree, IJGISLayers, IJGISOptions, IJGISSource, IJGISSources, IJGISStoryMap } from './_interface/project/jgis';
5
5
  import { IDict, IJGISLayerDocChange, IJGISLayerTreeDocChange, IJGISSourceDocChange, IJGISStoryMapDocChange, IJGISStoryMaps, IJupyterGISDoc, IJupyterGISDocChange } from './interfaces';
6
+ export declare const DEFAULT_PROJECTION = "EPSG:3857";
6
7
  /** Default JSON content for a new JupyterGIS document. */
7
8
  export declare const DEFAULT_JGIS_DOCUMENT_CONTENT = "{\n\t\"schemaVersion\": \"0.5.0\",\n\t\"layers\": {},\n\t\"sources\": {},\n\t\"options\": {\"latitude\": 0, \"longitude\": 0, \"zoom\": 0, \"bearing\": 0, \"pitch\": 0, \"projection\": \"EPSG:3857\", \"storyMapPresentationMode\": false},\n\t\"layerTree\": [],\n\t\"metadata\": {}\n}";
8
9
  export declare class JupyterGISDoc extends YDocument<IJupyterGISDocChange> implements IJupyterGISDoc {
package/lib/doc.js CHANGED
@@ -2,12 +2,13 @@ import { YDocument } from '@jupyter/ydoc';
2
2
  import { JSONExt } from '@lumino/coreutils';
3
3
  import { Signal } from '@lumino/signaling';
4
4
  import { SCHEMA_VERSION } from './_interface/version';
5
+ export const DEFAULT_PROJECTION = 'EPSG:3857';
5
6
  /** Default JSON content for a new JupyterGIS document. */
6
7
  export const DEFAULT_JGIS_DOCUMENT_CONTENT = `{
7
8
  "schemaVersion": "${SCHEMA_VERSION}",
8
9
  "layers": {},
9
10
  "sources": {},
10
- "options": {"latitude": 0, "longitude": 0, "zoom": 0, "bearing": 0, "pitch": 0, "projection": "EPSG:3857", "storyMapPresentationMode": false},
11
+ "options": {"latitude": 0, "longitude": 0, "zoom": 0, "bearing": 0, "pitch": 0, "projection": "${DEFAULT_PROJECTION}", "storyMapPresentationMode": false},
11
12
  "layerTree": [],
12
13
  "metadata": {}
13
14
  }`;
@@ -349,7 +349,6 @@ export interface IJupyterGISSettings {
349
349
  rightPanelDisabled?: boolean;
350
350
  layersDisabled?: boolean;
351
351
  stacBrowserDisabled?: boolean;
352
- filtersDisabled?: boolean;
353
352
  objectPropertiesDisabled?: boolean;
354
353
  annotationsDisabled?: boolean;
355
354
  identifyDisabled?: boolean;
package/lib/model.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { UUID } from '@lumino/coreutils';
2
2
  import { Signal } from '@lumino/signaling';
3
3
  import Ajv from 'ajv';
4
- import { JupyterGISDoc } from './doc';
4
+ import { DEFAULT_PROJECTION, JupyterGISDoc } from './doc';
5
5
  import jgisSchema from './schema/project/jgis.json';
6
6
  const SETTINGS_ID = '@jupytergis/jupytergis-core:jupytergis-settings';
7
7
  const DEFAULT_SETTINGS = {
@@ -10,7 +10,6 @@ const DEFAULT_SETTINGS = {
10
10
  rightPanelDisabled: false,
11
11
  layersDisabled: false,
12
12
  stacBrowserDisabled: false,
13
- filtersDisabled: false,
14
13
  objectPropertiesDisabled: false,
15
14
  annotationsDisabled: false,
16
15
  identifyDisabled: false,
@@ -275,7 +274,7 @@ export class JupyterGISModel {
275
274
  zoom: 0,
276
275
  bearing: 0,
277
276
  pitch: 0,
278
- projection: 'EPSG:3857',
277
+ projection: DEFAULT_PROJECTION,
279
278
  };
280
279
  this.sharedModel.metadata = (_f = jsonData.metadata) !== null && _f !== void 0 ? _f : {};
281
280
  });
@@ -1,6 +1,6 @@
1
+ export * from '../../_interface/processing/boundingBoxes';
2
+ export * from '../../_interface/processing/concaveHull';
3
+ export * from '../../_interface/processing/dissolve';
1
4
  export * from '../../_interface/processing/buffer';
2
5
  export * from '../../_interface/processing/convexHull';
3
- export * from '../../_interface/processing/dissolve';
4
- export * from '../../_interface/processing/concaveHull';
5
- export * from '../../_interface/processing/boundingBoxes';
6
6
  export * from '../../_interface/processing/centroids';
@@ -1,7 +1,7 @@
1
1
  //Generated automatically please don't modify directly
2
+ export * from '../../_interface/processing/boundingBoxes';
3
+ export * from '../../_interface/processing/concaveHull';
4
+ export * from '../../_interface/processing/dissolve';
2
5
  export * from '../../_interface/processing/buffer';
3
6
  export * from '../../_interface/processing/convexHull';
4
- export * from '../../_interface/processing/dissolve';
5
- export * from '../../_interface/processing/concaveHull';
6
- export * from '../../_interface/processing/boundingBoxes';
7
7
  export * from '../../_interface/processing/centroids';
@@ -1,2 +1,2 @@
1
- export type ProcessingType = 'Buffer' | 'ConvexHull' | 'Dissolve' | 'ConcaveHull' | 'BoundingBoxes' | 'Centroids';
1
+ export type ProcessingType = 'BoundingBoxes' | 'ConcaveHull' | 'Dissolve' | 'Buffer' | 'ConvexHull' | 'Centroids';
2
2
  export declare const processingList: string[];
@@ -1,8 +1,8 @@
1
1
  export const processingList = [
2
+ 'BoundingBoxes',
3
+ 'ConcaveHull',
4
+ 'Dissolve',
2
5
  'Buffer',
3
6
  'ConvexHull',
4
- 'Dissolve',
5
- 'ConcaveHull',
6
- 'BoundingBoxes',
7
7
  'Centroids',
8
8
  ];
@@ -1,24 +1,25 @@
1
1
  [
2
2
  {
3
- "description": "Buffer",
4
- "name": "buffer",
5
- "label": "Buffer",
6
- "operationParams": [
7
- "bufferDistance"
8
- ],
3
+ "description": "BoundingBoxes",
4
+ "name": "boundingBoxes",
5
+ "operationParams": [],
6
+ "label": "Bounding Boxes",
9
7
  "operations": {
10
- "gdalFunction": "ogr2ogr",
11
- "sql": "SELECT ST_Union(ST_Buffer(geometry, {bufferDistance})) AS geometry, * FROM \"{layerName}\""
8
+ "sql": "SELECT ST_Envelope(geometry) AS geometry, * FROM \"{layerName}\"",
9
+ "gdalFunction": "ogr2ogr"
12
10
  },
13
11
  "type": "vector"
14
12
  },
15
13
  {
16
- "description": "ConvexHull",
17
- "name": "convexHull",
18
- "operationParams": [],
19
- "label": "Convex Hull",
14
+ "description": "ConcaveHull",
15
+ "name": "concaveHull",
16
+ "operationParams": [
17
+ "pctconvex",
18
+ "allowHoles"
19
+ ],
20
+ "label": "Concave Hull",
20
21
  "operations": {
21
- "sql": "SELECT ST_ConvexHull(geometry) AS geometry, * FROM \"{layerName}\"",
22
+ "sql": "SELECT ST_ConcaveHull(geometry,{pctconvex},{allowHoles}) AS geometry, * FROM \"{layerName}\"",
22
23
  "gdalFunction": "ogr2ogr"
23
24
  },
24
25
  "type": "vector"
@@ -37,26 +38,25 @@
37
38
  "type": "vector"
38
39
  },
39
40
  {
40
- "description": "ConcaveHull",
41
- "name": "concaveHull",
41
+ "description": "Buffer",
42
+ "name": "buffer",
43
+ "label": "Buffer",
42
44
  "operationParams": [
43
- "pctconvex",
44
- "allowHoles"
45
+ "bufferDistance"
45
46
  ],
46
- "label": "Concave Hull",
47
47
  "operations": {
48
- "sql": "SELECT ST_ConcaveHull(geometry,{pctconvex},{allowHoles}) AS geometry, * FROM \"{layerName}\"",
49
- "gdalFunction": "ogr2ogr"
48
+ "gdalFunction": "ogr2ogr",
49
+ "sql": "SELECT ST_Union(ST_Buffer(geometry, {bufferDistance})) AS geometry, * FROM \"{layerName}\""
50
50
  },
51
51
  "type": "vector"
52
52
  },
53
53
  {
54
- "description": "BoundingBoxes",
55
- "name": "boundingBoxes",
54
+ "description": "ConvexHull",
55
+ "name": "convexHull",
56
56
  "operationParams": [],
57
- "label": "Bounding Boxes",
57
+ "label": "Convex Hull",
58
58
  "operations": {
59
- "sql": "SELECT ST_Envelope(geometry) AS geometry, * FROM \"{layerName}\"",
59
+ "sql": "SELECT ST_ConvexHull(geometry) AS geometry, * FROM \"{layerName}\"",
60
60
  "gdalFunction": "ogr2ogr"
61
61
  },
62
62
  "type": "vector"
@@ -52,6 +52,7 @@
52
52
  "type": "string",
53
53
  "enum": [
54
54
  "RasterSource",
55
+ "WmsTileSource",
55
56
  "VectorTileSource",
56
57
  "GeoJSONSource",
57
58
  "RasterDemSource",
@@ -164,6 +165,12 @@
164
165
  "type": "string"
165
166
  }
166
167
  },
168
+ "showGradient": {
169
+ "type": "boolean",
170
+ "title": "Use gradient background",
171
+ "description": "Toggle the gradient background in presentation mode.",
172
+ "default": true
173
+ },
167
174
  "presentationBgColor": {
168
175
  "type": "string",
169
176
  "title": "Presentation Background Color",
@@ -29,7 +29,7 @@
29
29
  "properties": {
30
30
  "renderType": {
31
31
  "type": "string",
32
- "enum": ["Single Symbol", "Graduated", "Categorized"],
32
+ "enum": ["Single Symbol", "Graduated", "Categorized", "Canonical"],
33
33
  "default": "Single Symbol"
34
34
  },
35
35
  "value": {
@@ -62,6 +62,26 @@
62
62
  "pretty",
63
63
  "logarithmic"
64
64
  ]
65
+ },
66
+ "vmin": {
67
+ "type": "number",
68
+ "description": "Minimum value for color mapping"
69
+ },
70
+ "vmax": {
71
+ "type": "number",
72
+ "description": "Maximum value for color mapping"
73
+ },
74
+ "fallbackColor": {
75
+ "type": "array",
76
+ "description": "RGBA fallback color for features with no matching category or outside the gradient range",
77
+ "items": { "type": "number" },
78
+ "minItems": 4,
79
+ "maxItems": 4
80
+ },
81
+ "strokeFollowsFill": {
82
+ "type": "boolean",
83
+ "description": "Whether the stroke color follows the fill color expression",
84
+ "default": false
65
85
  }
66
86
  },
67
87
  "additionalProperties": false,
@@ -29,7 +29,7 @@
29
29
  "properties": {
30
30
  "renderType": {
31
31
  "type": "string",
32
- "enum": ["Single Symbol", "Graduated", "Categorized"],
32
+ "enum": ["Single Symbol", "Graduated", "Categorized", "Canonical"],
33
33
  "default": "Single Symbol"
34
34
  },
35
35
  "value": {
@@ -59,6 +59,26 @@
59
59
  "pretty",
60
60
  "logarithmic"
61
61
  ]
62
+ },
63
+ "vmin": {
64
+ "type": "number",
65
+ "description": "Minimum value for color mapping"
66
+ },
67
+ "vmax": {
68
+ "type": "number",
69
+ "description": "Maximum value for color mapping"
70
+ },
71
+ "fallbackColor": {
72
+ "type": "array",
73
+ "description": "RGBA fallback color for features with no matching category or outside the gradient range",
74
+ "items": { "type": "number" },
75
+ "minItems": 4,
76
+ "maxItems": 4
77
+ },
78
+ "strokeFollowsFill": {
79
+ "type": "boolean",
80
+ "description": "Whether the stroke color follows the fill color expression",
81
+ "default": false
62
82
  }
63
83
  },
64
84
  "additionalProperties": false,
@@ -0,0 +1,35 @@
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
+ }
35
+ }
package/lib/types.d.ts CHANGED
@@ -9,6 +9,7 @@ export * from './_interface/project/sources/vectorTileSource';
9
9
  export * from './_interface/project/sources/videoSource';
10
10
  export * from './_interface/project/sources/geoParquetSource';
11
11
  export * from './_interface/project/sources/markerSource';
12
+ export * from './_interface/project/sources/wmsTileSource';
12
13
  export * from './_interface/project/layers/heatmapLayer';
13
14
  export * from './_interface/project/layers/hillshadeLayer';
14
15
  export * from './_interface/project/layers/storySegmentLayer';
package/lib/types.js CHANGED
@@ -10,6 +10,7 @@ export * from './_interface/project/sources/vectorTileSource';
10
10
  export * from './_interface/project/sources/videoSource';
11
11
  export * from './_interface/project/sources/geoParquetSource';
12
12
  export * from './_interface/project/sources/markerSource';
13
+ export * from './_interface/project/sources/wmsTileSource';
13
14
  // Layers
14
15
  export * from './_interface/project/layers/heatmapLayer';
15
16
  export * from './_interface/project/layers/hillshadeLayer';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupytergis/schema",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "description": "A JupyterGIS schema package.",
5
5
  "keywords": [
6
6
  "jupytergis"
@@ -39,6 +39,7 @@
39
39
  "clean:all": "jlpm run clean:lib",
40
40
  "watch": "tsc -w"
41
41
  },
42
+ "packageManager": "yarn@3.5.0",
42
43
  "dependencies": {
43
44
  "@apidevtools/json-schema-ref-parser": "^9.0.9",
44
45
  "@jupyter/ydoc": "^2.0.0 || ^3.0.0",