@jupytergis/schema 0.14.1 → 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"
@@ -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
  }`;
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 = {
@@ -274,7 +274,7 @@ export class JupyterGISModel {
274
274
  zoom: 0,
275
275
  bearing: 0,
276
276
  pitch: 0,
277
- projection: 'EPSG:3857',
277
+ projection: DEFAULT_PROJECTION,
278
278
  };
279
279
  this.sharedModel.metadata = (_f = jsonData.metadata) !== null && _f !== void 0 ? _f : {};
280
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",
@@ -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.1",
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",