@lbdudc/gp-gis-dsl 0.3.1 → 0.3.3

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.
Files changed (42) hide show
  1. package/.claude/settings.local.json +7 -0
  2. package/grammar/.antlr/GISGrammar.interp +182 -0
  3. package/grammar/.antlr/GISGrammar.tokens +73 -0
  4. package/grammar/.antlr/GISGrammarBaseListener.java +579 -0
  5. package/grammar/.antlr/GISGrammarLexer.interp +241 -0
  6. package/grammar/.antlr/GISGrammarLexer.java +686 -0
  7. package/grammar/.antlr/GISGrammarLexer.tokens +73 -0
  8. package/grammar/.antlr/GISGrammarListener.java +459 -0
  9. package/grammar/.antlr/GISGrammarParser.java +2948 -0
  10. package/grammar/GISGrammar.g4 +313 -313
  11. package/package.json +1 -1
  12. package/parse-file.js +73 -0
  13. package/src/GISVisitorHelper.js +93 -93
  14. package/src/cli.js +34 -34
  15. package/src/error/ErrorListener.js +26 -26
  16. package/src/error/SyntaxGenericError.js +18 -18
  17. package/src/index.js +4 -1
  18. package/src/lib/GISGrammar.interp +181 -181
  19. package/src/lib/GISGrammarLexer.interp +241 -241
  20. package/src/lib/GISGrammarLexer.js +202 -202
  21. package/src/lib/GISGrammarListener.js +1 -1
  22. package/src/lib/GISGrammarParser.js +1 -1
  23. package/src/lib/GISGrammarVisitor.js +1 -1
  24. package/src/spl/GIS.js +234 -234
  25. package/src/spl/GeoJSONLayer.js +21 -21
  26. package/src/spl/GeoJSONLayerStyle.js +14 -14
  27. package/src/spl/TileLayer.js +16 -16
  28. package/src/spl/WMSLayer.js +30 -30
  29. package/src/spl/WMSStyle.js +13 -13
  30. package/src/spl/WMSStyleCustom.js +22 -22
  31. package/src/store.js +74 -74
  32. package/test-examples.js +120 -0
  33. package/test-output/agriculture.json +429 -0
  34. package/test-output/basic.json +315 -0
  35. package/test-output/complete.json +1259 -0
  36. package/test-output/emergency.json +755 -0
  37. package/test-output/environmental.json +591 -0
  38. package/test-output/gis.json +254 -0
  39. package/test-output/tourism.json +704 -0
  40. package/test-output/transportation.json +488 -0
  41. package/test-output/utilities.json +620 -0
  42. package/test-output/wms.json +110 -0
@@ -0,0 +1,488 @@
1
+ {
2
+ "features": [
3
+ "MapViewer",
4
+ "ChartViewer",
5
+ "Tools",
6
+ "DM_SpatialDatabase",
7
+ "DM_GenerationType",
8
+ "MV_MapServer",
9
+ "MV_Tools",
10
+ "MV_MapManagement",
11
+ "DM_SD_PostGIS",
12
+ "DM_GT_Sequence",
13
+ "MV_MM_MultipleMapViewer",
14
+ "MV_MM_MMV_MapSelectorInMapViewer",
15
+ "MV_MM_MMV_MapSelectorInMenuElement",
16
+ "MV_MS_GeoServer",
17
+ "GUI_Lists",
18
+ "GUI_L_FormLink",
19
+ "GUI_L_F_BasicSearch",
20
+ "GUI_L_Filterable",
21
+ "GUI_L_Sortable",
22
+ "GUI_L_LocateInMap",
23
+ "GUI_L_ViewListAsMap",
24
+ "MV_ContextInformation",
25
+ "MV_CI_Scale",
26
+ "MV_CI_Map",
27
+ "MV_CI_CenterCoordinates",
28
+ "MV_CI_Dimensions",
29
+ "MV_DetailOnClick",
30
+ "MV_LayerManagement",
31
+ "MV_LM_CenterViewOnLayer",
32
+ "MV_LM_Order",
33
+ "MV_LM_Opacity",
34
+ "MV_LM_HideLayer",
35
+ "MV_LM_Style",
36
+ "MV_LM_ExternalLayer",
37
+ "MV_LM_StylePreview",
38
+ "MV_T_E_Type",
39
+ "MV_T_E_F_URL",
40
+ "MV_T_E_F_PDF",
41
+ "MV_T_E_SetScale",
42
+ "MV_T_E_ShowLegend",
43
+ "MV_T_InformationMode",
44
+ "MV_T_MeasureControl",
45
+ "MV_T_ZoomWindow",
46
+ "MV_T_ViewMapAsList",
47
+ "DM_DataInput",
48
+ "DM_DI_DataFeeding",
49
+ "DM_DI_DF_Shapefile",
50
+ "T_GIS",
51
+ "T_EntitiesInformation",
52
+ "D_C_Postgres",
53
+ "D_C_Geoserver",
54
+ "D_C_Nginx"
55
+ ],
56
+ "basicData": {
57
+ "name": "transport_network"
58
+ },
59
+ "data": {
60
+ "dataModel": {
61
+ "entities": [
62
+ {
63
+ "name": "TransitLine",
64
+ "properties": [
65
+ {
66
+ "name": "id",
67
+ "class": "Long (autoinc)",
68
+ "pk": true,
69
+ "required": true,
70
+ "unique": true
71
+ },
72
+ {
73
+ "name": "lineNumber",
74
+ "class": "String",
75
+ "required": true,
76
+ "unique": true
77
+ },
78
+ {
79
+ "name": "name",
80
+ "class": "String",
81
+ "required": true
82
+ },
83
+ {
84
+ "name": "lineType",
85
+ "class": "String"
86
+ },
87
+ {
88
+ "name": "operatingHours",
89
+ "class": "String"
90
+ },
91
+ {
92
+ "name": "frequency",
93
+ "class": "Integer"
94
+ },
95
+ {
96
+ "name": "route",
97
+ "class": "MultiLineString"
98
+ },
99
+ {
100
+ "name": "stops",
101
+ "class": "BusStop",
102
+ "owner": false,
103
+ "bidirectional": "transitLine",
104
+ "multiple": true,
105
+ "required": true
106
+ },
107
+ {
108
+ "name": "vehicles",
109
+ "class": "Vehicle",
110
+ "owner": false,
111
+ "bidirectional": "assignedLine",
112
+ "multiple": true,
113
+ "required": false
114
+ }
115
+ ],
116
+ "displayString": "$lineNumber"
117
+ },
118
+ {
119
+ "name": "BusStop",
120
+ "properties": [
121
+ {
122
+ "name": "id",
123
+ "class": "Long (autoinc)",
124
+ "pk": true,
125
+ "required": true,
126
+ "unique": true
127
+ },
128
+ {
129
+ "name": "stopCode",
130
+ "class": "String",
131
+ "required": true,
132
+ "unique": true
133
+ },
134
+ {
135
+ "name": "name",
136
+ "class": "String",
137
+ "required": true
138
+ },
139
+ {
140
+ "name": "hasSeating",
141
+ "class": "Boolean"
142
+ },
143
+ {
144
+ "name": "hasShelter",
145
+ "class": "Boolean"
146
+ },
147
+ {
148
+ "name": "accessibility",
149
+ "class": "Boolean"
150
+ },
151
+ {
152
+ "name": "location",
153
+ "class": "Point"
154
+ },
155
+ {
156
+ "name": "transitLine",
157
+ "class": "TransitLine",
158
+ "owner": true,
159
+ "bidirectional": "stops",
160
+ "multiple": false,
161
+ "required": true
162
+ }
163
+ ],
164
+ "displayString": "$stopCode"
165
+ },
166
+ {
167
+ "name": "Vehicle",
168
+ "properties": [
169
+ {
170
+ "name": "id",
171
+ "class": "Long (autoinc)",
172
+ "pk": true,
173
+ "required": true,
174
+ "unique": true
175
+ },
176
+ {
177
+ "name": "vehicleNumber",
178
+ "class": "String",
179
+ "required": true,
180
+ "unique": true
181
+ },
182
+ {
183
+ "name": "model",
184
+ "class": "String"
185
+ },
186
+ {
187
+ "name": "capacity",
188
+ "class": "Integer"
189
+ },
190
+ {
191
+ "name": "yearManufactured",
192
+ "class": "Integer"
193
+ },
194
+ {
195
+ "name": "fuelType",
196
+ "class": "String"
197
+ },
198
+ {
199
+ "name": "status",
200
+ "class": "String"
201
+ },
202
+ {
203
+ "name": "assignedLine",
204
+ "class": "TransitLine",
205
+ "owner": true,
206
+ "bidirectional": "vehicles",
207
+ "multiple": false,
208
+ "required": false
209
+ }
210
+ ],
211
+ "displayString": "$vehicleNumber"
212
+ },
213
+ {
214
+ "name": "ParkingLot",
215
+ "properties": [
216
+ {
217
+ "name": "id",
218
+ "class": "Long (autoinc)",
219
+ "pk": true,
220
+ "required": true,
221
+ "unique": true
222
+ },
223
+ {
224
+ "name": "name",
225
+ "class": "String",
226
+ "required": true
227
+ },
228
+ {
229
+ "name": "totalSpaces",
230
+ "class": "Integer"
231
+ },
232
+ {
233
+ "name": "availableSpaces",
234
+ "class": "Integer"
235
+ },
236
+ {
237
+ "name": "hourlyRate",
238
+ "class": "Double"
239
+ },
240
+ {
241
+ "name": "isPublic",
242
+ "class": "Boolean"
243
+ },
244
+ {
245
+ "name": "boundary",
246
+ "class": "MultiPolygon"
247
+ },
248
+ {
249
+ "name": "location",
250
+ "class": "Point"
251
+ }
252
+ ],
253
+ "displayString": "$name"
254
+ },
255
+ {
256
+ "name": "BikeLane",
257
+ "properties": [
258
+ {
259
+ "name": "id",
260
+ "class": "Long (autoinc)",
261
+ "pk": true,
262
+ "required": true,
263
+ "unique": true
264
+ },
265
+ {
266
+ "name": "name",
267
+ "class": "String"
268
+ },
269
+ {
270
+ "name": "surface",
271
+ "class": "String"
272
+ },
273
+ {
274
+ "name": "width",
275
+ "class": "Double"
276
+ },
277
+ {
278
+ "name": "isBidirectional",
279
+ "class": "Boolean"
280
+ },
281
+ {
282
+ "name": "path",
283
+ "class": "MultiLineString"
284
+ }
285
+ ],
286
+ "displayString": "$name"
287
+ },
288
+ {
289
+ "name": "TrafficLight",
290
+ "properties": [
291
+ {
292
+ "name": "id",
293
+ "class": "Long (autoinc)",
294
+ "pk": true,
295
+ "required": true,
296
+ "unique": true
297
+ },
298
+ {
299
+ "name": "code",
300
+ "class": "String",
301
+ "unique": true
302
+ },
303
+ {
304
+ "name": "hasCamera",
305
+ "class": "Boolean"
306
+ },
307
+ {
308
+ "name": "lastMaintenance",
309
+ "class": "LocalDate"
310
+ },
311
+ {
312
+ "name": "location",
313
+ "class": "Point"
314
+ }
315
+ ],
316
+ "displayString": "$code"
317
+ }
318
+ ],
319
+ "enums": []
320
+ }
321
+ },
322
+ "mapViewer": {
323
+ "maps": [
324
+ {
325
+ "name": "transit",
326
+ "label": "Public Transit",
327
+ "sortable": false,
328
+ "layers": [
329
+ {
330
+ "name": "osm",
331
+ "baseLayer": true,
332
+ "selected": true
333
+ },
334
+ {
335
+ "name": "transitLineLayer",
336
+ "baseLayer": false,
337
+ "selected": true
338
+ },
339
+ {
340
+ "name": "busStopLayer",
341
+ "baseLayer": false,
342
+ "selected": true
343
+ }
344
+ ]
345
+ },
346
+ {
347
+ "name": "traffic",
348
+ "label": "Traffic Management",
349
+ "sortable": true,
350
+ "layers": [
351
+ {
352
+ "name": "osm",
353
+ "baseLayer": true,
354
+ "selected": true
355
+ },
356
+ {
357
+ "name": "transitLineLayer",
358
+ "baseLayer": false,
359
+ "selected": false
360
+ },
361
+ {
362
+ "name": "bikeLaneLayer",
363
+ "baseLayer": false,
364
+ "selected": true
365
+ },
366
+ {
367
+ "name": "trafficLightLayer",
368
+ "baseLayer": false,
369
+ "selected": true
370
+ },
371
+ {
372
+ "name": "parkingLayer",
373
+ "baseLayer": false,
374
+ "selected": true
375
+ }
376
+ ]
377
+ }
378
+ ],
379
+ "layers": [
380
+ {
381
+ "name": "osm",
382
+ "type": "tilelayer",
383
+ "label": "OpenStreetMap",
384
+ "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
385
+ },
386
+ {
387
+ "name": "transitLineLayer",
388
+ "type": "wms",
389
+ "label": "Transit Lines",
390
+ "list": "TransitLine",
391
+ "layers": [
392
+ "TransitLine"
393
+ ],
394
+ "availableStyles": [
395
+ "transitLineStyle"
396
+ ],
397
+ "defaultStyles": "transitLineStyle"
398
+ },
399
+ {
400
+ "name": "busStopLayer",
401
+ "type": "geojson",
402
+ "label": "Bus Stops",
403
+ "entityName": "BusStop",
404
+ "editable": true,
405
+ "defaultStyle": "busStopLayerStyle",
406
+ "availableStyles": [
407
+ "busStopLayerStyle"
408
+ ]
409
+ },
410
+ {
411
+ "name": "parkingLayer",
412
+ "type": "geojson",
413
+ "label": "Parking Lots",
414
+ "entityName": "ParkingLot",
415
+ "editable": true,
416
+ "defaultStyle": "parkingLayerStyle",
417
+ "availableStyles": [
418
+ "parkingLayerStyle"
419
+ ]
420
+ },
421
+ {
422
+ "name": "bikeLaneLayer",
423
+ "type": "geojson",
424
+ "label": "Bike Lanes",
425
+ "entityName": "BikeLane",
426
+ "editable": true,
427
+ "defaultStyle": "bikeLaneLayerStyle",
428
+ "availableStyles": [
429
+ "bikeLaneLayerStyle"
430
+ ]
431
+ },
432
+ {
433
+ "name": "trafficLightLayer",
434
+ "type": "geojson",
435
+ "label": "Traffic Lights",
436
+ "entityName": "TrafficLight",
437
+ "editable": true,
438
+ "defaultStyle": "trafficLightLayerStyle",
439
+ "availableStyles": [
440
+ "trafficLightLayerStyle"
441
+ ]
442
+ }
443
+ ],
444
+ "styles": [
445
+ {
446
+ "name": "transitLineStyle",
447
+ "type": "WMSLayerStyle",
448
+ "geometryType": "LINE",
449
+ "fillColor": "#FF4500",
450
+ "strokeColor": "#DC143C",
451
+ "fillOpacity": 0.8,
452
+ "strokeOpacity": 1
453
+ },
454
+ {
455
+ "name": "busStopLayerStyle",
456
+ "type": "GeoJSONLayerStyle",
457
+ "fillColor": "#FFD700",
458
+ "strokeColor": "#FF8C00",
459
+ "fillOpacity": "0.9",
460
+ "strokeOpacity": "1.0"
461
+ },
462
+ {
463
+ "name": "parkingLayerStyle",
464
+ "type": "GeoJSONLayerStyle",
465
+ "fillColor": "#4169E1",
466
+ "strokeColor": "#191970",
467
+ "fillOpacity": "0.6",
468
+ "strokeOpacity": "0.8"
469
+ },
470
+ {
471
+ "name": "bikeLaneLayerStyle",
472
+ "type": "GeoJSONLayerStyle",
473
+ "fillColor": "#32CD32",
474
+ "strokeColor": "#228B22",
475
+ "fillOpacity": "0.7",
476
+ "strokeOpacity": "0.9"
477
+ },
478
+ {
479
+ "name": "trafficLightLayerStyle",
480
+ "type": "GeoJSONLayerStyle",
481
+ "fillColor": "#FF0000",
482
+ "strokeColor": "#8B0000",
483
+ "fillOpacity": "0.8",
484
+ "strokeOpacity": "1.0"
485
+ }
486
+ ]
487
+ }
488
+ }