@opengis/gis 0.2.176 → 0.2.177

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 (160) hide show
  1. package/README.md +181 -181
  2. package/dist/{CardIcon-c1Q2M3wQ.js → CardIcon-CMRD1LLh.js} +1 -1
  3. package/dist/{EntityTablePage-B5gpkH4S.js → EntityTablePage-XNNCltAN.js} +2 -2
  4. package/dist/{ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-DnGSvmMU.js → ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-BqUjKTDY.js} +1 -1
  5. package/dist/{HeaderActions.vue_vue_type_script_setup_true_lang-C2B61JP6.js → HeaderActions.vue_vue_type_script_setup_true_lang-BXQ3hKwa.js} +1 -1
  6. package/dist/{MapSettings-6-Xru5Q8.js → MapSettings-P3h-vHn3.js} +2 -2
  7. package/dist/{RastersTablePage-CXNOcTy-.js → RastersTablePage-DnhGZLiH.js} +2 -2
  8. package/dist/{cartocss-BFVqWvfP.js → cartocss-BkrOeQg4.js} +6 -6
  9. package/dist/{import-utils-uxk4LdUJ.js → import-utils-BCATsbB5.js} +1 -1
  10. package/dist/{index-CahlV-Xs.js → index-cUagVqgA.js} +39 -39
  11. package/dist/index.css +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/index.umd.cjs +5 -5
  14. package/dist/{raster-CEi56f0P.js → raster-CP0tUp3j.js} +3 -3
  15. package/dist/{register-NFAGBNa3.js → register-Cr-uQcby.js} +3 -3
  16. package/dist/{service-BYspag8U.js → service-DwJaKrOd.js} +6 -6
  17. package/dist/{vs-datatable-CHcBr6zy.js → vs-datatable-B9WoVk-b.js} +2 -2
  18. package/module/gis/cls/service_type.json +42 -42
  19. package/module/gis/form/gis.registers.form.json +127 -127
  20. package/module/test/map/addr.json +302 -302
  21. package/module/test/map/addr1.yml +23 -23
  22. package/module/test/select/address.str_id.sql +3 -3
  23. package/package.json +77 -77
  24. package/plugin.js +64 -64
  25. package/server/migrations/array_intersect.sql +13 -13
  26. package/server/migrations/cartocss.sql +27 -27
  27. package/server/migrations/group_list.sql +74 -74
  28. package/server/migrations/maps.sql +30 -30
  29. package/server/migrations/metadata.sql +415 -415
  30. package/server/migrations/ogc.sql +106 -106
  31. package/server/migrations/rasters.sql +265 -265
  32. package/server/migrations/services.sql +247 -247
  33. package/server/migrations/services_users_rel.sql +22 -22
  34. package/server/migrations/widgets.sql +20 -20
  35. package/server/plugins/crons.js +21 -21
  36. package/server/plugins/mapnik/funcs/checkRasterFile.js +107 -107
  37. package/server/plugins/mapnik/funcs/mapnik.js +151 -151
  38. package/server/plugins/mapnik/funcs/rootFolder.mjs +8 -8
  39. package/server/plugins/mapnik/map.proto +437 -437
  40. package/server/plugins/vite.js +74 -74
  41. package/server/routes/cartocss/cartocss.route.js +31 -31
  42. package/server/routes/cartocss/cartocss.route.test.js +78 -78
  43. package/server/routes/cartocss/cartocss.schema.js +73 -73
  44. package/server/routes/cartocss/functions/add.cartocss.js +39 -39
  45. package/server/routes/cartocss/functions/get.cartocss.js +57 -57
  46. package/server/routes/gis/functions/checkXML.js +107 -107
  47. package/server/routes/gis/functions/dashboard.js +24 -24
  48. package/server/routes/gis/gis.route.js +26 -26
  49. package/server/routes/gis/gis.route.test.js +33 -33
  50. package/server/routes/map/functions/clearTiles.js +35 -35
  51. package/server/routes/map/functions/geojson.js +187 -187
  52. package/server/routes/map/functions/gis.convert.js +65 -65
  53. package/server/routes/map/functions/gis.icon.js +220 -220
  54. package/server/routes/map/functions/jsonData.js +206 -206
  55. package/server/routes/map/functions/layerList.js +102 -102
  56. package/server/routes/map/functions/map.js +122 -122
  57. package/server/routes/map/functions/mapCatalog.js +72 -72
  58. package/server/routes/map/functions/mapCatalogAttribute.js +53 -53
  59. package/server/routes/map/functions/mapFeatures.js +133 -133
  60. package/server/routes/map/functions/mapFormat.js +232 -232
  61. package/server/routes/map/functions/mapTiles.js +162 -162
  62. package/server/routes/map/functions/maps.js +15 -15
  63. package/server/routes/map/functions/marker_icon.js +43 -43
  64. package/server/routes/map/functions/parseGeoFile.js +85 -85
  65. package/server/routes/map/functions/pointHeight.js +51 -51
  66. package/server/routes/map/functions/vtile.js +174 -174
  67. package/server/routes/map/functions/vtile1.js +185 -185
  68. package/server/routes/map/map.route.js +280 -280
  69. package/server/routes/map/map.route.test.js +503 -503
  70. package/server/routes/map/map.schema.js +356 -356
  71. package/server/routes/map/pin/circle1.svg +76 -76
  72. package/server/routes/map/pin/circle2.svg +18 -18
  73. package/server/routes/map/pin/none.svg +12 -12
  74. package/server/routes/map/pin/pin.svg +14 -14
  75. package/server/routes/map/pin/pin1.svg +16 -16
  76. package/server/routes/map/pin/pin2.svg +7 -7
  77. package/server/routes/map/pin/pin3.svg +34 -34
  78. package/server/routes/map/pin/pin4.svg +14 -14
  79. package/server/routes/map/pin/pin5.svg +7 -7
  80. package/server/routes/map/pin/pin6.svg +12 -12
  81. package/server/routes/map/pin/pin7.svg +12 -12
  82. package/server/routes/mapnik/functions/cartoBounds.js +32 -32
  83. package/server/routes/mapnik/functions/clearTiles.js +103 -103
  84. package/server/routes/mapnik/functions/convertBoundToTile.js +27 -27
  85. package/server/routes/mapnik/functions/createXml.js +76 -76
  86. package/server/routes/mapnik/functions/createXmlMulti.js +72 -72
  87. package/server/routes/mapnik/functions/fileSearch.js +35 -35
  88. package/server/routes/mapnik/functions/fileStat.js +28 -28
  89. package/server/routes/mapnik/functions/pretile.js +138 -138
  90. package/server/routes/mapnik/functions/rasterInfo.js +66 -66
  91. package/server/routes/mapnik/functions/readDir.js +22 -22
  92. package/server/routes/mapnik/functions/rtile.js +164 -164
  93. package/server/routes/mapnik/functions/uploadRaster.js +152 -152
  94. package/server/routes/mapnik/functions/uploadXML.js +140 -140
  95. package/server/routes/mapnik/mapnik.route.js +102 -102
  96. package/server/routes/mapnik/mapnik.route.test.js +370 -370
  97. package/server/routes/mapnik/mapnik.schema.mjs +195 -195
  98. package/server/routes/mapnik.prefixless/functions/mapnikLogger.js +31 -31
  99. package/server/routes/mapnik.prefixless/functions/mapnikStat.js +21 -21
  100. package/server/routes/mapnik.prefixless/mapnik.prefixless.route.js +20 -20
  101. package/server/routes/mapnik.prefixless/mapnik.prefixless.route.test.js +91 -91
  102. package/server/routes/mapnik.prefixless/mapnik.prefixless.schema.mjs +27 -27
  103. package/server/routes/maps/functions/add.map.js +42 -42
  104. package/server/routes/maps/functions/del.map.js +17 -17
  105. package/server/routes/maps/functions/get.map.js +119 -119
  106. package/server/routes/maps/maps.route.js +58 -58
  107. package/server/routes/maps/maps.route.test.js +231 -231
  108. package/server/routes/maps/maps.schema.js +9 -9
  109. package/server/routes/metadata/functions/editMetadata.js +35 -35
  110. package/server/routes/metadata/functions/metadataXML.js +19 -19
  111. package/server/routes/metadata/metadata.route.js +26 -26
  112. package/server/routes/metadata/metadata.route.test.js +46 -46
  113. package/server/routes/metadata/metadata.schema.js +53 -53
  114. package/server/routes/ogc/functions/map.info.point.js +117 -117
  115. package/server/routes/ogc/ogc.route.js +21 -21
  116. package/server/routes/ogc/ogc.route.test.js +53 -53
  117. package/server/routes/ogc/ogc.schema.js +16 -16
  118. package/server/routes/permissions/functions/catalog.permissions.edit.js +20 -20
  119. package/server/routes/permissions/functions/catalog.permissions.js +12 -12
  120. package/server/routes/permissions/functions/get.permissions.js +59 -59
  121. package/server/routes/permissions/functions/gis.catalog.js +80 -80
  122. package/server/routes/permissions/permissions.route.js +35 -35
  123. package/server/routes/permissions/permissions.route.test.js +35 -35
  124. package/server/routes/permissions/permissions.schema.js +43 -43
  125. package/server/routes/registers/functions/add.registry.js +37 -37
  126. package/server/routes/registers/functions/classifiers.js +100 -100
  127. package/server/routes/registers/functions/columns.js +3 -3
  128. package/server/routes/registers/functions/content.type.js +9 -9
  129. package/server/routes/registers/functions/del.registry.js +14 -14
  130. package/server/routes/registers/functions/get.info.js +93 -93
  131. package/server/routes/registers/functions/getTableColumnMeta.js +131 -0
  132. package/server/routes/registers/functions/gis.export.js +159 -159
  133. package/server/routes/registers/functions/gis.registry.js +71 -71
  134. package/server/routes/registers/functions/gis.registry.list.js +61 -61
  135. package/server/routes/registers/functions/gis.suggest.js +284 -0
  136. package/server/routes/registers/functions/handleRegistryRequest.js +167 -147
  137. package/server/routes/registers/functions/map.registry.js +87 -87
  138. package/server/routes/registers/registers.route.js +91 -80
  139. package/server/routes/registers/registers.route.test.js +144 -144
  140. package/server/routes/registers/registers.schema.js +270 -246
  141. package/server/routes/root.mjs +3 -3
  142. package/server/routes/services/functions/add.service.js +62 -62
  143. package/server/routes/services/functions/create.route.js +93 -93
  144. package/server/routes/services/functions/del.service.js +12 -12
  145. package/server/routes/services/functions/get.layer.geom.js +27 -27
  146. package/server/routes/services/functions/get.service.users.js +76 -76
  147. package/server/routes/services/functions/get.services.col.js +34 -34
  148. package/server/routes/services/functions/get.services.js +89 -89
  149. package/server/routes/services/functions/legend.auto.js +77 -77
  150. package/server/routes/services/services.route.js +76 -76
  151. package/server/routes/services/services.route.test.js +167 -167
  152. package/server/routes/services/services.schema.js +285 -278
  153. package/server/routes/widgets/functions/add.widget.js +38 -38
  154. package/server/routes/widgets/functions/del.widget.js +17 -17
  155. package/server/routes/widgets/functions/get.widget.js +41 -41
  156. package/server/routes/widgets/widgets.route.js +61 -61
  157. package/server/routes/widgets/widgets.route.test.js +144 -144
  158. package/server/routes/widgets/widgets.schema.js +24 -24
  159. package/server/shared/listFiles.js +14 -14
  160. package/utils.js +13 -13
package/README.md CHANGED
@@ -1,181 +1,181 @@
1
- <!-- ![alt text](https://cdn.softpro.ua/data/npm/admin/opengis-admin.png) -->
2
-
3
- # @opengis/gis
4
-
5
- [![NPM version](https://img.shields.io/npm/v/@opengis/gis?style=plain)](https://www.npmjs.com/package/@opengis/gis)
6
- [![NPM last update](https://img.shields.io/npm/last-update/@opengis/gis?style=plain)]()
7
- [![NPM downloads](https://img.shields.io/npm/dw/@opengis/gis?style=plain)]()
8
- [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=plain)](http://standardjs.com/)
9
-
10
- Tools for mapping, geodata management, and integration into modern web services.
11
-
12
- ## Features
13
-
14
- **Core Platform Capabilities:**
15
-
16
- - **Web-based GIS Platform** – Access and manage geospatial data through a cloud-based environment.
17
- - **User & Admin Management** – Control access and permissions.
18
- - **No-Code Map Builder** – Create and configure web maps without programming skills.
19
- - **Configurable User Interface** – Customize map layout and widgets based on user needs.
20
- - **Admin Panel** – Centrally manage system settings, users, and datasets.
21
-
22
- **Visualization & Mapping:**
23
-
24
- - **Interactive Web Maps** – View and explore geographic data online.
25
- - **Map Catalog** – Access and manage a collection of thematic maps.
26
- - **Layer Management** – Control visibility and organization of map layers.
27
- - **Advanced Filtering** – Query and filter data based on attributes.
28
- - **Search Functionality** – Find objects by address, ID, or attributes.
29
- - **CartoCSS Styling** – Customize map appearance with flexible styling rules.
30
-
31
- **Raster Management:**
32
-
33
- - **Single Raster Support** – Upload, store, and visualize individual raster datasets.
34
- - **Multi-Raster VRT Builder** – Combine multiple raster files into a single virtual raster (VRT).
35
- - **Recursive Raster Processing** – Automatically build VRTs from nested folder structures.
36
- - **Raster Data Visualization** – Display raster layers alongside vector data on maps.
37
- - **Raster Layer Management** – Control visibility and ordering of raster datasets.
38
- - **Scalable Raster Handling** – Efficient processing of large raster collections.
39
-
40
- **Data Management:**
41
-
42
- - **Dataset View** – Explore spatial data in a synchronized tabular format.
43
- - **Data Import & Storage** – Upload and store spatial and tabular data.
44
- - **Large Dataset Support** – Efficiently handle datasets with 100,000+ features.
45
- - **Dataset Management** – Upload and manage spatial data (Shapefile, GeoJSON, CSV, etc.).
46
- - **Registers Management** – Create and maintain structured geospatial datasets.
47
-
48
- **Integration & Distribution:**
49
-
50
- - **API & OGC Standards Support** – Supports WMS, WFS, WMTS services.
51
- - **API Integration** – Connect with external systems and services.
52
- - **Geoportal Access** – Centralized platform for all maps and datasets.
53
- - **Data Export** – Export geospatial data in standard formats.
54
- - **Map Publishing** – Publish and share maps quickly online.
55
-
56
- ## Install
57
-
58
- ```bash
59
- npm i @opengis/gis
60
- ```
61
-
62
- ## Usage Portal
63
-
64
- ```vue
65
- <template>
66
- <!--$route.params.id-->
67
- <MapWidget :id="'home'" />
68
- </template>
69
-
70
- <script setup lang="ts">
71
- const MapWidget = defineAsyncComponent(() =>
72
- import("@opengis/gis").then((m) => m.MapWidget),
73
- );
74
- </script>
75
- ```
76
-
77
- ## Usage Admin
78
-
79
- ```js
80
- // router.config
81
- export default [
82
- {
83
- path: "/gis.registers/:id?",
84
- component: () => import("@opengis/gis").then((m) => m.Register),
85
- },
86
- {
87
- path: "/gis.services/:id?",
88
- component: () => import("@opengis/gis").then((m) => m.Service),
89
- },
90
- {
91
- path: "/gis.rasters/:id?",
92
- component: () => import("@opengis/gis").then((m) => m.Raster),
93
- },
94
- {
95
- path: "/gis.cartocss/:id?",
96
- component: () => import("@opengis/gis").then((m) => m.CartoCSS),
97
- },
98
- {
99
- path: "/gis.maps/:id?",
100
- component: () => import("@opengis/gis").then((m) => m.MapSettings),
101
- },
102
- ];
103
- ```
104
-
105
- ## Config
106
-
107
- ```js
108
- // main.ts
109
- app.config.globalProperties.$settings = {
110
- map: {
111
- center: [34.71, 48.51],
112
- zoom: 14,
113
- basemaps: [
114
- {
115
- name: "Оглядова карта",
116
- url: "https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",
117
- },
118
- {
119
- name: "Ортофото 1:10K",
120
- url: "https://data.gki.com.ua/api-user/rtile/orto10/ua/{z}/{x}/{y}.png",
121
- },
122
- {
123
- name: "Open Street Maps",
124
- url: "https://tile.openstreetmap.org.ua/styles/osm-bright/{z}/{x}/{y}.png",
125
- },
126
- {
127
- name: "Топографічна карта 1:2000",
128
- url: "/api/gis-rtile/3830082297432900636/{z}/{x}/{y}.png",
129
- preview: "/api/gis-rtile/3830082297432900636/17/78138/45286.png",
130
- },
131
- ],
132
- },
133
- };
134
- ```
135
-
136
- ## Documentation
137
-
138
- For a detailed understanding of `cms`, its features, and how to use them, refer to our [Documentation](https://gis.opengis.info/).
139
-
140
- ## Technology stack
141
-
142
- <a href="https://fastify.dev/" target="_blank">
143
- <img src="https://img.shields.io/badge/Fastify-323330?style=for-the-badge&logo=fastify" /></a>
144
-
145
- <a href="https://vuejs.org/" target="_blank">
146
- <img src="https://img.shields.io/badge/Vue%20js-323330?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D" /></a>
147
-
148
- <a href="https://vite.dev/" target="_blank">
149
- <img src="https://img.shields.io/badge/Vite-323330?style=for-the-badge&logo=vite" /></a>
150
-
151
- <a href="https://www.postgresql.org/" target="_blank">
152
- <img src="https://img.shields.io/badge/PostgreSQL-323330?style=for-the-badge&logo=postgresql&logoColor=white" /></a>
153
-
154
- <a href="https://redis.io/" target="_blank">
155
- <img src="https://img.shields.io/badge/redis-323330.svg?&style=for-the-badge&logo=redis&logoColor=%23DD0031" /></a>
156
-
157
- <a href="https://nodejs.org/" target="_blank">
158
- <img src="https://img.shields.io/badge/Node.js-323330?style=for-the-badge&logo=node.js&logoColor=white" /></a>
159
-
160
- ## Contribute
161
-
162
- Feel free to contact us through our website [SOFTPRO.UA](https://softpro.ua) or email <info@softpro.ua>
163
-
164
- - Report bugs
165
- - Share your ideas
166
- - Ask questions
167
-
168
- ## Follow Us
169
-
170
- [Official site](https://softpro.ua)
171
-
172
- <p>
173
- <a href="https://www.instagram.com/gissoftpro/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/instagram.png" alt="Softpro Instagram" title="oftpro Instagram"></a>&nbsp;&nbsp;
174
- <a href="https://www.facebook.com/gissoftpro" target="_blank"><img src="https://cdn.softpro.ua/data/npm/facebook.png" alt="Softpro Facebook" title="Softpro Facebook"></a>&nbsp;&nbsp;
175
- <a href="https://t.me/softprogis" target="_blank"><img src="https://cdn.softpro.ua/data/npm/telegram.png" alt="Softpro Telegram" title="Softpro Telegram"></a>&nbsp;&nbsp;
176
- <a href="https://www.linkedin.com/in/softpro-ukraine-a8876b282/recent-activity/all/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/social/linkedin.png" alt="Softpro Linkedin" title="Softpro LinkedIn"></a>&nbsp;&nbsp;
177
- </p>
178
-
179
- ## License
180
-
181
- Copyright © SOFTPRO. All rights reserved.
1
+ <!-- ![alt text](https://cdn.softpro.ua/data/npm/admin/opengis-admin.png) -->
2
+
3
+ # @opengis/gis
4
+
5
+ [![NPM version](https://img.shields.io/npm/v/@opengis/gis?style=plain)](https://www.npmjs.com/package/@opengis/gis)
6
+ [![NPM last update](https://img.shields.io/npm/last-update/@opengis/gis?style=plain)]()
7
+ [![NPM downloads](https://img.shields.io/npm/dw/@opengis/gis?style=plain)]()
8
+ [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=plain)](http://standardjs.com/)
9
+
10
+ Tools for mapping, geodata management, and integration into modern web services.
11
+
12
+ ## Features
13
+
14
+ **Core Platform Capabilities:**
15
+
16
+ - **Web-based GIS Platform** – Access and manage geospatial data through a cloud-based environment.
17
+ - **User & Admin Management** – Control access and permissions.
18
+ - **No-Code Map Builder** – Create and configure web maps without programming skills.
19
+ - **Configurable User Interface** – Customize map layout and widgets based on user needs.
20
+ - **Admin Panel** – Centrally manage system settings, users, and datasets.
21
+
22
+ **Visualization & Mapping:**
23
+
24
+ - **Interactive Web Maps** – View and explore geographic data online.
25
+ - **Map Catalog** – Access and manage a collection of thematic maps.
26
+ - **Layer Management** – Control visibility and organization of map layers.
27
+ - **Advanced Filtering** – Query and filter data based on attributes.
28
+ - **Search Functionality** – Find objects by address, ID, or attributes.
29
+ - **CartoCSS Styling** – Customize map appearance with flexible styling rules.
30
+
31
+ **Raster Management:**
32
+
33
+ - **Single Raster Support** – Upload, store, and visualize individual raster datasets.
34
+ - **Multi-Raster VRT Builder** – Combine multiple raster files into a single virtual raster (VRT).
35
+ - **Recursive Raster Processing** – Automatically build VRTs from nested folder structures.
36
+ - **Raster Data Visualization** – Display raster layers alongside vector data on maps.
37
+ - **Raster Layer Management** – Control visibility and ordering of raster datasets.
38
+ - **Scalable Raster Handling** – Efficient processing of large raster collections.
39
+
40
+ **Data Management:**
41
+
42
+ - **Dataset View** – Explore spatial data in a synchronized tabular format.
43
+ - **Data Import & Storage** – Upload and store spatial and tabular data.
44
+ - **Large Dataset Support** – Efficiently handle datasets with 100,000+ features.
45
+ - **Dataset Management** – Upload and manage spatial data (Shapefile, GeoJSON, CSV, etc.).
46
+ - **Registers Management** – Create and maintain structured geospatial datasets.
47
+
48
+ **Integration & Distribution:**
49
+
50
+ - **API & OGC Standards Support** – Supports WMS, WFS, WMTS services.
51
+ - **API Integration** – Connect with external systems and services.
52
+ - **Geoportal Access** – Centralized platform for all maps and datasets.
53
+ - **Data Export** – Export geospatial data in standard formats.
54
+ - **Map Publishing** – Publish and share maps quickly online.
55
+
56
+ ## Install
57
+
58
+ ```bash
59
+ npm i @opengis/gis
60
+ ```
61
+
62
+ ## Usage Portal
63
+
64
+ ```vue
65
+ <template>
66
+ <!--$route.params.id-->
67
+ <MapWidget :id="'home'" />
68
+ </template>
69
+
70
+ <script setup lang="ts">
71
+ const MapWidget = defineAsyncComponent(() =>
72
+ import("@opengis/gis").then((m) => m.MapWidget),
73
+ );
74
+ </script>
75
+ ```
76
+
77
+ ## Usage Admin
78
+
79
+ ```js
80
+ // router.config
81
+ export default [
82
+ {
83
+ path: "/gis.registers/:id?",
84
+ component: () => import("@opengis/gis").then((m) => m.Register),
85
+ },
86
+ {
87
+ path: "/gis.services/:id?",
88
+ component: () => import("@opengis/gis").then((m) => m.Service),
89
+ },
90
+ {
91
+ path: "/gis.rasters/:id?",
92
+ component: () => import("@opengis/gis").then((m) => m.Raster),
93
+ },
94
+ {
95
+ path: "/gis.cartocss/:id?",
96
+ component: () => import("@opengis/gis").then((m) => m.CartoCSS),
97
+ },
98
+ {
99
+ path: "/gis.maps/:id?",
100
+ component: () => import("@opengis/gis").then((m) => m.MapSettings),
101
+ },
102
+ ];
103
+ ```
104
+
105
+ ## Config
106
+
107
+ ```js
108
+ // main.ts
109
+ app.config.globalProperties.$settings = {
110
+ map: {
111
+ center: [34.71, 48.51],
112
+ zoom: 14,
113
+ basemaps: [
114
+ {
115
+ name: "Оглядова карта",
116
+ url: "https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",
117
+ },
118
+ {
119
+ name: "Ортофото 1:10K",
120
+ url: "https://data.gki.com.ua/api-user/rtile/orto10/ua/{z}/{x}/{y}.png",
121
+ },
122
+ {
123
+ name: "Open Street Maps",
124
+ url: "https://tile.openstreetmap.org.ua/styles/osm-bright/{z}/{x}/{y}.png",
125
+ },
126
+ {
127
+ name: "Топографічна карта 1:2000",
128
+ url: "/api/gis-rtile/3830082297432900636/{z}/{x}/{y}.png",
129
+ preview: "/api/gis-rtile/3830082297432900636/17/78138/45286.png",
130
+ },
131
+ ],
132
+ },
133
+ };
134
+ ```
135
+
136
+ ## Documentation
137
+
138
+ For a detailed understanding of `cms`, its features, and how to use them, refer to our [Documentation](https://gis.opengis.info/).
139
+
140
+ ## Technology stack
141
+
142
+ <a href="https://fastify.dev/" target="_blank">
143
+ <img src="https://img.shields.io/badge/Fastify-323330?style=for-the-badge&logo=fastify" /></a>
144
+
145
+ <a href="https://vuejs.org/" target="_blank">
146
+ <img src="https://img.shields.io/badge/Vue%20js-323330?style=for-the-badge&logo=vuedotjs&logoColor=4FC08D" /></a>
147
+
148
+ <a href="https://vite.dev/" target="_blank">
149
+ <img src="https://img.shields.io/badge/Vite-323330?style=for-the-badge&logo=vite" /></a>
150
+
151
+ <a href="https://www.postgresql.org/" target="_blank">
152
+ <img src="https://img.shields.io/badge/PostgreSQL-323330?style=for-the-badge&logo=postgresql&logoColor=white" /></a>
153
+
154
+ <a href="https://redis.io/" target="_blank">
155
+ <img src="https://img.shields.io/badge/redis-323330.svg?&style=for-the-badge&logo=redis&logoColor=%23DD0031" /></a>
156
+
157
+ <a href="https://nodejs.org/" target="_blank">
158
+ <img src="https://img.shields.io/badge/Node.js-323330?style=for-the-badge&logo=node.js&logoColor=white" /></a>
159
+
160
+ ## Contribute
161
+
162
+ Feel free to contact us through our website [SOFTPRO.UA](https://softpro.ua) or email <info@softpro.ua>
163
+
164
+ - Report bugs
165
+ - Share your ideas
166
+ - Ask questions
167
+
168
+ ## Follow Us
169
+
170
+ [Official site](https://softpro.ua)
171
+
172
+ <p>
173
+ <a href="https://www.instagram.com/gissoftpro/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/instagram.png" alt="Softpro Instagram" title="oftpro Instagram"></a>&nbsp;&nbsp;
174
+ <a href="https://www.facebook.com/gissoftpro" target="_blank"><img src="https://cdn.softpro.ua/data/npm/facebook.png" alt="Softpro Facebook" title="Softpro Facebook"></a>&nbsp;&nbsp;
175
+ <a href="https://t.me/softprogis" target="_blank"><img src="https://cdn.softpro.ua/data/npm/telegram.png" alt="Softpro Telegram" title="Softpro Telegram"></a>&nbsp;&nbsp;
176
+ <a href="https://www.linkedin.com/in/softpro-ukraine-a8876b282/recent-activity/all/" target="_blank"><img src="https://cdn.softpro.ua/data/npm/social/linkedin.png" alt="Softpro Linkedin" title="Softpro LinkedIn"></a>&nbsp;&nbsp;
177
+ </p>
178
+
179
+ ## License
180
+
181
+ Copyright © SOFTPRO. All rights reserved.
@@ -1,5 +1,5 @@
1
1
  import { openBlock as t, createElementBlock as n, createElementVNode as l } from "vue";
2
- import { _ as o } from "./index-CahlV-Xs.js";
2
+ import { _ as o } from "./index-cUagVqgA.js";
3
3
  const s = {}, a = {
4
4
  xmlns: "http://www.w3.org/2000/svg",
5
5
  width: "24",
@@ -3,7 +3,7 @@ import { RefreshCw as ie, Plus as ue } from "lucide-vue-next";
3
3
  import { useRoute as ce, useRouter as de } from "vue-router";
4
4
  import { VsPagination as fe, notify as Q } from "@opengis/core";
5
5
  import { FilterField as me, Filter as he } from "@opengis/filter";
6
- import { F as ge, _ as ve } from "./index-CahlV-Xs.js";
6
+ import { F as ge, _ as ve } from "./index-cUagVqgA.js";
7
7
  import { _ as pe } from "./TableFormHeader.vue_vue_type_script_setup_true_lang-Mci_tseM.js";
8
8
  const xe = { class: "flex-1 flex flex-col bg-gray-50 h-screen overflow-hidden p-0 m-0" }, be = {
9
9
  key: 0,
@@ -276,7 +276,7 @@ const xe = { class: "flex-1 flex flex-col bg-gray-50 h-screen overflow-hidden p-
276
276
  ])
277
277
  ]));
278
278
  }
279
- }), De = /* @__PURE__ */ ve(je, [["__scopeId", "data-v-469c2953"]]);
279
+ }), De = /* @__PURE__ */ ve(je, [["__scopeId", "data-v-821aeb35"]]);
280
280
  export {
281
281
  De as default
282
282
  };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as y, computed as f, watch as d, createCommentVNode as x } from "vue";
2
- import { f as C, u as b } from "./index-CahlV-Xs.js";
2
+ import { f as C, u as b } from "./index-cUagVqgA.js";
3
3
  const h = /* @__PURE__ */ y({
4
4
  __name: "ExtentOutlineLayer",
5
5
  props: {
@@ -1,5 +1,5 @@
1
1
  import { openBlock as c, createElementBlock as v, createElementVNode as l, defineComponent as Y, normalizeClass as le, createVNode as F, createBlock as ie, unref as R, ref as y, computed as g, watch as ue, withDirectives as ke, vModelText as Ce, createCommentVNode as H, Fragment as q, renderList as J, createStaticVNode as ze, toDisplayString as x, defineAsyncComponent as ae, createTextVNode as be, withCtx as re, nextTick as Ve, onMounted as Se, onUnmounted as $e, withModifiers as Ee, Teleport as Me, normalizeStyle as Le } from "vue";
2
- import { _ as Te } from "./index-CahlV-Xs.js";
2
+ import { _ as Te } from "./index-cUagVqgA.js";
3
3
  import { Settings as Ie, BrushCleaning as fe, SquareCode as ye, Pencil as Be } from "lucide-vue-next";
4
4
  import { notify as X } from "@opengis/core";
5
5
  const Ue = {}, je = {
@@ -5,7 +5,7 @@ import { confirm as H, notify as F } from "@opengis/core";
5
5
  import { _ as de } from "./TableFormHeader.vue_vue_type_script_setup_true_lang-Mci_tseM.js";
6
6
  import { _ as ue } from "./MapSettingsTabs.vue_vue_type_script_setup_true_lang-CKCK3NqY.js";
7
7
  import { VsInputArraySelect as ce } from "@opengis/form";
8
- import { v as me, _ as pe } from "./index-CahlV-Xs.js";
8
+ import { v as me, _ as pe } from "./index-cUagVqgA.js";
9
9
  import { _ as ye } from "./MonacoEditor.vue_vue_type_script_setup_true_lang-D3ZPeXMw.js";
10
10
  const fe = { class: "rounded-lg border border-gray-200 bg-[rgba(252,252,252,0.8)] p-6" }, ge = /* @__PURE__ */ I({
11
11
  __name: "GeneralSettings",
@@ -666,7 +666,7 @@ const fe = { class: "rounded-lg border border-gray-200 bg-[rgba(252,252,252,0.8)
666
666
  ]);
667
667
  };
668
668
  }
669
- }), yt = /* @__PURE__ */ pe(st, [["__scopeId", "data-v-49efd239"]]);
669
+ }), yt = /* @__PURE__ */ pe(st, [["__scopeId", "data-v-df90fbac"]]);
670
670
  export {
671
671
  yt as default
672
672
  };
@@ -3,7 +3,7 @@ import { useRoute as ne, useRouter as oe } from "vue-router";
3
3
  import { VsPagination as le, notify as B } from "@opengis/core";
4
4
  import { FilterField as re, Filter as ie } from "@opengis/filter";
5
5
  import { RefreshCw as ue, Plus as ce } from "lucide-vue-next";
6
- import { F as de, _ as ve } from "./index-CahlV-Xs.js";
6
+ import { F as de, _ as ve } from "./index-cUagVqgA.js";
7
7
  import { _ as fe } from "./TableFormHeader.vue_vue_type_script_setup_true_lang-Mci_tseM.js";
8
8
  const ge = { class: "flex-1 flex flex-col bg-gray-50 h-screen overflow-hidden p-0 m-0" }, me = {
9
9
  href: "/api/gis-create-xml",
@@ -241,7 +241,7 @@ const ge = { class: "flex-1 flex flex-col bg-gray-50 h-screen overflow-hidden p-
241
241
  ])
242
242
  ]));
243
243
  }
244
- }), Be = /* @__PURE__ */ ve(Re, [["__scopeId", "data-v-827c1663"]]);
244
+ }), Be = /* @__PURE__ */ ve(Re, [["__scopeId", "data-v-63309b89"]]);
245
245
  export {
246
246
  Be as default
247
247
  };
@@ -2,12 +2,12 @@ import { openBlock as x, createElementBlock as R, createElementVNode as u, defin
2
2
  import { useRouter as wt, useRoute as kt } from "vue-router";
3
3
  import { notify as D } from "@opengis/core";
4
4
  import { ZoomIn as Ct, ZoomOut as $t, Compass as Mt, Minimize2 as St, Maximize2 as Lt, Link2 as Et, Ruler as Vt, Eye as zt, EyeOff as Bt } from "lucide-vue-next";
5
- import { _ as He, f as K, o as Rt, p as Pt, q as Tt, M as Nt, i as Ot, j as Ue, r as jt, t as Ft, m as At } from "./index-CahlV-Xs.js";
6
- import { S as Zt, C as Dt } from "./CardIcon-c1Q2M3wQ.js";
7
- import { _ as Ut, a as qt, b as Qt, c as Yt } from "./HeaderActions.vue_vue_type_script_setup_true_lang-C2B61JP6.js";
5
+ import { _ as He, f as K, o as Rt, p as Pt, q as Tt, M as Nt, i as Ot, j as Ue, r as jt, t as Ft, m as At } from "./index-cUagVqgA.js";
6
+ import { S as Zt, C as Dt } from "./CardIcon-CMRD1LLh.js";
7
+ import { _ as Ut, a as qt, b as Qt, c as Yt } from "./HeaderActions.vue_vue_type_script_setup_true_lang-BXQ3hKwa.js";
8
8
  import { _ as Je } from "./MonacoEditor.vue_vue_type_script_setup_true_lang-D3ZPeXMw.js";
9
- import { V as Xt } from "./vs-datatable-CHcBr6zy.js";
10
- import { _ as qe } from "./ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-DnGSvmMU.js";
9
+ import { V as Xt } from "./vs-datatable-B9WoVk-b.js";
10
+ import { _ as qe } from "./ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-BqUjKTDY.js";
11
11
  const Ht = {}, Jt = {
12
12
  xmlns: "http://www.w3.org/2000/svg",
13
13
  width: "24",
@@ -746,7 +746,7 @@ const Gt = /* @__PURE__ */ He(Ht, [["render", Kt]]), Wt = { class: "flex flex-co
746
746
  _: 1
747
747
  }));
748
748
  }
749
- }), Eo = /* @__PURE__ */ He(Lo, [["__scopeId", "data-v-1f992329"]]), Vo = { class: "text-[0.7rem] font-bold tabular-nums leading-none text-gray-600" }, Me = 5, Se = 20, zo = 13, Bo = 0.01, Ro = 200, Po = /* @__PURE__ */ O({
749
+ }), Eo = /* @__PURE__ */ He(Lo, [["__scopeId", "data-v-ca77aba8"]]), Vo = { class: "text-[0.7rem] font-bold tabular-nums leading-none text-gray-600" }, Me = 5, Se = 20, zo = 13, Bo = 0.01, Ro = 200, Po = /* @__PURE__ */ O({
750
750
  __name: "MapZoomLevelButton",
751
751
  setup(k) {
752
752
  const { map: r, ready: l } = K(), _ = b(!1), h = b(!1), i = b(zo), g = b(!1), d = b(Me), w = b(Se), a = B(() => String(i.value));
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as V, mergeModels as S, useModel as w, defineAsyncComponent as $, computed as h, openBlock as p, createBlock as A, unref as C, withCtx as T, createElementVNode as r, toDisplayString as y, createElementBlock as b, Fragment as D, renderList as E, normalizeClass as L, resolveDynamicComponent as N, createCommentVNode as f } from "vue";
2
- import { i as P, g as j } from "./vs-datatable-CHcBr6zy.js";
2
+ import { i as P, g as j } from "./vs-datatable-B9WoVk-b.js";
3
3
  const R = { class: "p-4 text-[13px]" }, U = { class: "grid grid-cols-2 gap-x-6 gap-y-2" }, q = ["id", "checked", "onChange"], G = { class: "ml-2 flex-1 min-w-0 flex items-center gap-2" }, H = { class: "font-medium text-gray-900 truncate" }, J = { class: "text-xs text-gray-500" }, O = {
4
4
  key: 0,
5
5
  class: "text-xs text-[#B2C9D6]"