@opengis/gis 0.2.161 → 0.2.162

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 (203) hide show
  1. package/README.md +181 -181
  2. package/dist/{CardIcon-CJb7yqV7.js → CardIcon-DcriKHRQ.js} +1 -1
  3. package/dist/{EntityTablePage-BDWJBRsX.js → EntityTablePage-44UmAQh0.js} +2 -2
  4. package/dist/{ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-BSfb8eHZ.js → ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-BAaobvwj.js} +1 -1
  5. package/dist/{HeaderActions.vue_vue_type_script_setup_true_lang-WHe_VrVa.js → HeaderActions.vue_vue_type_script_setup_true_lang-CLEpHbVL.js} +1 -1
  6. package/dist/{MapSettings-CfY1C4pP.js → MapSettings-C7qDO9gp.js} +2 -2
  7. package/dist/{RastersTablePage-DqNAAgwQ.js → RastersTablePage-DmOpbseA.js} +2 -2
  8. package/dist/{cartocss-BtW3JOe4.js → cartocss-DGvNrARb.js} +5 -5
  9. package/dist/{import-utils-omyzQAkY.js → import-utils-DYDa34GH.js} +1 -1
  10. package/dist/{index-C8Wi_h72.js → index-DCKH-TcG.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-C18YvUia.js → raster-CAi6K97q.js} +3 -3
  15. package/dist/{register-YfpjSpQO.js → register-C6IbQrEK.js} +3 -3
  16. package/dist/{service-CoVcnlm3.js → service-B_C_D5nN.js} +6 -6
  17. package/dist/{vs-datatable-D6oj_pBG.js → vs-datatable-aAXTRfDg.js} +2 -2
  18. package/module/cls.json +6 -6
  19. package/module/gis/card/gis.metadata.table/index.yml +22 -22
  20. package/module/gis/card/gis.metadata.table/main_info.hbs +20 -20
  21. package/module/gis/card/gis.metadata.table/metadata_info.hbs +27 -27
  22. package/module/gis/card/gis.metadata.table/other.hbs +25 -25
  23. package/module/gis/card/gis.rasters.table/index.yml +11 -11
  24. package/module/gis/card/gis.rasters.table/main_info.hbs +27 -27
  25. package/module/gis/card/gis.registers.table/cls.hbs +36 -36
  26. package/module/gis/card/gis.registers.table/columns.hbs +89 -89
  27. package/module/gis/card/gis.registers.table/filters.hbs +80 -80
  28. package/module/gis/card/gis.registers.table/index.yml +23 -23
  29. package/module/gis/card/gis.registers.table/main_info.hbs +35 -35
  30. package/module/gis/card/gis.registers.table/source.hbs +45 -45
  31. package/module/gis/card/gis.services.table/attributes.hbs +91 -91
  32. package/module/gis/card/gis.services.table/filters.hbs +83 -83
  33. package/module/gis/card/gis.services.table/index.yml +25 -25
  34. package/module/gis/card/gis.services.table/main_info.hbs +27 -27
  35. package/module/gis/card/gis.services.table/source.hbs +25 -25
  36. package/module/gis/cls/bool.yes_no.json +12 -12
  37. package/module/gis/cls/encoding.json +14 -14
  38. package/module/gis/cls/geom_type.json +14 -14
  39. package/module/gis/cls/gis.column_type.json +34 -34
  40. package/module/gis/cls/gis.column_view_type.json +26 -26
  41. package/module/gis/cls/gis.filter_type.json +22 -22
  42. package/module/gis/cls/language.json +10 -10
  43. package/module/gis/cls/meta.service_type.json +42 -42
  44. package/module/gis/cls/ogc.service.json +21 -21
  45. package/module/gis/cls/service_type.json +42 -42
  46. package/module/gis/cls/source_type.json +10 -10
  47. package/module/gis/cls/standarts.json +6 -6
  48. package/module/gis/cls/topic_category.json +106 -106
  49. package/module/gis/cls/update_frequency.json +29 -29
  50. package/module/gis/cls/view.json +21 -21
  51. package/module/gis/form/feedback.answer.form.json +10 -10
  52. package/module/gis/form/gis.cartocss.form.json +64 -64
  53. package/module/gis/form/gis.group_list.form.json +17 -17
  54. package/module/gis/form/gis.maps.form.json +61 -61
  55. package/module/gis/form/gis.metadata.form.json +240 -240
  56. package/module/gis/form/gis.metadata_new.form.json +195 -195
  57. package/module/gis/form/gis.ogc_service.form.json +51 -51
  58. package/module/gis/form/gis.rasters.form.json +76 -76
  59. package/module/gis/form/gis.registers.form.json +124 -124
  60. package/module/gis/form/gis.registers_column.form.json +84 -84
  61. package/module/gis/form/gis.registers_filter.form.json +65 -65
  62. package/module/gis/form/gis.services.form.json +111 -111
  63. package/module/gis/form/gis.services_attributes.form.json +75 -75
  64. package/module/gis/form/gis.services_filter.form.json +65 -65
  65. package/module/gis/menu.json +43 -43
  66. package/module/gis/select/admin.cls.name.sql +9 -9
  67. package/module/gis/select/layer_list.sql +7 -7
  68. package/module/gis/select/layer_list_text.sql +7 -7
  69. package/module/gis/select/pg.column_name.geometry.sql +12 -12
  70. package/module/gis/select/pg.columns.parent.sql +6 -6
  71. package/module/gis/select/pg.table_name.sql +17 -17
  72. package/module/gis/select/service_id.sql +1 -1
  73. package/module/gis/select/srid.sql +7 -7
  74. package/module/gis/table/gis.cartocss.table.json +74 -74
  75. package/module/gis/table/gis.group_list.table.json +58 -58
  76. package/module/gis/table/gis.maps.table.json +110 -110
  77. package/module/gis/table/gis.metadata.table.json +70 -70
  78. package/module/gis/table/gis.metadata_new.table.json +137 -137
  79. package/module/gis/table/gis.ogc_service.table.json +100 -100
  80. package/module/gis/table/gis.rasters.table.json +113 -113
  81. package/module/gis/table/gis.registers.table.json +143 -143
  82. package/module/gis/table/gis.services.table.json +120 -120
  83. package/module/gis/table/site.gis.registers.table.json +88 -88
  84. package/module/gis/table/site.gis.services.table.json +106 -106
  85. package/module/gis/templates/ISO19136_2017_gml_template.xml +330 -330
  86. package/module/gis/tokens.yml +5 -5
  87. package/module/permissions/form/permissions.users.form.json +151 -151
  88. package/module/permissions/table/gis.permissions.table.json +97 -97
  89. package/module/test/cls/bp_build_type.json +37 -37
  90. package/module/test/cls/doc_status.json +31 -31
  91. package/module/test/cls/ts.temp_status.json +18 -18
  92. package/module/test/cls/ts.temp_structure.ts_class.json +49 -49
  93. package/module/test/cls/ts.temp_type.json +9 -9
  94. package/module/test/layer/bp.json +59 -59
  95. package/module/test/layer/bp1.yml +33 -33
  96. package/module/test/layer/individual.yml +53 -53
  97. package/module/test/layer/ts.linking_passport.yml +55 -55
  98. package/module/test/layer/ts.temp_structure.yml +50 -50
  99. package/module/test/map/addr.yml +21 -21
  100. package/module/test/map/bp_myo.json +43 -43
  101. package/module/test/map/bpf.json +43 -43
  102. package/module/test/map/main.json +39 -39
  103. package/module/test/map/mbd.json +92 -92
  104. package/module/test/map/ts.json +53 -53
  105. package/module/test/select/address_id.json +2 -2
  106. package/module/test/select/address_id.sql +7 -7
  107. package/module/test/select/core.user_uid.sql +1 -1
  108. package/module/test/table/data_address.street.table.json +69 -69
  109. package/module/test/table/data_bp_myo.bp.table.json +122 -122
  110. package/package.json +75 -75
  111. package/plugin.js +55 -55
  112. package/server/migrations/array_intersect.sql +13 -13
  113. package/server/migrations/cartocss.sql +27 -27
  114. package/server/migrations/group_list.sql +74 -74
  115. package/server/migrations/maps.sql +30 -30
  116. package/server/migrations/metadata.sql +415 -415
  117. package/server/migrations/ogc.sql +106 -106
  118. package/server/migrations/rasters.sql +265 -265
  119. package/server/migrations/services.sql +247 -247
  120. package/server/migrations/services_users_rel.sql +22 -22
  121. package/server/migrations/widgets.sql +20 -20
  122. package/server/plugins/crons.js +21 -21
  123. package/server/plugins/mapnik/funcs/checkRasterFile.js +109 -109
  124. package/server/plugins/mapnik/funcs/mapnik.js +151 -151
  125. package/server/plugins/mapnik/funcs/rootFolder.mjs +8 -8
  126. package/server/plugins/mapnik/map.proto +437 -345
  127. package/server/plugins/vite.js +74 -74
  128. package/server/routes/gis/cartocss/add.cartocss.js +42 -42
  129. package/server/routes/gis/cartocss/get.cartocss.js +59 -59
  130. package/server/routes/gis/checkXML.js +117 -117
  131. package/server/routes/gis/dashboard.js +29 -29
  132. package/server/routes/gis/index.mjs +92 -92
  133. package/server/routes/gis/metadata/editMetadata.js +34 -34
  134. package/server/routes/gis/metadata/metadataXML.js +13 -13
  135. package/server/routes/gis/ogc/map.info.point.js +124 -124
  136. package/server/routes/gis/registers/add.registry.js +35 -35
  137. package/server/routes/gis/registers/del.registry.js +14 -14
  138. package/server/routes/gis/registers/funcs/classifiers.js +100 -100
  139. package/server/routes/gis/registers/funcs/columns.js +3 -3
  140. package/server/routes/gis/registers/funcs/content.type.js +9 -9
  141. package/server/routes/gis/registers/funcs/get.info.js +89 -89
  142. package/server/routes/gis/registers/funcs/handleRegistryRequest.js +146 -146
  143. package/server/routes/gis/registers/gis.export.js +153 -153
  144. package/server/routes/gis/registers/gis.registry.js +64 -64
  145. package/server/routes/gis/registers/gis.registry.list.js +59 -59
  146. package/server/routes/gis/registers/insert.columns.js +107 -107
  147. package/server/routes/gis/registers/insert.filters.js +110 -110
  148. package/server/routes/gis/registers/map.registry.js +79 -79
  149. package/server/routes/gis/services/add.service.js +64 -64
  150. package/server/routes/gis/services/create.route.js +96 -96
  151. package/server/routes/gis/services/del.service.js +12 -12
  152. package/server/routes/gis/services/get.layer.geom.js +27 -27
  153. package/server/routes/gis/services/get.service.users.js +74 -74
  154. package/server/routes/gis/services/get.services.col.js +33 -33
  155. package/server/routes/gis/services/get.services.js +84 -84
  156. package/server/routes/gis/services/legend.auto.js +77 -77
  157. package/server/routes/map/controllers/clearTiles.js +34 -34
  158. package/server/routes/map/controllers/geojson.js +187 -187
  159. package/server/routes/map/controllers/gis.convert.js +54 -53
  160. package/server/routes/map/controllers/jsonData.js +205 -205
  161. package/server/routes/map/controllers/layerList.js +102 -102
  162. package/server/routes/map/controllers/map.js +123 -123
  163. package/server/routes/map/controllers/mapCatalog.js +72 -72
  164. package/server/routes/map/controllers/mapCatalogAttribute.js +55 -55
  165. package/server/routes/map/controllers/mapFeatures.js +128 -128
  166. package/server/routes/map/controllers/mapFormat.js +234 -234
  167. package/server/routes/map/controllers/mapTiles.js +152 -152
  168. package/server/routes/map/controllers/maps.js +15 -15
  169. package/server/routes/map/controllers/marker_icon.js +43 -43
  170. package/server/routes/map/controllers/parseGeoFile.js +86 -86
  171. package/server/routes/map/controllers/pointHeight.js +55 -55
  172. package/server/routes/map/controllers/vtile.js +172 -172
  173. package/server/routes/map/index.mjs +249 -228
  174. package/server/routes/map/maps/add.map.js +43 -43
  175. package/server/routes/map/maps/del.map.js +18 -18
  176. package/server/routes/map/maps/get.map.js +118 -118
  177. package/server/routes/map/vtile1.js +179 -179
  178. package/server/routes/map/widgets/add.widget.js +38 -38
  179. package/server/routes/map/widgets/del.widget.js +22 -22
  180. package/server/routes/map/widgets/get.widget.js +40 -40
  181. package/server/routes/mapnik/controllers/clearTiles.js +106 -106
  182. package/server/routes/mapnik/controllers/createXml.js +67 -67
  183. package/server/routes/mapnik/controllers/createXmlMulti.js +76 -76
  184. package/server/routes/mapnik/controllers/fileSearch.js +38 -38
  185. package/server/routes/mapnik/controllers/fileStat.js +28 -28
  186. package/server/routes/mapnik/controllers/mapnikLogger.js +29 -29
  187. package/server/routes/mapnik/controllers/mapnikStat.js +19 -19
  188. package/server/routes/mapnik/controllers/pretile.js +144 -144
  189. package/server/routes/mapnik/controllers/rasterInfo.js +57 -57
  190. package/server/routes/mapnik/controllers/readDir.js +22 -22
  191. package/server/routes/mapnik/controllers/rtile.js +167 -167
  192. package/server/routes/mapnik/controllers/uploadRaster.js +157 -157
  193. package/server/routes/mapnik/functions/cartoBounds.js +32 -32
  194. package/server/routes/mapnik/functions/convertBoundToTile.js +27 -27
  195. package/server/routes/mapnik/functions/uploadXML.js +113 -113
  196. package/server/routes/mapnik/index.js +40 -40
  197. package/server/routes/permissions/controllers/catalog.permissions.edit.js +22 -22
  198. package/server/routes/permissions/controllers/catalog.permissions.js +7 -7
  199. package/server/routes/permissions/controllers/gis.catalog.js +80 -80
  200. package/server/routes/permissions/controllers/utils/get.permissions.js +59 -59
  201. package/server/routes/permissions/index.mjs +18 -18
  202. package/server/routes/root.mjs +3 -3
  203. 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-C8Wi_h72.js";
2
+ import { _ as o } from "./index-DCKH-TcG.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-C8Wi_h72.js";
6
+ import { F as ge, _ as ve } from "./index-DCKH-TcG.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-C8Wi_h72.js";
2
+ import { f as C, u as b } from "./index-DCKH-TcG.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-C8Wi_h72.js";
2
+ import { _ as Te } from "./index-DCKH-TcG.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 { r as me, _ as pe } from "./index-C8Wi_h72.js";
8
+ import { r as me, _ as pe } from "./index-DCKH-TcG.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-C8Wi_h72.js";
6
+ import { F as de, _ as ve } from "./index-DCKH-TcG.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
  };
@@ -1,12 +1,12 @@
1
1
  import { openBlock as _, createElementBlock as z, createElementVNode as o, defineComponent as Y, computed as L, createTextVNode as Ee, createVNode as E, mergeModels as Xe, defineAsyncComponent as ye, useModel as Ze, ref as x, withCtx as J, toDisplayString as T, unref as ve, watch as I, onUnmounted as Ke, createCommentVNode as q, onBeforeUnmount as je, onMounted as et, withDirectives as tt, vModelText as at, createBlock as R, normalizeClass as $e, normalizeStyle as ot, Fragment as Le, renderList as nt, resolveDynamicComponent as st } from "vue";
2
2
  import { useRouter as lt, useRoute as rt } from "vue-router";
3
3
  import { notify as P } from "@opengis/core";
4
- import { _ as ut, f as Ae, o as it, p as ct, q as dt, M as ft, i as mt, j as Ve, m as pt } from "./index-C8Wi_h72.js";
5
- import { S as yt, C as vt } from "./CardIcon-CJb7yqV7.js";
6
- import { _ as ht, a as gt, b as bt, c as xt } from "./HeaderActions.vue_vue_type_script_setup_true_lang-WHe_VrVa.js";
4
+ import { _ as ut, f as Ae, o as it, p as ct, q as dt, M as ft, i as mt, j as Ve, m as pt } from "./index-DCKH-TcG.js";
5
+ import { S as yt, C as vt } from "./CardIcon-DcriKHRQ.js";
6
+ import { _ as ht, a as gt, b as bt, c as xt } from "./HeaderActions.vue_vue_type_script_setup_true_lang-CLEpHbVL.js";
7
7
  import { _ as Ne } from "./MonacoEditor.vue_vue_type_script_setup_true_lang-D3ZPeXMw.js";
8
- import { V as wt } from "./vs-datatable-D6oj_pBG.js";
9
- import { _ as Me } from "./ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-BSfb8eHZ.js";
8
+ import { V as wt } from "./vs-datatable-aAXTRfDg.js";
9
+ import { _ as Me } from "./ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-BAaobvwj.js";
10
10
  const _t = {}, kt = {
11
11
  xmlns: "http://www.w3.org/2000/svg",
12
12
  width: "24",
@@ -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-D6oj_pBG.js";
2
+ import { i as P, g as j } from "./vs-datatable-aAXTRfDg.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]"