@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,704 @@
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": "tourism_heritage"
58
+ },
59
+ "data": {
60
+ "dataModel": {
61
+ "entities": [
62
+ {
63
+ "name": "HistoricSite",
64
+ "properties": [
65
+ {
66
+ "name": "id",
67
+ "class": "Long (autoinc)",
68
+ "pk": true,
69
+ "required": true,
70
+ "unique": true
71
+ },
72
+ {
73
+ "name": "name",
74
+ "class": "String",
75
+ "required": true
76
+ },
77
+ {
78
+ "name": "category",
79
+ "class": "String",
80
+ "required": true
81
+ },
82
+ {
83
+ "name": "period",
84
+ "class": "String"
85
+ },
86
+ {
87
+ "name": "constructionDate",
88
+ "class": "LocalDate"
89
+ },
90
+ {
91
+ "name": "heritageStatus",
92
+ "class": "String"
93
+ },
94
+ {
95
+ "name": "visitorsPerYear",
96
+ "class": "Integer"
97
+ },
98
+ {
99
+ "name": "location",
100
+ "class": "Point"
101
+ },
102
+ {
103
+ "name": "boundary",
104
+ "class": "MultiPolygon"
105
+ },
106
+ {
107
+ "name": "tours",
108
+ "class": "TourRoute",
109
+ "owner": false,
110
+ "bidirectional": "historicSites",
111
+ "multiple": true,
112
+ "required": false
113
+ }
114
+ ],
115
+ "displayString": "$name"
116
+ },
117
+ {
118
+ "name": "Museum",
119
+ "properties": [
120
+ {
121
+ "name": "id",
122
+ "class": "Long (autoinc)",
123
+ "pk": true,
124
+ "required": true,
125
+ "unique": true
126
+ },
127
+ {
128
+ "name": "name",
129
+ "class": "String",
130
+ "required": true
131
+ },
132
+ {
133
+ "name": "type",
134
+ "class": "String"
135
+ },
136
+ {
137
+ "name": "foundedYear",
138
+ "class": "Integer"
139
+ },
140
+ {
141
+ "name": "collectionSize",
142
+ "class": "Integer"
143
+ },
144
+ {
145
+ "name": "admissionFee",
146
+ "class": "Double"
147
+ },
148
+ {
149
+ "name": "openingHours",
150
+ "class": "String"
151
+ },
152
+ {
153
+ "name": "hasGuidedTours",
154
+ "class": "Boolean"
155
+ },
156
+ {
157
+ "name": "location",
158
+ "class": "Point"
159
+ }
160
+ ],
161
+ "displayString": "$name"
162
+ },
163
+ {
164
+ "name": "Hotel",
165
+ "properties": [
166
+ {
167
+ "name": "id",
168
+ "class": "Long (autoinc)",
169
+ "pk": true,
170
+ "required": true,
171
+ "unique": true
172
+ },
173
+ {
174
+ "name": "name",
175
+ "class": "String",
176
+ "required": true
177
+ },
178
+ {
179
+ "name": "category",
180
+ "class": "String"
181
+ },
182
+ {
183
+ "name": "starRating",
184
+ "class": "Integer"
185
+ },
186
+ {
187
+ "name": "numberOfRooms",
188
+ "class": "Integer"
189
+ },
190
+ {
191
+ "name": "hasRestaurant",
192
+ "class": "Boolean"
193
+ },
194
+ {
195
+ "name": "hasParking",
196
+ "class": "Boolean"
197
+ },
198
+ {
199
+ "name": "priceRange",
200
+ "class": "String"
201
+ },
202
+ {
203
+ "name": "location",
204
+ "class": "Point"
205
+ },
206
+ {
207
+ "name": "boundary",
208
+ "class": "MultiPolygon"
209
+ }
210
+ ],
211
+ "displayString": "$name"
212
+ },
213
+ {
214
+ "name": "Restaurant",
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": "cuisineType",
230
+ "class": "String"
231
+ },
232
+ {
233
+ "name": "priceRange",
234
+ "class": "String"
235
+ },
236
+ {
237
+ "name": "seatingCapacity",
238
+ "class": "Integer"
239
+ },
240
+ {
241
+ "name": "hasOutdoorSeating",
242
+ "class": "Boolean"
243
+ },
244
+ {
245
+ "name": "rating",
246
+ "class": "Double"
247
+ },
248
+ {
249
+ "name": "location",
250
+ "class": "Point"
251
+ }
252
+ ],
253
+ "displayString": "$name"
254
+ },
255
+ {
256
+ "name": "TourRoute",
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
+ "required": true
269
+ },
270
+ {
271
+ "name": "duration",
272
+ "class": "Integer"
273
+ },
274
+ {
275
+ "name": "difficulty",
276
+ "class": "String"
277
+ },
278
+ {
279
+ "name": "length",
280
+ "class": "Double"
281
+ },
282
+ {
283
+ "name": "path",
284
+ "class": "MultiLineString"
285
+ },
286
+ {
287
+ "name": "historicSites",
288
+ "class": "HistoricSite",
289
+ "owner": true,
290
+ "bidirectional": "tours",
291
+ "multiple": true,
292
+ "required": false
293
+ },
294
+ {
295
+ "name": "viewpoints",
296
+ "class": "Viewpoint",
297
+ "owner": false,
298
+ "bidirectional": "tourRoute",
299
+ "multiple": true,
300
+ "required": true
301
+ }
302
+ ],
303
+ "displayString": "$name"
304
+ },
305
+ {
306
+ "name": "Viewpoint",
307
+ "properties": [
308
+ {
309
+ "name": "id",
310
+ "class": "Long (autoinc)",
311
+ "pk": true,
312
+ "required": true,
313
+ "unique": true
314
+ },
315
+ {
316
+ "name": "name",
317
+ "class": "String",
318
+ "required": true
319
+ },
320
+ {
321
+ "name": "elevation",
322
+ "class": "Double"
323
+ },
324
+ {
325
+ "name": "hasSeating",
326
+ "class": "Boolean"
327
+ },
328
+ {
329
+ "name": "hasParking",
330
+ "class": "Boolean"
331
+ },
332
+ {
333
+ "name": "accessibility",
334
+ "class": "Boolean"
335
+ },
336
+ {
337
+ "name": "location",
338
+ "class": "Point"
339
+ },
340
+ {
341
+ "name": "tourRoute",
342
+ "class": "TourRoute",
343
+ "owner": true,
344
+ "bidirectional": "viewpoints",
345
+ "multiple": false,
346
+ "required": false
347
+ }
348
+ ],
349
+ "displayString": "$name"
350
+ },
351
+ {
352
+ "name": "Beach",
353
+ "properties": [
354
+ {
355
+ "name": "id",
356
+ "class": "Long (autoinc)",
357
+ "pk": true,
358
+ "required": true,
359
+ "unique": true
360
+ },
361
+ {
362
+ "name": "name",
363
+ "class": "String",
364
+ "required": true
365
+ },
366
+ {
367
+ "name": "length",
368
+ "class": "Double"
369
+ },
370
+ {
371
+ "name": "hasLifeguard",
372
+ "class": "Boolean"
373
+ },
374
+ {
375
+ "name": "hasShowers",
376
+ "class": "Boolean"
377
+ },
378
+ {
379
+ "name": "hasRestaurant",
380
+ "class": "Boolean"
381
+ },
382
+ {
383
+ "name": "accessibility",
384
+ "class": "Boolean"
385
+ },
386
+ {
387
+ "name": "blueFlag",
388
+ "class": "Boolean"
389
+ },
390
+ {
391
+ "name": "boundary",
392
+ "class": "MultiPolygon"
393
+ }
394
+ ],
395
+ "displayString": "$name"
396
+ },
397
+ {
398
+ "name": "NaturalPark",
399
+ "properties": [
400
+ {
401
+ "name": "id",
402
+ "class": "Long (autoinc)",
403
+ "pk": true,
404
+ "required": true,
405
+ "unique": true
406
+ },
407
+ {
408
+ "name": "name",
409
+ "class": "String",
410
+ "required": true
411
+ },
412
+ {
413
+ "name": "parkType",
414
+ "class": "String"
415
+ },
416
+ {
417
+ "name": "area",
418
+ "class": "Double"
419
+ },
420
+ {
421
+ "name": "establishedYear",
422
+ "class": "Integer"
423
+ },
424
+ {
425
+ "name": "visitorCenter",
426
+ "class": "Boolean"
427
+ },
428
+ {
429
+ "name": "hikingTrails",
430
+ "class": "Integer"
431
+ },
432
+ {
433
+ "name": "boundary",
434
+ "class": "MultiPolygon"
435
+ }
436
+ ],
437
+ "displayString": "$name"
438
+ }
439
+ ],
440
+ "enums": []
441
+ }
442
+ },
443
+ "mapViewer": {
444
+ "maps": [
445
+ {
446
+ "name": "heritage",
447
+ "label": "Cultural Heritage",
448
+ "sortable": false,
449
+ "layers": [
450
+ {
451
+ "name": "tourist",
452
+ "baseLayer": true,
453
+ "selected": true
454
+ },
455
+ {
456
+ "name": "historicSiteLayer",
457
+ "baseLayer": false,
458
+ "selected": true
459
+ },
460
+ {
461
+ "name": "museumLayer",
462
+ "baseLayer": false,
463
+ "selected": true
464
+ },
465
+ {
466
+ "name": "tourRouteLayer",
467
+ "baseLayer": false,
468
+ "selected": true
469
+ }
470
+ ]
471
+ },
472
+ {
473
+ "name": "accommodation",
474
+ "label": "Accommodation & Dining",
475
+ "sortable": false,
476
+ "layers": [
477
+ {
478
+ "name": "tourist",
479
+ "baseLayer": true,
480
+ "selected": true
481
+ },
482
+ {
483
+ "name": "hotelLayer",
484
+ "baseLayer": false,
485
+ "selected": true
486
+ },
487
+ {
488
+ "name": "restaurantLayer",
489
+ "baseLayer": false,
490
+ "selected": true
491
+ }
492
+ ]
493
+ },
494
+ {
495
+ "name": "attractions",
496
+ "label": "Tourist Attractions",
497
+ "sortable": true,
498
+ "layers": [
499
+ {
500
+ "name": "tourist",
501
+ "baseLayer": true,
502
+ "selected": true
503
+ },
504
+ {
505
+ "name": "historicSiteLayer",
506
+ "baseLayer": false,
507
+ "selected": true
508
+ },
509
+ {
510
+ "name": "naturalParkLayer",
511
+ "baseLayer": false,
512
+ "selected": true
513
+ },
514
+ {
515
+ "name": "beachLayer",
516
+ "baseLayer": false,
517
+ "selected": true
518
+ },
519
+ {
520
+ "name": "viewpointLayer",
521
+ "baseLayer": false,
522
+ "selected": true
523
+ },
524
+ {
525
+ "name": "museumLayer",
526
+ "baseLayer": false,
527
+ "selected": false
528
+ }
529
+ ]
530
+ }
531
+ ],
532
+ "layers": [
533
+ {
534
+ "name": "tourist",
535
+ "type": "tilelayer",
536
+ "label": "Tourist Map",
537
+ "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
538
+ },
539
+ {
540
+ "name": "historicSiteLayer",
541
+ "type": "wms",
542
+ "label": "Historic Sites",
543
+ "list": "HistoricSite",
544
+ "layers": [
545
+ "HistoricSite"
546
+ ],
547
+ "availableStyles": [
548
+ "historicSiteStyle"
549
+ ],
550
+ "defaultStyles": "historicSiteStyle"
551
+ },
552
+ {
553
+ "name": "tourRouteLayer",
554
+ "type": "wms",
555
+ "label": "Tour Routes",
556
+ "list": "TourRoute",
557
+ "layers": [
558
+ "TourRoute"
559
+ ],
560
+ "availableStyles": [
561
+ "tourRouteStyle"
562
+ ],
563
+ "defaultStyles": "tourRouteStyle"
564
+ },
565
+ {
566
+ "name": "naturalParkLayer",
567
+ "type": "wms",
568
+ "label": "Natural Parks",
569
+ "list": "NaturalPark",
570
+ "layers": [
571
+ "NaturalPark"
572
+ ],
573
+ "availableStyles": [
574
+ "naturalParkStyle"
575
+ ],
576
+ "defaultStyles": "naturalParkStyle"
577
+ },
578
+ {
579
+ "name": "museumLayer",
580
+ "type": "geojson",
581
+ "label": "Museums",
582
+ "entityName": "Museum",
583
+ "editable": true,
584
+ "defaultStyle": "museumLayerStyle",
585
+ "availableStyles": [
586
+ "museumLayerStyle"
587
+ ]
588
+ },
589
+ {
590
+ "name": "hotelLayer",
591
+ "type": "geojson",
592
+ "label": "Hotels",
593
+ "entityName": "Hotel",
594
+ "editable": true,
595
+ "defaultStyle": "hotelLayerStyle",
596
+ "availableStyles": [
597
+ "hotelLayerStyle"
598
+ ]
599
+ },
600
+ {
601
+ "name": "restaurantLayer",
602
+ "type": "geojson",
603
+ "label": "Restaurants",
604
+ "entityName": "Restaurant",
605
+ "editable": true,
606
+ "defaultStyle": "restaurantLayerStyle",
607
+ "availableStyles": [
608
+ "restaurantLayerStyle"
609
+ ]
610
+ },
611
+ {
612
+ "name": "viewpointLayer",
613
+ "type": "geojson",
614
+ "label": "Viewpoints",
615
+ "entityName": "Viewpoint",
616
+ "editable": true,
617
+ "defaultStyle": "viewpointLayerStyle",
618
+ "availableStyles": [
619
+ "viewpointLayerStyle"
620
+ ]
621
+ },
622
+ {
623
+ "name": "beachLayer",
624
+ "type": "geojson",
625
+ "label": "Beaches",
626
+ "entityName": "Beach",
627
+ "editable": true,
628
+ "defaultStyle": "beachLayerStyle",
629
+ "availableStyles": [
630
+ "beachLayerStyle"
631
+ ]
632
+ }
633
+ ],
634
+ "styles": [
635
+ {
636
+ "name": "historicSiteStyle",
637
+ "type": "WMSLayerStyle",
638
+ "geometryType": "POINT",
639
+ "fillColor": "#8B4513",
640
+ "strokeColor": "#654321",
641
+ "fillOpacity": 0.9,
642
+ "strokeOpacity": 1
643
+ },
644
+ {
645
+ "name": "tourRouteStyle",
646
+ "type": "WMSLayerStyle",
647
+ "geometryType": "LINE",
648
+ "fillColor": "#FF6347",
649
+ "strokeColor": "#DC143C",
650
+ "fillOpacity": 0.7,
651
+ "strokeOpacity": 0.9
652
+ },
653
+ {
654
+ "name": "naturalParkStyle",
655
+ "type": "WMSLayerStyle",
656
+ "geometryType": "POLYGON",
657
+ "fillColor": "#32CD32",
658
+ "strokeColor": "#228B22",
659
+ "fillOpacity": 0.4,
660
+ "strokeOpacity": 0.8
661
+ },
662
+ {
663
+ "name": "museumLayerStyle",
664
+ "type": "GeoJSONLayerStyle",
665
+ "fillColor": "#9370DB",
666
+ "strokeColor": "#8B008B",
667
+ "fillOpacity": "0.8",
668
+ "strokeOpacity": "1.0"
669
+ },
670
+ {
671
+ "name": "hotelLayerStyle",
672
+ "type": "GeoJSONLayerStyle",
673
+ "fillColor": "#4169E1",
674
+ "strokeColor": "#191970",
675
+ "fillOpacity": "0.7",
676
+ "strokeOpacity": "0.9"
677
+ },
678
+ {
679
+ "name": "restaurantLayerStyle",
680
+ "type": "GeoJSONLayerStyle",
681
+ "fillColor": "#FFA500",
682
+ "strokeColor": "#FF8C00",
683
+ "fillOpacity": "0.8",
684
+ "strokeOpacity": "1.0"
685
+ },
686
+ {
687
+ "name": "viewpointLayerStyle",
688
+ "type": "GeoJSONLayerStyle",
689
+ "fillColor": "#00CED1",
690
+ "strokeColor": "#008B8B",
691
+ "fillOpacity": "0.9",
692
+ "strokeOpacity": "1.0"
693
+ },
694
+ {
695
+ "name": "beachLayerStyle",
696
+ "type": "GeoJSONLayerStyle",
697
+ "fillColor": "#F0E68C",
698
+ "strokeColor": "#DAA520",
699
+ "fillOpacity": "0.6",
700
+ "strokeOpacity": "0.8"
701
+ }
702
+ ]
703
+ }
704
+ }