@jupytergis/schema 0.1.6 → 0.2.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 +93 -0
- package/lib/_interface/geojson.d.ts +387 -0
- package/lib/_interface/jgis.d.ts +7 -0
- package/lib/_interface/vectorlayer.d.ts +11 -0
- package/lib/_interface/webGlLayer.d.ts +11 -0
- package/lib/doc.d.ts +15 -1
- package/lib/doc.js +61 -3
- package/lib/interfaces.d.ts +71 -4
- package/lib/model.d.ts +26 -6
- package/lib/model.js +83 -46
- package/lib/schema/geojson.json +1491 -0
- package/lib/schema/geojsonsource.json +1 -1
- package/lib/schema/jgis.json +9 -0
- package/lib/schema/vectorlayer.json +38 -0
- package/lib/schema/webGlLayer.json +38 -0
- package/lib/token.d.ts +2 -1
- package/lib/token.js +1 -0
- package/package.json +10 -11
|
@@ -344,6 +344,53 @@
|
|
|
344
344
|
"multipleOf": 0.1,
|
|
345
345
|
"minimum": 0,
|
|
346
346
|
"maximum": 1
|
|
347
|
+
},
|
|
348
|
+
"symbologyState": {
|
|
349
|
+
"type": "object",
|
|
350
|
+
"description": "The state of the symbology panel options",
|
|
351
|
+
"required": [
|
|
352
|
+
"renderType"
|
|
353
|
+
],
|
|
354
|
+
"properties": {
|
|
355
|
+
"renderType": {
|
|
356
|
+
"type": "string",
|
|
357
|
+
"enum": [
|
|
358
|
+
"Single Symbol",
|
|
359
|
+
"Graduated",
|
|
360
|
+
"Categorized"
|
|
361
|
+
]
|
|
362
|
+
},
|
|
363
|
+
"value": {
|
|
364
|
+
"type": "string"
|
|
365
|
+
},
|
|
366
|
+
"method": {
|
|
367
|
+
"type": "string",
|
|
368
|
+
"enum": [
|
|
369
|
+
"color",
|
|
370
|
+
"radius"
|
|
371
|
+
]
|
|
372
|
+
},
|
|
373
|
+
"colorRamp": {
|
|
374
|
+
"type": "string",
|
|
375
|
+
"default": "cool"
|
|
376
|
+
},
|
|
377
|
+
"nClasses": {
|
|
378
|
+
"type": "string",
|
|
379
|
+
"default": "9"
|
|
380
|
+
},
|
|
381
|
+
"mode": {
|
|
382
|
+
"type": "string",
|
|
383
|
+
"default": "equal interval",
|
|
384
|
+
"enum": [
|
|
385
|
+
"quantile",
|
|
386
|
+
"equal interval",
|
|
387
|
+
"jenks",
|
|
388
|
+
"pretty",
|
|
389
|
+
"logarithmic"
|
|
390
|
+
]
|
|
391
|
+
}
|
|
392
|
+
},
|
|
393
|
+
"additionalProperties": false
|
|
347
394
|
}
|
|
348
395
|
}
|
|
349
396
|
},
|
|
@@ -491,6 +538,52 @@
|
|
|
491
538
|
}
|
|
492
539
|
],
|
|
493
540
|
"description": "The color of the the object"
|
|
541
|
+
},
|
|
542
|
+
"symbologyState": {
|
|
543
|
+
"type": "object",
|
|
544
|
+
"description": "The state of the symbology panel options",
|
|
545
|
+
"required": [
|
|
546
|
+
"renderType",
|
|
547
|
+
"band",
|
|
548
|
+
"interpolation",
|
|
549
|
+
"colorRamp",
|
|
550
|
+
"nClasses",
|
|
551
|
+
"mode"
|
|
552
|
+
],
|
|
553
|
+
"properties": {
|
|
554
|
+
"renderType": {
|
|
555
|
+
"type": "string"
|
|
556
|
+
},
|
|
557
|
+
"band": {
|
|
558
|
+
"type": "number"
|
|
559
|
+
},
|
|
560
|
+
"interpolation": {
|
|
561
|
+
"type": "string",
|
|
562
|
+
"enum": [
|
|
563
|
+
"discrete",
|
|
564
|
+
"linear",
|
|
565
|
+
"exact"
|
|
566
|
+
]
|
|
567
|
+
},
|
|
568
|
+
"colorRamp": {
|
|
569
|
+
"type": "string",
|
|
570
|
+
"default": "cool"
|
|
571
|
+
},
|
|
572
|
+
"nClasses": {
|
|
573
|
+
"type": "string",
|
|
574
|
+
"default": "9"
|
|
575
|
+
},
|
|
576
|
+
"mode": {
|
|
577
|
+
"type": "string",
|
|
578
|
+
"default": "equal interval",
|
|
579
|
+
"enum": [
|
|
580
|
+
"continuous",
|
|
581
|
+
"equal interval",
|
|
582
|
+
"quantile"
|
|
583
|
+
]
|
|
584
|
+
}
|
|
585
|
+
},
|
|
586
|
+
"additionalProperties": false
|
|
494
587
|
}
|
|
495
588
|
}
|
|
496
589
|
},
|
|
@@ -0,0 +1,387 @@
|
|
|
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
|
+
export type GeoJSON =
|
|
9
|
+
| GeoJSONPoint
|
|
10
|
+
| GeoJSONLineString
|
|
11
|
+
| GeoJSONPolygon
|
|
12
|
+
| GeoJSONMultiPoint
|
|
13
|
+
| GeoJSONMultiLineString
|
|
14
|
+
| GeoJSONMultiPolygon
|
|
15
|
+
| GeoJSONGeometryCollection
|
|
16
|
+
| GeoJSONFeature
|
|
17
|
+
| GeoJSONFeatureCollection;
|
|
18
|
+
|
|
19
|
+
export interface GeoJSONPoint {
|
|
20
|
+
type: "Point";
|
|
21
|
+
coordinates: [number, number, ...number[]];
|
|
22
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
23
|
+
[k: string]: any;
|
|
24
|
+
}
|
|
25
|
+
export interface GeoJSONLineString {
|
|
26
|
+
type: "LineString";
|
|
27
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]];
|
|
28
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
29
|
+
[k: string]: any;
|
|
30
|
+
}
|
|
31
|
+
export interface GeoJSONPolygon {
|
|
32
|
+
type: "Polygon";
|
|
33
|
+
coordinates: [
|
|
34
|
+
[number, number, ...number[]],
|
|
35
|
+
[number, number, ...number[]],
|
|
36
|
+
[number, number, ...number[]],
|
|
37
|
+
[number, number, ...number[]],
|
|
38
|
+
...[number, number, ...number[]][]
|
|
39
|
+
][];
|
|
40
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
41
|
+
[k: string]: any;
|
|
42
|
+
}
|
|
43
|
+
export interface GeoJSONMultiPoint {
|
|
44
|
+
type: "MultiPoint";
|
|
45
|
+
coordinates: [number, number, ...number[]][];
|
|
46
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
47
|
+
[k: string]: any;
|
|
48
|
+
}
|
|
49
|
+
export interface GeoJSONMultiLineString {
|
|
50
|
+
type: "MultiLineString";
|
|
51
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]][];
|
|
52
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
53
|
+
[k: string]: any;
|
|
54
|
+
}
|
|
55
|
+
export interface GeoJSONMultiPolygon {
|
|
56
|
+
type: "MultiPolygon";
|
|
57
|
+
coordinates: [
|
|
58
|
+
[number, number, ...number[]],
|
|
59
|
+
[number, number, ...number[]],
|
|
60
|
+
[number, number, ...number[]],
|
|
61
|
+
[number, number, ...number[]],
|
|
62
|
+
...[number, number, ...number[]][]
|
|
63
|
+
][][];
|
|
64
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
65
|
+
[k: string]: any;
|
|
66
|
+
}
|
|
67
|
+
export interface GeoJSONGeometryCollection {
|
|
68
|
+
type: "GeometryCollection";
|
|
69
|
+
geometries: (
|
|
70
|
+
| GeoJSONPoint1
|
|
71
|
+
| GeoJSONLineString1
|
|
72
|
+
| GeoJSONPolygon1
|
|
73
|
+
| GeoJSONMultiPoint1
|
|
74
|
+
| GeoJSONMultiLineString1
|
|
75
|
+
| GeoJSONMultiPolygon1
|
|
76
|
+
)[];
|
|
77
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
78
|
+
[k: string]: any;
|
|
79
|
+
}
|
|
80
|
+
export interface GeoJSONPoint1 {
|
|
81
|
+
type: "Point";
|
|
82
|
+
coordinates: [number, number, ...number[]];
|
|
83
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
84
|
+
[k: string]: any;
|
|
85
|
+
}
|
|
86
|
+
export interface GeoJSONLineString1 {
|
|
87
|
+
type: "LineString";
|
|
88
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]];
|
|
89
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
90
|
+
[k: string]: any;
|
|
91
|
+
}
|
|
92
|
+
export interface GeoJSONPolygon1 {
|
|
93
|
+
type: "Polygon";
|
|
94
|
+
coordinates: [
|
|
95
|
+
[number, number, ...number[]],
|
|
96
|
+
[number, number, ...number[]],
|
|
97
|
+
[number, number, ...number[]],
|
|
98
|
+
[number, number, ...number[]],
|
|
99
|
+
...[number, number, ...number[]][]
|
|
100
|
+
][];
|
|
101
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
102
|
+
[k: string]: any;
|
|
103
|
+
}
|
|
104
|
+
export interface GeoJSONMultiPoint1 {
|
|
105
|
+
type: "MultiPoint";
|
|
106
|
+
coordinates: [number, number, ...number[]][];
|
|
107
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
108
|
+
[k: string]: any;
|
|
109
|
+
}
|
|
110
|
+
export interface GeoJSONMultiLineString1 {
|
|
111
|
+
type: "MultiLineString";
|
|
112
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]][];
|
|
113
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
114
|
+
[k: string]: any;
|
|
115
|
+
}
|
|
116
|
+
export interface GeoJSONMultiPolygon1 {
|
|
117
|
+
type: "MultiPolygon";
|
|
118
|
+
coordinates: [
|
|
119
|
+
[number, number, ...number[]],
|
|
120
|
+
[number, number, ...number[]],
|
|
121
|
+
[number, number, ...number[]],
|
|
122
|
+
[number, number, ...number[]],
|
|
123
|
+
...[number, number, ...number[]][]
|
|
124
|
+
][][];
|
|
125
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
126
|
+
[k: string]: any;
|
|
127
|
+
}
|
|
128
|
+
export interface GeoJSONFeature {
|
|
129
|
+
type: "Feature";
|
|
130
|
+
id?: number | string;
|
|
131
|
+
properties: null | {
|
|
132
|
+
[k: string]: any;
|
|
133
|
+
};
|
|
134
|
+
geometry:
|
|
135
|
+
| null
|
|
136
|
+
| GeoJSONPoint2
|
|
137
|
+
| GeoJSONLineString2
|
|
138
|
+
| GeoJSONPolygon2
|
|
139
|
+
| GeoJSONMultiPoint2
|
|
140
|
+
| GeoJSONMultiLineString2
|
|
141
|
+
| GeoJSONMultiPolygon2
|
|
142
|
+
| GeoJSONGeometryCollection1;
|
|
143
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
144
|
+
[k: string]: any;
|
|
145
|
+
}
|
|
146
|
+
export interface GeoJSONPoint2 {
|
|
147
|
+
type: "Point";
|
|
148
|
+
coordinates: [number, number, ...number[]];
|
|
149
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
150
|
+
[k: string]: any;
|
|
151
|
+
}
|
|
152
|
+
export interface GeoJSONLineString2 {
|
|
153
|
+
type: "LineString";
|
|
154
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]];
|
|
155
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
156
|
+
[k: string]: any;
|
|
157
|
+
}
|
|
158
|
+
export interface GeoJSONPolygon2 {
|
|
159
|
+
type: "Polygon";
|
|
160
|
+
coordinates: [
|
|
161
|
+
[number, number, ...number[]],
|
|
162
|
+
[number, number, ...number[]],
|
|
163
|
+
[number, number, ...number[]],
|
|
164
|
+
[number, number, ...number[]],
|
|
165
|
+
...[number, number, ...number[]][]
|
|
166
|
+
][];
|
|
167
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
168
|
+
[k: string]: any;
|
|
169
|
+
}
|
|
170
|
+
export interface GeoJSONMultiPoint2 {
|
|
171
|
+
type: "MultiPoint";
|
|
172
|
+
coordinates: [number, number, ...number[]][];
|
|
173
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
174
|
+
[k: string]: any;
|
|
175
|
+
}
|
|
176
|
+
export interface GeoJSONMultiLineString2 {
|
|
177
|
+
type: "MultiLineString";
|
|
178
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]][];
|
|
179
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
180
|
+
[k: string]: any;
|
|
181
|
+
}
|
|
182
|
+
export interface GeoJSONMultiPolygon2 {
|
|
183
|
+
type: "MultiPolygon";
|
|
184
|
+
coordinates: [
|
|
185
|
+
[number, number, ...number[]],
|
|
186
|
+
[number, number, ...number[]],
|
|
187
|
+
[number, number, ...number[]],
|
|
188
|
+
[number, number, ...number[]],
|
|
189
|
+
...[number, number, ...number[]][]
|
|
190
|
+
][][];
|
|
191
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
192
|
+
[k: string]: any;
|
|
193
|
+
}
|
|
194
|
+
export interface GeoJSONGeometryCollection1 {
|
|
195
|
+
type: "GeometryCollection";
|
|
196
|
+
geometries: (
|
|
197
|
+
| GeoJSONPoint3
|
|
198
|
+
| GeoJSONLineString3
|
|
199
|
+
| GeoJSONPolygon3
|
|
200
|
+
| GeoJSONMultiPoint3
|
|
201
|
+
| GeoJSONMultiLineString3
|
|
202
|
+
| GeoJSONMultiPolygon3
|
|
203
|
+
)[];
|
|
204
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
205
|
+
[k: string]: any;
|
|
206
|
+
}
|
|
207
|
+
export interface GeoJSONPoint3 {
|
|
208
|
+
type: "Point";
|
|
209
|
+
coordinates: [number, number, ...number[]];
|
|
210
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
211
|
+
[k: string]: any;
|
|
212
|
+
}
|
|
213
|
+
export interface GeoJSONLineString3 {
|
|
214
|
+
type: "LineString";
|
|
215
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]];
|
|
216
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
217
|
+
[k: string]: any;
|
|
218
|
+
}
|
|
219
|
+
export interface GeoJSONPolygon3 {
|
|
220
|
+
type: "Polygon";
|
|
221
|
+
coordinates: [
|
|
222
|
+
[number, number, ...number[]],
|
|
223
|
+
[number, number, ...number[]],
|
|
224
|
+
[number, number, ...number[]],
|
|
225
|
+
[number, number, ...number[]],
|
|
226
|
+
...[number, number, ...number[]][]
|
|
227
|
+
][];
|
|
228
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
229
|
+
[k: string]: any;
|
|
230
|
+
}
|
|
231
|
+
export interface GeoJSONMultiPoint3 {
|
|
232
|
+
type: "MultiPoint";
|
|
233
|
+
coordinates: [number, number, ...number[]][];
|
|
234
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
235
|
+
[k: string]: any;
|
|
236
|
+
}
|
|
237
|
+
export interface GeoJSONMultiLineString3 {
|
|
238
|
+
type: "MultiLineString";
|
|
239
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]][];
|
|
240
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
241
|
+
[k: string]: any;
|
|
242
|
+
}
|
|
243
|
+
export interface GeoJSONMultiPolygon3 {
|
|
244
|
+
type: "MultiPolygon";
|
|
245
|
+
coordinates: [
|
|
246
|
+
[number, number, ...number[]],
|
|
247
|
+
[number, number, ...number[]],
|
|
248
|
+
[number, number, ...number[]],
|
|
249
|
+
[number, number, ...number[]],
|
|
250
|
+
...[number, number, ...number[]][]
|
|
251
|
+
][][];
|
|
252
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
253
|
+
[k: string]: any;
|
|
254
|
+
}
|
|
255
|
+
export interface GeoJSONFeatureCollection {
|
|
256
|
+
type: "FeatureCollection";
|
|
257
|
+
features: GeoJSONFeature1[];
|
|
258
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
259
|
+
[k: string]: any;
|
|
260
|
+
}
|
|
261
|
+
export interface GeoJSONFeature1 {
|
|
262
|
+
type: "Feature";
|
|
263
|
+
id?: number | string;
|
|
264
|
+
properties: null | {
|
|
265
|
+
[k: string]: any;
|
|
266
|
+
};
|
|
267
|
+
geometry:
|
|
268
|
+
| null
|
|
269
|
+
| GeoJSONPoint4
|
|
270
|
+
| GeoJSONLineString4
|
|
271
|
+
| GeoJSONPolygon4
|
|
272
|
+
| GeoJSONMultiPoint4
|
|
273
|
+
| GeoJSONMultiLineString4
|
|
274
|
+
| GeoJSONMultiPolygon4
|
|
275
|
+
| GeoJSONGeometryCollection2;
|
|
276
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
277
|
+
[k: string]: any;
|
|
278
|
+
}
|
|
279
|
+
export interface GeoJSONPoint4 {
|
|
280
|
+
type: "Point";
|
|
281
|
+
coordinates: [number, number, ...number[]];
|
|
282
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
283
|
+
[k: string]: any;
|
|
284
|
+
}
|
|
285
|
+
export interface GeoJSONLineString4 {
|
|
286
|
+
type: "LineString";
|
|
287
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]];
|
|
288
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
289
|
+
[k: string]: any;
|
|
290
|
+
}
|
|
291
|
+
export interface GeoJSONPolygon4 {
|
|
292
|
+
type: "Polygon";
|
|
293
|
+
coordinates: [
|
|
294
|
+
[number, number, ...number[]],
|
|
295
|
+
[number, number, ...number[]],
|
|
296
|
+
[number, number, ...number[]],
|
|
297
|
+
[number, number, ...number[]],
|
|
298
|
+
...[number, number, ...number[]][]
|
|
299
|
+
][];
|
|
300
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
301
|
+
[k: string]: any;
|
|
302
|
+
}
|
|
303
|
+
export interface GeoJSONMultiPoint4 {
|
|
304
|
+
type: "MultiPoint";
|
|
305
|
+
coordinates: [number, number, ...number[]][];
|
|
306
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
307
|
+
[k: string]: any;
|
|
308
|
+
}
|
|
309
|
+
export interface GeoJSONMultiLineString4 {
|
|
310
|
+
type: "MultiLineString";
|
|
311
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]][];
|
|
312
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
313
|
+
[k: string]: any;
|
|
314
|
+
}
|
|
315
|
+
export interface GeoJSONMultiPolygon4 {
|
|
316
|
+
type: "MultiPolygon";
|
|
317
|
+
coordinates: [
|
|
318
|
+
[number, number, ...number[]],
|
|
319
|
+
[number, number, ...number[]],
|
|
320
|
+
[number, number, ...number[]],
|
|
321
|
+
[number, number, ...number[]],
|
|
322
|
+
...[number, number, ...number[]][]
|
|
323
|
+
][][];
|
|
324
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
325
|
+
[k: string]: any;
|
|
326
|
+
}
|
|
327
|
+
export interface GeoJSONGeometryCollection2 {
|
|
328
|
+
type: "GeometryCollection";
|
|
329
|
+
geometries: (
|
|
330
|
+
| GeoJSONPoint5
|
|
331
|
+
| GeoJSONLineString5
|
|
332
|
+
| GeoJSONPolygon5
|
|
333
|
+
| GeoJSONMultiPoint5
|
|
334
|
+
| GeoJSONMultiLineString5
|
|
335
|
+
| GeoJSONMultiPolygon5
|
|
336
|
+
)[];
|
|
337
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
338
|
+
[k: string]: any;
|
|
339
|
+
}
|
|
340
|
+
export interface GeoJSONPoint5 {
|
|
341
|
+
type: "Point";
|
|
342
|
+
coordinates: [number, number, ...number[]];
|
|
343
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
344
|
+
[k: string]: any;
|
|
345
|
+
}
|
|
346
|
+
export interface GeoJSONLineString5 {
|
|
347
|
+
type: "LineString";
|
|
348
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]];
|
|
349
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
350
|
+
[k: string]: any;
|
|
351
|
+
}
|
|
352
|
+
export interface GeoJSONPolygon5 {
|
|
353
|
+
type: "Polygon";
|
|
354
|
+
coordinates: [
|
|
355
|
+
[number, number, ...number[]],
|
|
356
|
+
[number, number, ...number[]],
|
|
357
|
+
[number, number, ...number[]],
|
|
358
|
+
[number, number, ...number[]],
|
|
359
|
+
...[number, number, ...number[]][]
|
|
360
|
+
][];
|
|
361
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
362
|
+
[k: string]: any;
|
|
363
|
+
}
|
|
364
|
+
export interface GeoJSONMultiPoint5 {
|
|
365
|
+
type: "MultiPoint";
|
|
366
|
+
coordinates: [number, number, ...number[]][];
|
|
367
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
368
|
+
[k: string]: any;
|
|
369
|
+
}
|
|
370
|
+
export interface GeoJSONMultiLineString5 {
|
|
371
|
+
type: "MultiLineString";
|
|
372
|
+
coordinates: [[number, number, ...number[]], [number, number, ...number[]], ...[number, number, ...number[]][]][];
|
|
373
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
374
|
+
[k: string]: any;
|
|
375
|
+
}
|
|
376
|
+
export interface GeoJSONMultiPolygon5 {
|
|
377
|
+
type: "MultiPolygon";
|
|
378
|
+
coordinates: [
|
|
379
|
+
[number, number, ...number[]],
|
|
380
|
+
[number, number, ...number[]],
|
|
381
|
+
[number, number, ...number[]],
|
|
382
|
+
[number, number, ...number[]],
|
|
383
|
+
...[number, number, ...number[]][]
|
|
384
|
+
][][];
|
|
385
|
+
bbox?: [number, number, number, number, ...number[]];
|
|
386
|
+
[k: string]: any;
|
|
387
|
+
}
|
package/lib/_interface/jgis.d.ts
CHANGED
|
@@ -45,6 +45,13 @@ export interface IJGISContent {
|
|
|
45
45
|
sources: IJGISSources;
|
|
46
46
|
layerTree?: IJGISLayerTree;
|
|
47
47
|
options?: IJGISOptions;
|
|
48
|
+
metadata?: {
|
|
49
|
+
/**
|
|
50
|
+
* This interface was referenced by `undefined`'s JSON-Schema definition
|
|
51
|
+
* via the `patternProperty` "^.*$".
|
|
52
|
+
*/
|
|
53
|
+
[k: string]: string;
|
|
54
|
+
};
|
|
48
55
|
}
|
|
49
56
|
/**
|
|
50
57
|
* This interface was referenced by `IJGISContent`'s JSON-Schema
|
|
@@ -31,4 +31,15 @@ export interface IVectorLayer {
|
|
|
31
31
|
* The opacity of the the object
|
|
32
32
|
*/
|
|
33
33
|
opacity?: number;
|
|
34
|
+
/**
|
|
35
|
+
* The state of the symbology panel options
|
|
36
|
+
*/
|
|
37
|
+
symbologyState?: {
|
|
38
|
+
renderType: "Single Symbol" | "Graduated" | "Categorized";
|
|
39
|
+
value?: string;
|
|
40
|
+
method?: "color" | "radius";
|
|
41
|
+
colorRamp?: string;
|
|
42
|
+
nClasses?: string;
|
|
43
|
+
mode?: "quantile" | "equal interval" | "jenks" | "pretty" | "logarithmic";
|
|
44
|
+
};
|
|
34
45
|
}
|
|
@@ -21,4 +21,15 @@ export interface IWebGlLayer {
|
|
|
21
21
|
* The color of the the object
|
|
22
22
|
*/
|
|
23
23
|
color?: string | number | (string | number | (number | string | (number | string)[])[])[];
|
|
24
|
+
/**
|
|
25
|
+
* The state of the symbology panel options
|
|
26
|
+
*/
|
|
27
|
+
symbologyState?: {
|
|
28
|
+
renderType: string;
|
|
29
|
+
band: number;
|
|
30
|
+
interpolation: "discrete" | "linear" | "exact";
|
|
31
|
+
colorRamp: string;
|
|
32
|
+
nClasses: string;
|
|
33
|
+
mode: "continuous" | "equal interval" | "quantile";
|
|
34
|
+
};
|
|
24
35
|
}
|
package/lib/doc.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { MapChange, YDocument } from '@jupyter/ydoc';
|
|
2
|
+
import { JSONObject } from '@lumino/coreutils';
|
|
2
3
|
import { ISignal } from '@lumino/signaling';
|
|
3
4
|
import { IJGISLayer, IJGISLayerItem, IJGISLayerTree, IJGISLayers, IJGISOptions, IJGISSource, IJGISSources } from './_interface/jgis';
|
|
4
5
|
import { IDict, IJGISLayerDocChange, IJGISLayerTreeDocChange, IJGISSourceDocChange, IJupyterGISDoc, IJupyterGISDocChange } from './interfaces';
|
|
5
6
|
export declare class JupyterGISDoc extends YDocument<IJupyterGISDocChange> implements IJupyterGISDoc {
|
|
6
7
|
constructor();
|
|
8
|
+
getSource(): JSONObject;
|
|
9
|
+
setSource(value: JSONObject): void;
|
|
7
10
|
dispose(): void;
|
|
8
11
|
get version(): string;
|
|
9
12
|
get layers(): IJGISLayers;
|
|
@@ -13,7 +16,7 @@ export declare class JupyterGISDoc extends YDocument<IJupyterGISDocChange> imple
|
|
|
13
16
|
get layerTree(): IJGISLayerTree;
|
|
14
17
|
set layerTree(layerTree: IJGISLayerTree);
|
|
15
18
|
getLayer(id: string): IJGISLayer | undefined;
|
|
16
|
-
|
|
19
|
+
getLayerSource(id: string): IJGISSource | undefined;
|
|
17
20
|
set options(options: IJGISOptions);
|
|
18
21
|
get options(): IJGISOptions;
|
|
19
22
|
get layersChanged(): ISignal<IJupyterGISDoc, IJGISLayerDocChange>;
|
|
@@ -34,6 +37,14 @@ export declare class JupyterGISDoc extends YDocument<IJupyterGISDocChange> imple
|
|
|
34
37
|
updateSource(id: string, value: any): void;
|
|
35
38
|
getOption(key: keyof IJGISOptions): IDict | undefined;
|
|
36
39
|
setOption(key: keyof IJGISOptions, value: IDict): void;
|
|
40
|
+
getMetadata(key: string): string | undefined;
|
|
41
|
+
setMetadata(key: string, value: string): void;
|
|
42
|
+
removeMetadata(key: string): void;
|
|
43
|
+
get metadata(): JSONObject;
|
|
44
|
+
set metadata(metadata: {
|
|
45
|
+
[k: string]: string;
|
|
46
|
+
});
|
|
47
|
+
get metadataChanged(): ISignal<IJupyterGISDoc, MapChange>;
|
|
37
48
|
static create(): IJupyterGISDoc;
|
|
38
49
|
editable: boolean;
|
|
39
50
|
private _getLayerAsYMap;
|
|
@@ -42,12 +53,15 @@ export declare class JupyterGISDoc extends YDocument<IJupyterGISDocChange> imple
|
|
|
42
53
|
private _layerTreeObserver;
|
|
43
54
|
private _sourcesObserver;
|
|
44
55
|
private _optionsObserver;
|
|
56
|
+
private _metaObserver;
|
|
45
57
|
private _layers;
|
|
46
58
|
private _layerTree;
|
|
47
59
|
private _sources;
|
|
48
60
|
private _options;
|
|
61
|
+
private _metadata;
|
|
49
62
|
private _optionsChanged;
|
|
50
63
|
private _layersChanged;
|
|
51
64
|
private _layerTreeChanged;
|
|
52
65
|
private _sourcesChanged;
|
|
66
|
+
private _metadataChanged;
|
|
53
67
|
}
|
package/lib/doc.js
CHANGED
|
@@ -8,14 +8,19 @@ export class JupyterGISDoc extends YDocument {
|
|
|
8
8
|
this._optionsObserver = (event) => {
|
|
9
9
|
this._optionsChanged.emit(event.keys);
|
|
10
10
|
};
|
|
11
|
+
this._metaObserver = (event) => {
|
|
12
|
+
this._metadataChanged.emit(event.keys);
|
|
13
|
+
};
|
|
11
14
|
this._optionsChanged = new Signal(this);
|
|
12
15
|
this._layersChanged = new Signal(this);
|
|
13
16
|
this._layerTreeChanged = new Signal(this);
|
|
14
17
|
this._sourcesChanged = new Signal(this);
|
|
18
|
+
this._metadataChanged = new Signal(this);
|
|
15
19
|
this._options = this.ydoc.getMap('options');
|
|
16
20
|
this._layers = this.ydoc.getMap('layers');
|
|
17
21
|
this._layerTree = this.ydoc.getArray('layerTree');
|
|
18
22
|
this._sources = this.ydoc.getMap('sources');
|
|
23
|
+
this._metadata = this.ydoc.getMap('metadata');
|
|
19
24
|
this.undoManager.addToScope(this._layers);
|
|
20
25
|
this.undoManager.addToScope(this._sources);
|
|
21
26
|
this.undoManager.addToScope(this._layerTree);
|
|
@@ -23,6 +28,35 @@ export class JupyterGISDoc extends YDocument {
|
|
|
23
28
|
this._layerTree.observe(this._layerTreeObserver.bind(this));
|
|
24
29
|
this._sources.observeDeep(this._sourcesObserver.bind(this));
|
|
25
30
|
this._options.observe(this._optionsObserver.bind(this));
|
|
31
|
+
this._metadata.observe(this._metaObserver.bind(this));
|
|
32
|
+
}
|
|
33
|
+
getSource() {
|
|
34
|
+
const layers = this._layers.toJSON();
|
|
35
|
+
const layerTree = this._layerTree.toJSON();
|
|
36
|
+
const options = this._options.toJSON();
|
|
37
|
+
const sources = this._sources.toJSON();
|
|
38
|
+
const metadata = this._metadata.toJSON();
|
|
39
|
+
return { layers, layerTree, sources, options, metadata };
|
|
40
|
+
}
|
|
41
|
+
setSource(value) {
|
|
42
|
+
if (!value) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
this.transact(() => {
|
|
46
|
+
var _a, _b, _c, _d, _e;
|
|
47
|
+
const layers = (_a = value['layers']) !== null && _a !== void 0 ? _a : {};
|
|
48
|
+
Object.entries(layers).forEach(([key, val]) => this._layers.set(key, val));
|
|
49
|
+
const layerTree = (_b = value['layerTree']) !== null && _b !== void 0 ? _b : [];
|
|
50
|
+
layerTree.forEach(layer => {
|
|
51
|
+
this._layerTree.push([layer]);
|
|
52
|
+
});
|
|
53
|
+
const options = (_c = value['options']) !== null && _c !== void 0 ? _c : {};
|
|
54
|
+
Object.entries(options).forEach(([key, val]) => this._options.set(key, val));
|
|
55
|
+
const sources = (_d = value['sources']) !== null && _d !== void 0 ? _d : {};
|
|
56
|
+
Object.entries(sources).forEach(([key, val]) => this._sources.set(key, val));
|
|
57
|
+
const metadata = (_e = value['metadata']) !== null && _e !== void 0 ? _e : {};
|
|
58
|
+
Object.entries(metadata).forEach(([key, val]) => this._metadata.set(key, val));
|
|
59
|
+
});
|
|
26
60
|
}
|
|
27
61
|
dispose() {
|
|
28
62
|
super.dispose();
|
|
@@ -65,7 +99,7 @@ export class JupyterGISDoc extends YDocument {
|
|
|
65
99
|
}
|
|
66
100
|
return JSONExt.deepCopy(this._layers.get(id));
|
|
67
101
|
}
|
|
68
|
-
|
|
102
|
+
getLayerSource(id) {
|
|
69
103
|
if (!this._sources.has(id)) {
|
|
70
104
|
return undefined;
|
|
71
105
|
}
|
|
@@ -129,7 +163,7 @@ export class JupyterGISDoc extends YDocument {
|
|
|
129
163
|
if (layer) {
|
|
130
164
|
return layer;
|
|
131
165
|
}
|
|
132
|
-
const source = this.
|
|
166
|
+
const source = this.getLayerSource(id);
|
|
133
167
|
if (source) {
|
|
134
168
|
return source;
|
|
135
169
|
}
|
|
@@ -140,7 +174,7 @@ export class JupyterGISDoc extends YDocument {
|
|
|
140
174
|
layer.parameters = Object.assign(Object.assign({}, layer.parameters), value);
|
|
141
175
|
this.updateLayer(id, layer);
|
|
142
176
|
}
|
|
143
|
-
const source = this.
|
|
177
|
+
const source = this.getLayerSource(id);
|
|
144
178
|
if (source) {
|
|
145
179
|
source.parameters = Object.assign(Object.assign({}, source.parameters), value);
|
|
146
180
|
this.updateSource(id, source);
|
|
@@ -172,6 +206,30 @@ export class JupyterGISDoc extends YDocument {
|
|
|
172
206
|
setOption(key, value) {
|
|
173
207
|
this.transact(() => void this._options.set(key, value));
|
|
174
208
|
}
|
|
209
|
+
getMetadata(key) {
|
|
210
|
+
return this._metadata.get(key);
|
|
211
|
+
}
|
|
212
|
+
setMetadata(key, value) {
|
|
213
|
+
this.transact(() => void this._metadata.set(key, value));
|
|
214
|
+
}
|
|
215
|
+
removeMetadata(key) {
|
|
216
|
+
if (this._metadata.has(key)) {
|
|
217
|
+
this._metadata.delete(key);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
get metadata() {
|
|
221
|
+
return JSONExt.deepCopy(this._metadata.toJSON());
|
|
222
|
+
}
|
|
223
|
+
set metadata(metadata) {
|
|
224
|
+
this.transact(() => {
|
|
225
|
+
for (const [key, value] of Object.entries(metadata)) {
|
|
226
|
+
this._metadata.set(key, value);
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
get metadataChanged() {
|
|
231
|
+
return this._metadataChanged;
|
|
232
|
+
}
|
|
175
233
|
static create() {
|
|
176
234
|
return new JupyterGISDoc();
|
|
177
235
|
}
|