@opengis/gis 0.2.159 → 0.2.161

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 (205) hide show
  1. package/README.md +181 -181
  2. package/dist/{CardIcon-CBZC4uZr.js → CardIcon-CJb7yqV7.js} +1 -1
  3. package/dist/{EntityTablePage-DtzKmZjS.js → EntityTablePage-BDWJBRsX.js} +2 -2
  4. package/dist/{ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-DD6rHsXc.js → ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-BSfb8eHZ.js} +1 -1
  5. package/dist/{HeaderActions.vue_vue_type_script_setup_true_lang-Bps0H7pO.js → HeaderActions.vue_vue_type_script_setup_true_lang-WHe_VrVa.js} +1 -1
  6. package/dist/{MapSettings-DAZuj-Uh.js → MapSettings-CfY1C4pP.js} +2 -2
  7. package/dist/{RastersTablePage-rtGar8d3.js → RastersTablePage-DqNAAgwQ.js} +2 -2
  8. package/dist/{cartocss-BhjdH88Y.js → cartocss-BtW3JOe4.js} +5 -5
  9. package/dist/{import-utils-27U4FPhs.js → import-utils-omyzQAkY.js} +1 -1
  10. package/dist/index-C8Wi_h72.js +13556 -0
  11. package/dist/index.css +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/index.umd.cjs +55 -42
  14. package/dist/{raster-DXOqDU11.js → raster-C18YvUia.js} +3 -3
  15. package/dist/{register-DWO-Ok1x.js → register-YfpjSpQO.js} +3 -3
  16. package/dist/service-CoVcnlm3.js +3471 -0
  17. package/dist/{vs-datatable-D4QPjAMZ.js → vs-datatable-D6oj_pBG.js} +3 -4
  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 +345 -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 -89
  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 -0
  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 +53 -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 -0
  172. package/server/routes/map/controllers/vtile.js +172 -172
  173. package/server/routes/map/index.mjs +228 -198
  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
  204. package/dist/index-BoqiSnZD.js +0 -11606
  205. package/dist/service-DolI8Dz5.js +0 -2628
@@ -1,345 +1,345 @@
1
- syntax = "proto3";
2
-
3
- import "google/protobuf/struct.proto"; // after syntax!
4
-
5
- package map;
6
-
7
- // ----------------------------
8
- // Map Service
9
- // ----------------------------
10
- service MapService {
11
- rpc PrintMap(PrintMapRequest) returns (PrintMapOut);
12
- rpc RenderTile(RenderTileRequest) returns (RenderTileOut);
13
- rpc ClearTile(ClearTileRequest) returns (ClearTileOut);
14
- rpc ReadDir(ReadDirRequest) returns (ReadDirOut);
15
- rpc FileStat(FileStatRequest) returns (FileStatOut);
16
- rpc FileSearch(FileSearchRequest) returns (FileSearchOut);
17
- rpc CreateXML(CreateXMLRequest) returns (stream JobProgress); // streaming XML creation
18
- rpc CreateIndex(CreateIndexRequest) returns (CreateIndexOut); // create/update index.geojson for folder
19
- rpc ConvertLog(ConvertLogRequest) returns (ConvertLogOut); // json state for current stream tasks
20
- rpc ConvertCog(ConvertCogRequest) returns (stream JobProgress); // streaming COG conversion
21
- rpc ConvertVector(ConvertVectorRequest) returns (ConvertVectorOut); // vector file/archive -> GeoJSON
22
- rpc ImportData(ImportDataRequest) returns (stream JobProgress); // streaming SHP -> PostGIS import
23
- rpc UploadXML(UploadXMLRequest) returns (UploadXMLOut);
24
- rpc UploadRaster(UploadRasterRequest) returns (UploadRasterOut);
25
- rpc GetRasterStatus(GetRasterStatusRequest) returns (GetStatusOut);
26
- rpc GetStat(GetStatRequest) returns (GetStatOut);
27
- rpc GetLogs(GetLogsRequest) returns (GetLogsOut);
28
- rpc GetRasterInfo(GetRasterInfoRequest) returns (GetRasterInfoOut);
29
- rpc GetMeta(GetMetaRequest) returns (GetMetaOut);
30
- }
31
-
32
- // ----------------------------
33
- // Messages for MapService
34
- // ----------------------------
35
- message PrintMapRequest {
36
- string path = 1;
37
- string geojson = 2;
38
- repeated double bbox = 3; // [minx, miny, maxx, maxy]
39
- int32 width = 4;
40
- int32 height = 5;
41
- string ttl = 6; // "5m", "1h", "1d" or "0"
42
- optional bool base64 = 7; // optional output mode flag: true -> base64, false -> raw bytes
43
- int32 opacity = 8; // 0-255
44
- repeated string colors = 9; // [ #00FF00, #0000FF]
45
- repeated string layers = 10;
46
- }
47
-
48
- message PrintMapOut {
49
- string base64 = 1;
50
- bool cache = 2;
51
- string err = 3;
52
- bytes data = 7; // raw PNG bytes (used when request.base64=false)
53
- }
54
-
55
- message RenderTileRequest {
56
- string name = 1;
57
- string path = 2;
58
- repeated double bbox = 3; // [minx, miny, maxx, maxy]
59
- int32 width = 4;
60
- string ttl = 5; // "5m", "1h", "1d" or "0"
61
- string debug = 6;
62
- optional int32 z = 7; // optional XYZ tile zoom
63
- optional int32 x = 8; // optional XYZ tile x
64
- optional int32 y = 9; // optional XYZ tile y
65
- bool meta = 10; // when true return tile metadata/path only (without base64 image payload)
66
- optional bool base64 = 11; // optional output mode flag: true -> base64, false -> raw bytes
67
- optional string format = 12; // optional tile image format: png|jpg|jpeg|webp
68
- }
69
-
70
- message RenderTileOut {
71
- string base64 = 1;
72
- bool cache = 2;
73
- string err = 3;
74
- string xml_path = 4;
75
- string tile_path = 5;
76
- string tile_url = 6;
77
- bytes data = 7; // raw PNG bytes (used when request.base64=false)
78
- }
79
-
80
- message ClearTileRequest {
81
- string name = 1;
82
- string path = 2;
83
- }
84
-
85
- message ClearTileOut {
86
- string result = 1;
87
- string err = 2;
88
- }
89
-
90
- message FileStatRequest {
91
- string path = 1;
92
- }
93
-
94
- message FileStatOut {
95
- bool exists = 1;
96
- string name = 2;
97
- int64 size = 3;
98
- string adate = 4;
99
- string cdate = 5;
100
- string mdate = 6;
101
- }
102
-
103
- message FileSearchRequest {
104
- string path = 1;
105
- string key = 2;
106
- string period = 3;
107
- int64 size = 4;
108
- }
109
-
110
- message FileSearchOut {
111
- bool exists = 1;
112
- int32 count = 2;
113
- repeated FileInfo files = 3;
114
- repeated DirInfo directories = 4;
115
- }
116
-
117
- message ReadDirRequest {
118
- string path = 1;
119
- }
120
-
121
- message FileInfo {
122
- string name = 1;
123
- int64 size = 2;
124
- string date = 3;
125
- string dir = 4;
126
- optional bool cog = 5; // COG flag for TIFF files
127
- }
128
-
129
- message DirInfo {
130
- string name = 1;
131
- int64 size = 2;
132
- string date = 3;
133
- int64 children = 4;
134
- }
135
-
136
- message ReadDirOut {
137
- bool exists = 1;
138
- int32 count = 2;
139
- repeated FileInfo files = 3;
140
- repeated DirInfo directories = 4;
141
- }
142
-
143
- message CreateXMLRequest {
144
- string path = 1;
145
- int32 srid = 2;
146
- int32 previewZoom = 3;
147
- repeated string layers = 4;
148
- bool vrt = 5;
149
- string name = 6;
150
- string debug = 7;
151
- string nocache = 8;
152
- string proj4 = 9;
153
- bool cog = 10; // enable COG pipeline and map.xml without preview/zoom split
154
- bool preview = 11; // build preview and include preview layer in XML
155
- bool recursive = 12; // recursive source scan for folder targets
156
- string compress = 13; // COG compression mode: AUTO|DEFLATE|ZSTD|LZW|JPEG
157
- bool recompress = 14; // allow re-converting files that are already COG
158
- int32 quality = 15; // JPEG quality (1..100), 0 means default 85
159
- bool single = 16; // when path is folder, create one XML per raster file
160
- string mode = 17; // folder mode: auto|single|multi (replaces legacy single=true)
161
- int32 minZoom = 18; // minzoom value for map.xml Parameters (default: 10)
162
- reserved 19, 20, 21, 22, 27;
163
- reserved "vrtResample", "vrtResolution", "vrtXRes", "vrtYRes", "vrtTap";
164
- string vrtSrcNodata = 23; // source nodata value(s), e.g. "0" or "0 0 0"
165
- string vrtNodata = 24; // VRT nodata value(s)
166
- bool vrtHideNodata = 25; // hide nodata in VRT
167
- bool vrtAddAlpha = 26; // add alpha band in VRT
168
- bool overwrite = 28; // overwrite existing xml when true
169
- }
170
-
171
- message CreateIndexRequest {
172
- string path = 1; // folder path under raster root
173
- bool recursive = 2; // include nested folders
174
- bool overwrite = 3; // recreate existing index.geojson
175
- }
176
-
177
- message CreateIndexOut {
178
- string path = 1; // relative index.geojson path
179
- bool created = 2; // true when index.geojson written in this call
180
- bool skipped = 3; // true when existing index.geojson kept as-is
181
- bool overwritten = 4; // true when existing index.geojson was replaced
182
- int32 source_count = 5; // discovered source TIFF count
183
- int32 feature_count = 6; // written feature count
184
- int32 skipped_sources_count = 7; // sources skipped due unreadable/missing geometry
185
- }
186
-
187
- message ConvertLogRequest {
188
- string path = 1; // optional filter by request path
189
- string method = 2; // optional filter by method (CreateXML|ConvertCog)
190
- }
191
-
192
- message ConvertLogOut {
193
- string data = 1; // json payload with current stream tasks
194
- string stat_path = 2; // relative path to stat file: log/stream/stat/[date].log
195
- string err = 3; // error text when failed
196
- }
197
-
198
- message ConvertCogRequest {
199
- string name = 1; // deprecated fallback: file name only
200
- string path = 2; // raster file or folder
201
- bool recursive = 3; // process nested folders when path is directory
202
- string compress = 4; // COG compression mode: AUTO|DEFLATE|ZSTD|LZW|JPEG
203
- bool recompress = 5; // allow re-converting files that are already COG
204
- int32 quality = 6; // JPEG quality (1..100), 0 means default 85
205
- int32 srid = 7; // optional target SRID for reprojection before COG conversion
206
- }
207
-
208
- message ConvertVectorRequest {
209
- bytes data = 1; // input vector file/archive bytes
210
- string format = 2; // optional input format hint: zip|shp|kml|gml|geojson|json
211
- int32 srs = 3; // target EPSG code, default 4326
212
- string filename = 4; // optional original filename for extension/layer detection
213
- }
214
-
215
- message ConvertVectorOut {
216
- string geojson = 1; // converted GeoJSON payload
217
- string err = 2; // error text when failed
218
- int64 size = 3; // output GeoJSON byte size
219
- }
220
-
221
- message ImportDataRequest {
222
- string path = 1; // path to .shp file or directory under vector root
223
- bool recursive = 2; // process nested folders when path is directory
224
- bool force = 3; // overwrite existing tables when true
225
- string mode = 4; // import mode: file|type (aliases: 1|2)
226
- string db = 5; // PostgreSQL URL: postgresql://user:pass@host:port/dbname
227
- string schema = 6; // target schema override
228
- string type = 7; // optional geometry type override, e.g. LineString
229
- }
230
-
231
- message UploadXMLRequest {
232
- string name = 1;
233
- string xml = 2;
234
- string encoding = 3;
235
- string path = 4;
236
- }
237
-
238
- message UploadXMLOut {
239
- string status = 1;
240
- string filepath = 2;
241
- }
242
-
243
- message UploadRasterRequest {
244
- string path = 1;
245
- bytes data = 2;
246
- bool chunked = 3;
247
- int64 filesize = 4;
248
- }
249
-
250
- message UploadRasterOut {
251
- string status = 1;
252
- int64 uploaded = 2;
253
- bool finished = 3;
254
- }
255
-
256
- message GetRasterStatusRequest {
257
- string path = 1;
258
- bool md5 = 2;
259
- }
260
-
261
- message GetStatusOut {
262
- bool exists = 1;
263
- string size = 2;
264
- bool finished = 3;
265
- }
266
-
267
- message GetStatRequest {
268
- string period = 1; // "5m", "1h", "1d"
269
- }
270
-
271
- message GetStatOut {
272
- google.protobuf.Struct result = 1; // dynamic stats structure
273
- }
274
-
275
- message GetLogsRequest {
276
- string path = 1; // "info", "info/2026-01-01.log" etc.
277
- }
278
-
279
- message GetLogsOut {
280
- string data = 1;
281
- string links = 2;
282
- string err = 3;
283
- }
284
-
285
- message GetRasterInfoRequest {
286
- string path = 1;
287
- int64 srid = 3;
288
- string proj4 = 4;
289
- }
290
-
291
- message FileItem {
292
- string name = 1;
293
- string size = 2;
294
- }
295
-
296
- message GetRasterInfoData {
297
- string total_size = 1;
298
- string extension = 2;
299
- int64 srid = 3;
300
- string proj4 = 4;
301
- repeated float extent = 5;
302
- repeated FileItem files = 6;
303
- int64 width = 7;
304
- int64 height = 8;
305
- int64 bands_count = 9;
306
- string resolution = 10;
307
- repeated string bands = 11;
308
- int64 color_depth = 12;
309
- string compression = 13;
310
- bool xml = 14;
311
- optional bool cog = 15;
312
- }
313
-
314
- message GetRasterInfoOut {
315
- GetRasterInfoData data = 1;
316
- bool cache = 2;
317
- }
318
-
319
- message GetMetaRequest {
320
- string path = 1;
321
- repeated double bbox = 2; // optional [minx, miny, maxx, maxy]
322
- }
323
-
324
- message GetMetaOut {
325
- google.protobuf.Struct data = 1; // raw metadata JSON
326
- bool cache = 2; // true when metadata file already existed
327
- string meta_path = 3; // relative metadata file path
328
- bool bbox_intersects = 4; // bbox vs metadata extent (true when bbox absent)
329
- }
330
-
331
- // ----------------------------
332
- // Job Service Messages
333
- // ----------------------------
334
- message JobRequest {
335
- string job_id = 1;
336
- string xml_name = 2;
337
- string xml_path = 3;
338
- repeated string layers = 4;
339
- }
340
-
341
- message JobProgress {
342
- string message = 1;
343
- string error = 2;
344
- bool done = 3;
345
- }
1
+ syntax = "proto3";
2
+
3
+ import "google/protobuf/struct.proto"; // after syntax!
4
+
5
+ package map;
6
+
7
+ // ----------------------------
8
+ // Map Service
9
+ // ----------------------------
10
+ service MapService {
11
+ rpc PrintMap(PrintMapRequest) returns (PrintMapOut);
12
+ rpc RenderTile(RenderTileRequest) returns (RenderTileOut);
13
+ rpc ClearTile(ClearTileRequest) returns (ClearTileOut);
14
+ rpc ReadDir(ReadDirRequest) returns (ReadDirOut);
15
+ rpc FileStat(FileStatRequest) returns (FileStatOut);
16
+ rpc FileSearch(FileSearchRequest) returns (FileSearchOut);
17
+ rpc CreateXML(CreateXMLRequest) returns (stream JobProgress); // streaming XML creation
18
+ rpc CreateIndex(CreateIndexRequest) returns (CreateIndexOut); // create/update index.geojson for folder
19
+ rpc ConvertLog(ConvertLogRequest) returns (ConvertLogOut); // json state for current stream tasks
20
+ rpc ConvertCog(ConvertCogRequest) returns (stream JobProgress); // streaming COG conversion
21
+ rpc ConvertVector(ConvertVectorRequest) returns (ConvertVectorOut); // vector file/archive -> GeoJSON
22
+ rpc ImportData(ImportDataRequest) returns (stream JobProgress); // streaming SHP -> PostGIS import
23
+ rpc UploadXML(UploadXMLRequest) returns (UploadXMLOut);
24
+ rpc UploadRaster(UploadRasterRequest) returns (UploadRasterOut);
25
+ rpc GetRasterStatus(GetRasterStatusRequest) returns (GetStatusOut);
26
+ rpc GetStat(GetStatRequest) returns (GetStatOut);
27
+ rpc GetLogs(GetLogsRequest) returns (GetLogsOut);
28
+ rpc GetRasterInfo(GetRasterInfoRequest) returns (GetRasterInfoOut);
29
+ rpc GetMeta(GetMetaRequest) returns (GetMetaOut);
30
+ }
31
+
32
+ // ----------------------------
33
+ // Messages for MapService
34
+ // ----------------------------
35
+ message PrintMapRequest {
36
+ string path = 1;
37
+ string geojson = 2;
38
+ repeated double bbox = 3; // [minx, miny, maxx, maxy]
39
+ int32 width = 4;
40
+ int32 height = 5;
41
+ string ttl = 6; // "5m", "1h", "1d" or "0"
42
+ optional bool base64 = 7; // optional output mode flag: true -> base64, false -> raw bytes
43
+ int32 opacity = 8; // 0-255
44
+ repeated string colors = 9; // [ #00FF00, #0000FF]
45
+ repeated string layers = 10;
46
+ }
47
+
48
+ message PrintMapOut {
49
+ string base64 = 1;
50
+ bool cache = 2;
51
+ string err = 3;
52
+ bytes data = 7; // raw PNG bytes (used when request.base64=false)
53
+ }
54
+
55
+ message RenderTileRequest {
56
+ string name = 1;
57
+ string path = 2;
58
+ repeated double bbox = 3; // [minx, miny, maxx, maxy]
59
+ int32 width = 4;
60
+ string ttl = 5; // "5m", "1h", "1d" or "0"
61
+ string debug = 6;
62
+ optional int32 z = 7; // optional XYZ tile zoom
63
+ optional int32 x = 8; // optional XYZ tile x
64
+ optional int32 y = 9; // optional XYZ tile y
65
+ bool meta = 10; // when true return tile metadata/path only (without base64 image payload)
66
+ optional bool base64 = 11; // optional output mode flag: true -> base64, false -> raw bytes
67
+ optional string format = 12; // optional tile image format: png|jpg|jpeg|webp
68
+ }
69
+
70
+ message RenderTileOut {
71
+ string base64 = 1;
72
+ bool cache = 2;
73
+ string err = 3;
74
+ string xml_path = 4;
75
+ string tile_path = 5;
76
+ string tile_url = 6;
77
+ bytes data = 7; // raw PNG bytes (used when request.base64=false)
78
+ }
79
+
80
+ message ClearTileRequest {
81
+ string name = 1;
82
+ string path = 2;
83
+ }
84
+
85
+ message ClearTileOut {
86
+ string result = 1;
87
+ string err = 2;
88
+ }
89
+
90
+ message FileStatRequest {
91
+ string path = 1;
92
+ }
93
+
94
+ message FileStatOut {
95
+ bool exists = 1;
96
+ string name = 2;
97
+ int64 size = 3;
98
+ string adate = 4;
99
+ string cdate = 5;
100
+ string mdate = 6;
101
+ }
102
+
103
+ message FileSearchRequest {
104
+ string path = 1;
105
+ string key = 2;
106
+ string period = 3;
107
+ int64 size = 4;
108
+ }
109
+
110
+ message FileSearchOut {
111
+ bool exists = 1;
112
+ int32 count = 2;
113
+ repeated FileInfo files = 3;
114
+ repeated DirInfo directories = 4;
115
+ }
116
+
117
+ message ReadDirRequest {
118
+ string path = 1;
119
+ }
120
+
121
+ message FileInfo {
122
+ string name = 1;
123
+ int64 size = 2;
124
+ string date = 3;
125
+ string dir = 4;
126
+ optional bool cog = 5; // COG flag for TIFF files
127
+ }
128
+
129
+ message DirInfo {
130
+ string name = 1;
131
+ int64 size = 2;
132
+ string date = 3;
133
+ int64 children = 4;
134
+ }
135
+
136
+ message ReadDirOut {
137
+ bool exists = 1;
138
+ int32 count = 2;
139
+ repeated FileInfo files = 3;
140
+ repeated DirInfo directories = 4;
141
+ }
142
+
143
+ message CreateXMLRequest {
144
+ string path = 1;
145
+ int32 srid = 2;
146
+ int32 previewZoom = 3;
147
+ repeated string layers = 4;
148
+ bool vrt = 5;
149
+ string name = 6;
150
+ string debug = 7;
151
+ string nocache = 8;
152
+ string proj4 = 9;
153
+ bool cog = 10; // enable COG pipeline and map.xml without preview/zoom split
154
+ bool preview = 11; // build preview and include preview layer in XML
155
+ bool recursive = 12; // recursive source scan for folder targets
156
+ string compress = 13; // COG compression mode: AUTO|DEFLATE|ZSTD|LZW|JPEG
157
+ bool recompress = 14; // allow re-converting files that are already COG
158
+ int32 quality = 15; // JPEG quality (1..100), 0 means default 85
159
+ bool single = 16; // when path is folder, create one XML per raster file
160
+ string mode = 17; // folder mode: auto|single|multi (replaces legacy single=true)
161
+ int32 minZoom = 18; // minzoom value for map.xml Parameters (default: 10)
162
+ reserved 19, 20, 21, 22, 27;
163
+ reserved "vrtResample", "vrtResolution", "vrtXRes", "vrtYRes", "vrtTap";
164
+ string vrtSrcNodata = 23; // source nodata value(s), e.g. "0" or "0 0 0"
165
+ string vrtNodata = 24; // VRT nodata value(s)
166
+ bool vrtHideNodata = 25; // hide nodata in VRT
167
+ bool vrtAddAlpha = 26; // add alpha band in VRT
168
+ bool overwrite = 28; // overwrite existing xml when true
169
+ }
170
+
171
+ message CreateIndexRequest {
172
+ string path = 1; // folder path under raster root
173
+ bool recursive = 2; // include nested folders
174
+ bool overwrite = 3; // recreate existing index.geojson
175
+ }
176
+
177
+ message CreateIndexOut {
178
+ string path = 1; // relative index.geojson path
179
+ bool created = 2; // true when index.geojson written in this call
180
+ bool skipped = 3; // true when existing index.geojson kept as-is
181
+ bool overwritten = 4; // true when existing index.geojson was replaced
182
+ int32 source_count = 5; // discovered source TIFF count
183
+ int32 feature_count = 6; // written feature count
184
+ int32 skipped_sources_count = 7; // sources skipped due unreadable/missing geometry
185
+ }
186
+
187
+ message ConvertLogRequest {
188
+ string path = 1; // optional filter by request path
189
+ string method = 2; // optional filter by method (CreateXML|ConvertCog)
190
+ }
191
+
192
+ message ConvertLogOut {
193
+ string data = 1; // json payload with current stream tasks
194
+ string stat_path = 2; // relative path to stat file: log/stream/stat/[date].log
195
+ string err = 3; // error text when failed
196
+ }
197
+
198
+ message ConvertCogRequest {
199
+ string name = 1; // deprecated fallback: file name only
200
+ string path = 2; // raster file or folder
201
+ bool recursive = 3; // process nested folders when path is directory
202
+ string compress = 4; // COG compression mode: AUTO|DEFLATE|ZSTD|LZW|JPEG
203
+ bool recompress = 5; // allow re-converting files that are already COG
204
+ int32 quality = 6; // JPEG quality (1..100), 0 means default 85
205
+ int32 srid = 7; // optional target SRID for reprojection before COG conversion
206
+ }
207
+
208
+ message ConvertVectorRequest {
209
+ bytes data = 1; // input vector file/archive bytes
210
+ string format = 2; // optional input format hint: zip|shp|kml|gml|geojson|json
211
+ int32 srs = 3; // target EPSG code, default 4326
212
+ string filename = 4; // optional original filename for extension/layer detection
213
+ }
214
+
215
+ message ConvertVectorOut {
216
+ string geojson = 1; // converted GeoJSON payload
217
+ string err = 2; // error text when failed
218
+ int64 size = 3; // output GeoJSON byte size
219
+ }
220
+
221
+ message ImportDataRequest {
222
+ string path = 1; // path to .shp file or directory under vector root
223
+ bool recursive = 2; // process nested folders when path is directory
224
+ bool force = 3; // overwrite existing tables when true
225
+ string mode = 4; // import mode: file|type (aliases: 1|2)
226
+ string db = 5; // PostgreSQL URL: postgresql://user:pass@host:port/dbname
227
+ string schema = 6; // target schema override
228
+ string type = 7; // optional geometry type override, e.g. LineString
229
+ }
230
+
231
+ message UploadXMLRequest {
232
+ string name = 1;
233
+ string xml = 2;
234
+ string encoding = 3;
235
+ string path = 4;
236
+ }
237
+
238
+ message UploadXMLOut {
239
+ string status = 1;
240
+ string filepath = 2;
241
+ }
242
+
243
+ message UploadRasterRequest {
244
+ string path = 1;
245
+ bytes data = 2;
246
+ bool chunked = 3;
247
+ int64 filesize = 4;
248
+ }
249
+
250
+ message UploadRasterOut {
251
+ string status = 1;
252
+ int64 uploaded = 2;
253
+ bool finished = 3;
254
+ }
255
+
256
+ message GetRasterStatusRequest {
257
+ string path = 1;
258
+ bool md5 = 2;
259
+ }
260
+
261
+ message GetStatusOut {
262
+ bool exists = 1;
263
+ string size = 2;
264
+ bool finished = 3;
265
+ }
266
+
267
+ message GetStatRequest {
268
+ string period = 1; // "5m", "1h", "1d"
269
+ }
270
+
271
+ message GetStatOut {
272
+ google.protobuf.Struct result = 1; // dynamic stats structure
273
+ }
274
+
275
+ message GetLogsRequest {
276
+ string path = 1; // "info", "info/2026-01-01.log" etc.
277
+ }
278
+
279
+ message GetLogsOut {
280
+ string data = 1;
281
+ string links = 2;
282
+ string err = 3;
283
+ }
284
+
285
+ message GetRasterInfoRequest {
286
+ string path = 1;
287
+ int64 srid = 3;
288
+ string proj4 = 4;
289
+ }
290
+
291
+ message FileItem {
292
+ string name = 1;
293
+ string size = 2;
294
+ }
295
+
296
+ message GetRasterInfoData {
297
+ string total_size = 1;
298
+ string extension = 2;
299
+ int64 srid = 3;
300
+ string proj4 = 4;
301
+ repeated float extent = 5;
302
+ repeated FileItem files = 6;
303
+ int64 width = 7;
304
+ int64 height = 8;
305
+ int64 bands_count = 9;
306
+ string resolution = 10;
307
+ repeated string bands = 11;
308
+ int64 color_depth = 12;
309
+ string compression = 13;
310
+ bool xml = 14;
311
+ optional bool cog = 15;
312
+ }
313
+
314
+ message GetRasterInfoOut {
315
+ GetRasterInfoData data = 1;
316
+ bool cache = 2;
317
+ }
318
+
319
+ message GetMetaRequest {
320
+ string path = 1;
321
+ repeated double bbox = 2; // optional [minx, miny, maxx, maxy]
322
+ }
323
+
324
+ message GetMetaOut {
325
+ google.protobuf.Struct data = 1; // raw metadata JSON
326
+ bool cache = 2; // true when metadata file already existed
327
+ string meta_path = 3; // relative metadata file path
328
+ bool bbox_intersects = 4; // bbox vs metadata extent (true when bbox absent)
329
+ }
330
+
331
+ // ----------------------------
332
+ // Job Service Messages
333
+ // ----------------------------
334
+ message JobRequest {
335
+ string job_id = 1;
336
+ string xml_name = 2;
337
+ string xml_path = 3;
338
+ repeated string layers = 4;
339
+ }
340
+
341
+ message JobProgress {
342
+ string message = 1;
343
+ string error = 2;
344
+ bool done = 3;
345
+ }