uomtiles 0.1.0 → 0.1.2
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.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{BQlj8Xoe.js → 0hm88Oke.js} +1 -1
- package/.output/public/_nuxt/BNfSclJ4.js +1 -0
- package/.output/public/_nuxt/BYzlinOr2.js +1 -0
- package/.output/public/_nuxt/{BiWblTbb2.js → Bd1EvHmY.js} +1 -1
- package/.output/public/_nuxt/Be4dNlar.js +1 -0
- package/.output/public/_nuxt/{C4qlzA4o.js → C7fHMLd7.js} +1 -1
- package/.output/public/_nuxt/CQ8inUdm.js +1 -0
- package/.output/public/_nuxt/{C_0VY3Cv2.js → CU486JdV2.js} +2 -2
- package/.output/public/_nuxt/Cc_JfSB1.js +1 -0
- package/.output/public/_nuxt/CgcnoKpi.js +1 -0
- package/.output/public/_nuxt/{CgdzV712.js → CovBj6WN.js} +1 -1
- package/.output/public/_nuxt/CyZDc0eO2.js +1 -0
- package/.output/public/_nuxt/{DtFVCXI9.js → CzFefJH0.js} +1 -1
- package/.output/public/_nuxt/{DL1MZZLI.js → D-t0hXHB.js} +1 -1
- package/.output/public/_nuxt/D3Pl7yw22.js +1 -0
- package/.output/public/_nuxt/D4gbGuiW.js +1 -0
- package/.output/public/_nuxt/{DkcySee1.js → DDp9lK3g.js} +1 -1
- package/.output/public/_nuxt/DIIXHC50.js +1 -0
- package/.output/public/_nuxt/DWFUvzz0.js +1 -0
- package/.output/public/_nuxt/D_VoD6-f.js +1 -0
- package/.output/public/_nuxt/{q7DkoVkj.js → DaQqwE3R.js} +6 -6
- package/.output/public/_nuxt/DfXX-x_z.js +1 -0
- package/.output/public/_nuxt/Dgyf2aNY.js +1 -0
- package/.output/public/_nuxt/DpIPeY5m.js +1 -0
- package/.output/public/_nuxt/GM5myUL22.js +1 -0
- package/.output/public/_nuxt/IC4wc76W.js +1 -0
- package/.output/public/_nuxt/IfL46N3Z.js +1 -0
- package/.output/public/_nuxt/{Oxy7pKSk.js → KEU2l6zJ.js} +1 -1
- package/.output/public/_nuxt/{DC3bhq63.js → Q79ec-Ro.js} +1 -1
- package/.output/public/_nuxt/SEETjfdJ.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/2c4adba2-91b5-44e4-91d3-50a61695207b.json +1 -0
- package/.output/public/_nuxt/entry.CZ_dkjcs.css +1 -0
- package/.output/public/_nuxt/{ByRlKR9F.js → nGp0t_eD.js} +1 -1
- package/.output/server/chunks/_/config.mjs +58 -6
- package/.output/server/chunks/_/config.mjs.map +1 -1
- package/.output/server/chunks/_/export.mjs +7 -0
- package/.output/server/chunks/_/export.mjs.map +1 -0
- package/.output/server/chunks/_/file-workspace.mjs +153 -58
- package/.output/server/chunks/_/file-workspace.mjs.map +1 -1
- package/.output/server/chunks/_/map-service.mjs +7 -7
- package/.output/server/chunks/_/map-service.mjs.map +1 -1
- package/.output/server/chunks/_/pixel-diff.mjs +1 -1
- package/.output/server/chunks/_/uom-auth.mjs +7 -7
- package/.output/server/chunks/_/uom-auth.mjs.map +1 -1
- package/.output/server/chunks/_/uom-map.mjs +6 -6
- package/.output/server/chunks/_/uom-map.mjs.map +1 -1
- package/.output/server/chunks/build/Alert-DHVVSgdD.mjs +1074 -0
- package/.output/server/chunks/build/Alert-DHVVSgdD.mjs.map +1 -0
- package/.output/server/chunks/build/{Alert-0ngTJXxP.mjs → CompletedTaskSelect-CKTpyHS3.mjs} +31 -725
- package/.output/server/chunks/build/CompletedTaskSelect-CKTpyHS3.mjs.map +1 -0
- package/.output/server/chunks/build/{PopperArrow-Bqfdf2Et.mjs → DashboardSidebarToggle-CUI9NSow.mjs} +567 -5
- package/.output/server/chunks/build/DashboardSidebarToggle-CUI9NSow.mjs.map +1 -0
- package/.output/server/chunks/build/{Empty-CkW3mADt.mjs → Empty-BGIn09cL.mjs} +2 -2
- package/.output/server/chunks/build/{Empty-CkW3mADt.mjs.map → Empty-BGIn09cL.mjs.map} +1 -1
- package/.output/server/chunks/build/{FocusScope-Cf0lg0zt.mjs → FocusScope-DNZVMnza.mjs} +2 -2
- package/.output/server/chunks/build/{FocusScope-Cf0lg0zt.mjs.map → FocusScope-DNZVMnza.mjs.map} +1 -1
- package/.output/server/chunks/build/{FormField-CEUZHcv7.mjs → FormField-DnJWfrKE.mjs} +2 -2
- package/.output/server/chunks/build/{FormField-CEUZHcv7.mjs.map → FormField-DnJWfrKE.mjs.map} +1 -1
- package/.output/server/chunks/build/{Input-BeNavYXb.mjs → Input-AdlINKtJ.mjs} +1 -1
- package/.output/server/chunks/build/{Input-BeNavYXb.mjs.map → Input-AdlINKtJ.mjs.map} +1 -1
- package/.output/server/chunks/build/{MapBaseLayerTabs-4445J6yh.mjs → MapBaseLayerTabs-CRl5Zwlr.mjs} +15 -9
- package/.output/server/chunks/build/{MapBaseLayerTabs-4445J6yh.mjs.map → MapBaseLayerTabs-CRl5Zwlr.mjs.map} +1 -1
- package/.output/server/chunks/build/{Modal-DNZtVxca.mjs → Modal-CozaqIp1.mjs} +13 -5
- package/.output/server/chunks/build/{Modal-DNZtVxca.mjs.map → Modal-CozaqIp1.mjs.map} +1 -1
- package/.output/server/chunks/build/{OnlineMap-CKwiuqUY.mjs → OnlineMap-cFSicmkV.mjs} +1 -1
- package/.output/server/chunks/build/{OnlineMap-CKwiuqUY.mjs.map → OnlineMap-cFSicmkV.mjs.map} +1 -1
- package/.output/server/chunks/build/{Pagination-CDHx4HTZ.mjs → Pagination-GvNCxmOW.mjs} +1 -1
- package/.output/server/chunks/build/{Pagination-CDHx4HTZ.mjs.map → Pagination-GvNCxmOW.mjs.map} +1 -1
- package/.output/server/chunks/build/{Slider-D-n8Y0CX.mjs → Slider-zQx1c7hB.mjs} +10 -25
- package/.output/server/chunks/build/Slider-zQx1c7hB.mjs.map +1 -0
- package/.output/server/chunks/build/{Tooltip-CkpSktvJ.mjs → Tooltip-DNUdH4oF.mjs} +3 -4
- package/.output/server/chunks/build/{Tooltip-CkpSktvJ.mjs.map → Tooltip-DNUdH4oF.mjs.map} +1 -1
- package/.output/server/chunks/build/{advanced-D1onodoF.mjs → advanced-5ZGMUBqC.mjs} +17 -18
- package/.output/server/chunks/build/advanced-5ZGMUBqC.mjs.map +1 -0
- package/.output/server/chunks/build/clamp-CdZXprXk.mjs +65 -0
- package/.output/server/chunks/build/clamp-CdZXprXk.mjs.map +1 -0
- package/.output/server/chunks/build/{compare-DmSAW8oA.mjs → compare-CtgF4Anj.mjs} +17 -17
- package/.output/server/chunks/build/{compare-DmSAW8oA.mjs.map → compare-CtgF4Anj.mjs.map} +1 -1
- package/.output/server/chunks/build/{dashboard-BJxrZ19n.mjs → dashboard-GneN-WPG.mjs} +25 -10
- package/.output/server/chunks/build/{dashboard-BJxrZ19n.mjs.map → dashboard-GneN-WPG.mjs.map} +1 -1
- package/.output/server/chunks/build/{details-CBMqXYyo.mjs → details-CgufnL1d.mjs} +4 -4
- package/.output/server/chunks/build/{details-CBMqXYyo.mjs.map → details-CgufnL1d.mjs.map} +1 -1
- package/.output/server/chunks/build/error-404-D9aQjJRn.mjs +1 -1
- package/.output/server/chunks/build/error-500-BNyA3wrb.mjs +1 -1
- package/.output/server/chunks/build/{interval-BxUMpo78.mjs → interval-9B2MrM2e.mjs} +2 -2
- package/.output/server/chunks/build/{interval-BxUMpo78.mjs.map → interval-9B2MrM2e.mjs.map} +1 -1
- package/.output/server/chunks/build/{login-lbtjN0MV.mjs → login-Cf5EiCE4.mjs} +8 -8
- package/.output/server/chunks/build/{login-lbtjN0MV.mjs.map → login-Cf5EiCE4.mjs.map} +1 -1
- package/.output/server/chunks/build/{pages-Ba0Eixbd.mjs → pages-0c5sp_lv.mjs} +8 -9
- package/.output/server/chunks/build/pages-0c5sp_lv.mjs.map +1 -0
- package/.output/server/chunks/build/{services-DuJwjAB8.mjs → services-BB49kSpd.mjs} +16 -16
- package/.output/server/chunks/build/{services-DuJwjAB8.mjs.map → services-BB49kSpd.mjs.map} +1 -1
- package/.output/server/chunks/build/{tasks-D_Q5EDnn.mjs → tasks-Aa8PwjVL.mjs} +5 -5
- package/.output/server/chunks/build/{tasks-D_Q5EDnn.mjs.map → tasks-Aa8PwjVL.mjs.map} +1 -1
- package/.output/server/chunks/build/tasks-BRcMLuRW.mjs +6121 -0
- package/.output/server/chunks/build/tasks-BRcMLuRW.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +254 -257
- package/.output/server/chunks/routes/api/auth/login.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/send-sms.post.mjs +2 -2
- package/.output/server/chunks/routes/api/auth/send-sms.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs +2 -2
- package/.output/server/chunks/routes/api/map/base/_baseLayer/_zoom/_tileX/_tileY_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/base/status.get.mjs +24 -0
- package/.output/server/chunks/routes/api/map/base/status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/map/live/status.get.mjs +1 -1
- package/.output/server/chunks/routes/api/map/live/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs +3 -3
- package/.output/server/chunks/routes/api/map/online/_layerGroup/_zoom/_tileX/_tileY_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs +3 -3
- package/.output/server/chunks/routes/api/map/online-root/_layerGroup/_rootX/_rootY_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map-service/config.post.mjs +1 -0
- package/.output/server/chunks/routes/api/map-service/config.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map-service/file.post.mjs +4 -3
- package/.output/server/chunks/routes/api/map-service/file.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map-service/source.post.mjs +1 -0
- package/.output/server/chunks/routes/api/map-service/source.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/map-service/status.get.mjs +1 -0
- package/.output/server/chunks/routes/api/map-service/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs +4 -3
- package/.output/server/chunks/routes/api/workspace/_filename/analysis.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workspace/_filename/download.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs +11 -4
- package/.output/server/chunks/routes/api/workspace/_filename/export/_format_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/export-estimate.get.mjs +39 -0
- package/.output/server/chunks/routes/api/workspace/_filename/export-estimate.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs +3 -2
- package/.output/server/chunks/routes/api/workspace/_filename/tile.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs +2 -1
- package/.output/server/chunks/routes/api/workspace/_filename/tiles.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/workspace/_filename_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workspace/compare/batch.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/compare.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workspace/compare.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/fetch.post.mjs +1 -0
- package/.output/server/chunks/routes/api/workspace/fetch.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/files.get.mjs +1 -0
- package/.output/server/chunks/routes/api/workspace/files.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/files.post.mjs +4 -3
- package/.output/server/chunks/routes/api/workspace/files.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/stop.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workspace/stop.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workspace/tasks.post.mjs +2 -1
- package/.output/server/chunks/routes/api/workspace/tasks.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/routes/services/wms.get.mjs +3 -2
- package/.output/server/chunks/routes/services/wms.get.mjs.map +1 -1
- package/.output/server/chunks/routes/services/wmts.get.mjs +3 -2
- package/.output/server/chunks/routes/services/wmts.get.mjs.map +1 -1
- package/.output/server/chunks/virtual/entry.mjs +149 -149
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/chunks/virtual/styles.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README.md +7 -1
- package/dist/package.json +68 -0
- package/dist/shared/export.js +4 -0
- package/dist/shared/types/export.js +1 -0
- package/dist/src/cli.js +20 -3
- package/dist/src/config.js +2 -0
- package/dist/src/core/grid-renderer.js +29 -15
- package/dist/src/core/png.js +59 -6
- package/dist/src/core/shell.js +37 -0
- package/dist/src/core/uomtiles.js +98 -14
- package/package.json +1 -1
- package/.output/public/_nuxt/1d1PDhA4.js +0 -1
- package/.output/public/_nuxt/981KwFWf.js +0 -1
- package/.output/public/_nuxt/B30dSvM4.js +0 -1
- package/.output/public/_nuxt/BRkljK8J.js +0 -1
- package/.output/public/_nuxt/B_MqTg2k2.js +0 -1
- package/.output/public/_nuxt/BrPwntMr.js +0 -1
- package/.output/public/_nuxt/BskybydR.js +0 -1
- package/.output/public/_nuxt/C7HxHbxA.js +0 -1
- package/.output/public/_nuxt/CPuhwLY1.js +0 -1
- package/.output/public/_nuxt/Ce26t8_Y.js +0 -1
- package/.output/public/_nuxt/CfW544W5.js +0 -1
- package/.output/public/_nuxt/D1wVNWS0.js +0 -1
- package/.output/public/_nuxt/Dz7VMlHR.js +0 -1
- package/.output/public/_nuxt/NL65vbjG2.js +0 -1
- package/.output/public/_nuxt/Pik8or8N2.js +0 -1
- package/.output/public/_nuxt/XZ59tThl.js +0 -1
- package/.output/public/_nuxt/ZpWjFsgV.js +0 -1
- package/.output/public/_nuxt/builds/meta/9f85104e-738d-4a74-8daa-40b136ce17d5.json +0 -1
- package/.output/public/_nuxt/dXz6dFgW2.js +0 -1
- package/.output/public/_nuxt/entry.P6tFNE31.css +0 -1
- package/.output/public/_nuxt/j0MRD-c3.js +0 -1
- package/.output/public/_nuxt/zZ1EGR7Y.js +0 -1
- package/.output/server/chunks/build/Alert-0ngTJXxP.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs +0 -569
- package/.output/server/chunks/build/DashboardSidebarToggle-pncTaIJq.mjs.map +0 -1
- package/.output/server/chunks/build/PopperArrow-Bqfdf2Et.mjs.map +0 -1
- package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs +0 -379
- package/.output/server/chunks/build/ScrollArea-BQK3em8b.mjs.map +0 -1
- package/.output/server/chunks/build/Slider-D-n8Y0CX.mjs.map +0 -1
- package/.output/server/chunks/build/advanced-D1onodoF.mjs.map +0 -1
- package/.output/server/chunks/build/pages-Ba0Eixbd.mjs.map +0 -1
- package/.output/server/chunks/build/tasks-CyN9x492.mjs +0 -915
- package/.output/server/chunks/build/tasks-CyN9x492.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","sources":["../../../../src/core/png.ts","../../../../src/bbox.ts","../../../../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.mjs","sources":["../../../../src/core/png.ts","../../../../src/bbox.ts","../../../../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const EXPORT_MIN_ZOOM = 0;
|
|
2
|
+
const EXPORT_MAX_ZOOM = 18;
|
|
3
|
+
const DEFAULT_EXPORT_MIN_ZOOM = 0;
|
|
4
|
+
const DEFAULT_EXPORT_MAX_ZOOM = 14;
|
|
5
|
+
|
|
6
|
+
export { DEFAULT_EXPORT_MAX_ZOOM as D, EXPORT_MIN_ZOOM as E, EXPORT_MAX_ZOOM as a, DEFAULT_EXPORT_MIN_ZOOM as b };
|
|
7
|
+
//# sourceMappingURL=export.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.mjs","sources":["../../../../shared/export.ts"],"names":[],"mappings":"AAAO,MAAM,eAAA,GAAkB;AACxB,MAAM,eAAA,GAAkB;AACxB,MAAM,uBAAA,GAA0B;AAChC,MAAM,uBAAA,GAA0B;;;;"}
|
|
@@ -3,13 +3,14 @@ import { open as open$1 } from 'node:fs/promises';
|
|
|
3
3
|
import { statSync, existsSync, mkdirSync, unlinkSync, renameSync, createReadStream, mkdtempSync, rmSync, createWriteStream, chmodSync, openSync, readSync, closeSync, readdirSync } from 'node:fs';
|
|
4
4
|
import { DatabaseSync } from 'node:sqlite';
|
|
5
5
|
import { PMTiles, tileIdToZxy, bytesToHeader } from 'pmtiles';
|
|
6
|
-
import { a as encodeCanonicalMask, b as tileRangeForBBox, C as CHINA_BBOX_LL, x as xyzYToTmsY } from './config.mjs';
|
|
6
|
+
import { a as encodeCanonicalMask, b as tileRangeForBBox, C as CHINA_BBOX_LL, x as xyzYToTmsY, U as UOMTILES_VERSION, d as decodeCanonicalAlphaMask } from './config.mjs';
|
|
7
7
|
import { randomUUID } from 'node:crypto';
|
|
8
8
|
import { dirname, extname, resolve, basename, sep } from 'node:path';
|
|
9
9
|
import { hostname, tmpdir } from 'node:os';
|
|
10
10
|
import { execFile, spawn } from 'node:child_process';
|
|
11
11
|
import { pipeline } from 'node:stream/promises';
|
|
12
12
|
import { promisify } from 'node:util';
|
|
13
|
+
import { b as DEFAULT_EXPORT_MIN_ZOOM, D as DEFAULT_EXPORT_MAX_ZOOM, E as EXPORT_MIN_ZOOM, a as EXPORT_MAX_ZOOM } from './export.mjs';
|
|
13
14
|
import { s as serverDataDirectory, w as workspaceDirectory, a as accountFile } from './data-directory.mjs';
|
|
14
15
|
|
|
15
16
|
const GEOGRAPHIC_GRID_LEVEL = 18;
|
|
@@ -95,7 +96,6 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
95
96
|
const ROOT_ZOOM = 9;
|
|
96
97
|
const SOURCE_ZOOM = 12;
|
|
97
98
|
const DYNAMIC_MAX_ZOOM = 18;
|
|
98
|
-
const PUBLISH_MAX_ZOOM = 14;
|
|
99
99
|
const sourceRootSize = 256 * 2 ** (SOURCE_ZOOM - ROOT_ZOOM);
|
|
100
100
|
function decodeRectangles(value) {
|
|
101
101
|
if (value.byteLength % 8 !== 0) throw new Error("invalid grid rectangle payload");
|
|
@@ -203,27 +203,41 @@ class GeographicGridRenderer {
|
|
|
203
203
|
return;
|
|
204
204
|
}
|
|
205
205
|
const scale = 2 ** (z - SOURCE_ZOOM);
|
|
206
|
-
|
|
206
|
+
const worldMax = 2 ** z - 1;
|
|
207
|
+
const roots = [...this.roots.values()].sort((left, right) => left.x - right.x || left.y - right.y);
|
|
208
|
+
for (const root of roots) {
|
|
209
|
+
const rows = /* @__PURE__ */ new Map();
|
|
207
210
|
const sourceX0 = root.x * sourceRootSize;
|
|
208
211
|
const sourceY0 = root.y * sourceRootSize;
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
212
|
+
for (const rect of root.rects) {
|
|
213
|
+
const pixelX0 = Math.round((sourceX0 + root.xLines[rect.col0]) * scale);
|
|
214
|
+
const pixelY0 = Math.round((sourceY0 + root.yLines[rect.row0]) * scale);
|
|
215
|
+
const pixelX1 = Math.round((sourceX0 + root.xLines[rect.col1]) * scale);
|
|
216
|
+
const pixelY1 = Math.round((sourceY0 + root.yLines[rect.row1]) * scale);
|
|
217
|
+
if (pixelX0 >= pixelX1 || pixelY0 >= pixelY1) continue;
|
|
218
|
+
const x0 = Math.max(0, Math.floor(pixelX0 / 256));
|
|
219
|
+
const y0 = Math.max(0, Math.floor(pixelY0 / 256));
|
|
220
|
+
const x1 = Math.min(worldMax, Math.floor((pixelX1 - 1) / 256));
|
|
221
|
+
const y1 = Math.min(worldMax, Math.floor((pixelY1 - 1) / 256));
|
|
222
|
+
for (let tileY = y0; tileY <= y1; tileY++) {
|
|
223
|
+
const intervals = rows.get(tileY) || [];
|
|
224
|
+
intervals.push([x0, x1]);
|
|
225
|
+
rows.set(tileY, intervals);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
for (const tileY of [...rows.keys()].sort((left, right) => left - right)) {
|
|
229
|
+
const intervals = rows.get(tileY).sort((left, right) => left[0] - right[0] || left[1] - right[1]);
|
|
230
|
+
let [start, end] = intervals[0];
|
|
231
|
+
for (let index = 1; index <= intervals.length; index++) {
|
|
232
|
+
const next = intervals[index];
|
|
233
|
+
if (next && next[0] <= end + 1) {
|
|
234
|
+
end = Math.max(end, next[1]);
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
for (let tileX = start; tileX <= end; tileX++) yield { z, x: tileX, y: tileY };
|
|
238
|
+
if (next) [start, end] = next;
|
|
239
|
+
}
|
|
219
240
|
}
|
|
220
|
-
}
|
|
221
|
-
for (const coordinate of [...coordinates].sort((left, right) => {
|
|
222
|
-
const [leftX, leftY] = left.split("/").map(Number), [rightX, rightY] = right.split("/").map(Number);
|
|
223
|
-
return leftX - rightX || leftY - rightY;
|
|
224
|
-
})) {
|
|
225
|
-
const [x, y] = coordinate.split("/").map(Number);
|
|
226
|
-
yield { z, x, y };
|
|
227
241
|
}
|
|
228
242
|
}
|
|
229
243
|
}
|
|
@@ -479,6 +493,7 @@ function acquireSqliteLease(databasePath, resource, leaseMs = DEFAULT_LEASE_MS)
|
|
|
479
493
|
|
|
480
494
|
const execFileAsync = promisify(execFile);
|
|
481
495
|
const UOMTILES_SCHEMA_VERSION = 1;
|
|
496
|
+
const MIN_NONEMPTY_PNG_BYTES = 120;
|
|
482
497
|
function tables(db) {
|
|
483
498
|
return new Set(db.prepare("SELECT name FROM sqlite_master WHERE type='table'").all().map((row) => row.name));
|
|
484
499
|
}
|
|
@@ -486,6 +501,58 @@ function metadata(db) {
|
|
|
486
501
|
if (!tables(db).has("metadata")) return {};
|
|
487
502
|
return Object.fromEntries(db.prepare("SELECT name,value FROM metadata").all().map((row) => [row.name, row.value]));
|
|
488
503
|
}
|
|
504
|
+
function exportZoomRange(options = {}) {
|
|
505
|
+
var _a, _b;
|
|
506
|
+
const minZoom = (_a = options.minZoom) != null ? _a : DEFAULT_EXPORT_MIN_ZOOM;
|
|
507
|
+
const maxZoom = (_b = options.maxZoom) != null ? _b : DEFAULT_EXPORT_MAX_ZOOM;
|
|
508
|
+
if (!Number.isInteger(minZoom) || minZoom < EXPORT_MIN_ZOOM || minZoom > EXPORT_MAX_ZOOM) {
|
|
509
|
+
throw new RangeError(`\u6700\u5C0F\u5BFC\u51FA\u5C42\u7EA7\u5FC5\u987B\u662F z${EXPORT_MIN_ZOOM}\u2013z${EXPORT_MAX_ZOOM} \u7684\u6574\u6570`);
|
|
510
|
+
}
|
|
511
|
+
if (!Number.isInteger(maxZoom) || maxZoom < EXPORT_MIN_ZOOM || maxZoom > EXPORT_MAX_ZOOM) {
|
|
512
|
+
throw new RangeError(`\u6700\u5927\u5BFC\u51FA\u5C42\u7EA7\u5FC5\u987B\u662F z${EXPORT_MIN_ZOOM}\u2013z${EXPORT_MAX_ZOOM} \u7684\u6574\u6570`);
|
|
513
|
+
}
|
|
514
|
+
if (minZoom > maxZoom) throw new RangeError("\u6700\u5C0F\u5BFC\u51FA\u5C42\u7EA7\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u5BFC\u51FA\u5C42\u7EA7");
|
|
515
|
+
return { minZoom, maxZoom };
|
|
516
|
+
}
|
|
517
|
+
function projectedLevel(summary, zoom) {
|
|
518
|
+
const reencodedPngRatio = zoom <= 8 ? 0.93 : Math.max(0.58, 0.93 - (zoom - 8) * 0.075);
|
|
519
|
+
const known = new Map(summary.tiles.map((level) => [level.z, level]));
|
|
520
|
+
const exact = known.get(zoom);
|
|
521
|
+
if (exact) return {
|
|
522
|
+
tileCount: exact.count,
|
|
523
|
+
pngBytes: Math.max(exact.count * MIN_NONEMPTY_PNG_BYTES, Math.round(exact.bytes * reencodedPngRatio)),
|
|
524
|
+
tileCountExact: true
|
|
525
|
+
};
|
|
526
|
+
const levels = [...known.values()].sort((left, right) => left.z - right.z);
|
|
527
|
+
const base = levels.reduce((nearest, level) => Math.abs(level.z - zoom) < Math.abs(nearest.z - zoom) ? level : nearest, levels[0]);
|
|
528
|
+
if (!base) return { tileCount: 0, pngBytes: 0, tileCountExact: false };
|
|
529
|
+
const baseRatio = base.z <= 8 ? 0.93 : Math.max(0.58, 0.93 - (base.z - 8) * 0.075);
|
|
530
|
+
const baseAverage = Math.max(MIN_NONEMPTY_PNG_BYTES, base.bytes / Math.max(1, base.count) * baseRatio);
|
|
531
|
+
const distance = Math.abs(zoom - base.z);
|
|
532
|
+
if (zoom > base.z) {
|
|
533
|
+
const tileCount2 = Math.max(1, Math.round(base.count * 3.75 ** distance));
|
|
534
|
+
const average2 = MIN_NONEMPTY_PNG_BYTES + (baseAverage - MIN_NONEMPTY_PNG_BYTES) * 0.55 ** distance;
|
|
535
|
+
return { tileCount: tileCount2, pngBytes: Math.round(tileCount2 * average2), tileCountExact: false };
|
|
536
|
+
}
|
|
537
|
+
const tileCount = Math.max(1, Math.round(base.count / 3.5 ** distance));
|
|
538
|
+
const average = Math.min(1600, baseAverage * 1.25 ** distance);
|
|
539
|
+
return { tileCount, pngBytes: Math.round(tileCount * average), tileCountExact: false };
|
|
540
|
+
}
|
|
541
|
+
function estimateExport(source, format, options = {}) {
|
|
542
|
+
const range = exportZoomRange(options);
|
|
543
|
+
const summary = inspectUomtiles(source);
|
|
544
|
+
const levels = [];
|
|
545
|
+
let tileCount = 0;
|
|
546
|
+
let pngBytes = 0;
|
|
547
|
+
for (let zoom = range.minZoom; zoom <= range.maxZoom; zoom++) {
|
|
548
|
+
const level = projectedLevel(summary, zoom);
|
|
549
|
+
tileCount += level.tileCount;
|
|
550
|
+
pngBytes += level.pngBytes;
|
|
551
|
+
levels.push({ zoom, tileCount: level.tileCount, estimatedBytes: level.pngBytes, tileCountExact: level.tileCountExact });
|
|
552
|
+
}
|
|
553
|
+
const estimatedBytes = format === "mbtiles" ? pngBytes + tileCount * 80 + 128 * 1024 : Math.round(pngBytes * 0.82 + tileCount * 16 + 64 * 1024);
|
|
554
|
+
return { ...range, format, estimatedBytes, tileCount, levels, omitsEmptyTiles: true };
|
|
555
|
+
}
|
|
489
556
|
function initializeUomtiles(path, publisher) {
|
|
490
557
|
mkdirSync(dirname(path), { recursive: true });
|
|
491
558
|
const db = new DatabaseSync(path);
|
|
@@ -531,7 +598,7 @@ function initializeUomtiles(path, publisher) {
|
|
|
531
598
|
createdAt,
|
|
532
599
|
meta.crawl_started_at || null,
|
|
533
600
|
finishedAt,
|
|
534
|
-
|
|
601
|
+
UOMTILES_VERSION
|
|
535
602
|
);
|
|
536
603
|
}
|
|
537
604
|
const upsert = db.prepare("INSERT OR REPLACE INTO metadata(name,value) VALUES(?,?)");
|
|
@@ -570,10 +637,11 @@ function inspectUomtiles(path) {
|
|
|
570
637
|
db.close();
|
|
571
638
|
}
|
|
572
639
|
}
|
|
573
|
-
function exportMbtiles(source, target) {
|
|
574
|
-
var _a, _b;
|
|
640
|
+
function exportMbtiles(source, target, options = {}) {
|
|
641
|
+
var _a, _b, _c;
|
|
575
642
|
const input = resolve(source);
|
|
576
643
|
const output = resolve(target);
|
|
644
|
+
const range = exportZoomRange(options);
|
|
577
645
|
if (extname(output).toLowerCase() !== ".mbtiles") throw new Error("MBTiles \u8F93\u51FA\u6587\u4EF6\u5FC5\u987B\u4F7F\u7528 .mbtiles \u6269\u5C55\u540D");
|
|
578
646
|
const lock = acquireSqliteLease(input, "writer");
|
|
579
647
|
const temporary = `${output}.${process.pid}.tmp`;
|
|
@@ -581,27 +649,44 @@ function exportMbtiles(source, target) {
|
|
|
581
649
|
mkdirSync(dirname(output), { recursive: true });
|
|
582
650
|
const sourceDb = new DatabaseSync(input, { readOnly: true });
|
|
583
651
|
const outputDb = new DatabaseSync(temporary);
|
|
652
|
+
let complete = false;
|
|
584
653
|
try {
|
|
585
654
|
outputDb.exec(`PRAGMA journal_mode=OFF; PRAGMA synchronous=OFF;
|
|
586
655
|
CREATE TABLE metadata(name TEXT PRIMARY KEY,value TEXT NOT NULL);
|
|
587
656
|
CREATE TABLE tiles(zoom_level INTEGER NOT NULL,tile_column INTEGER NOT NULL,tile_row INTEGER NOT NULL,tile_data BLOB NOT NULL,
|
|
588
657
|
PRIMARY KEY(zoom_level,tile_column,tile_row));`);
|
|
589
658
|
const insertMeta = outputDb.prepare("INSERT INTO metadata(name,value) VALUES(?,?)");
|
|
590
|
-
const standard = /* @__PURE__ */ new Set(["name", "type", "version", "description", "format", "bounds", "center", "minzoom", "attribution"]);
|
|
591
659
|
const meta = metadata(sourceDb);
|
|
592
660
|
outputDb.exec("BEGIN");
|
|
593
|
-
for (const name of standard) if (meta[name]) insertMeta.run(name, meta[name]);
|
|
594
661
|
const summary = inspectUomtiles(input);
|
|
662
|
+
const bounds = meta.bounds || "73,17.5,135.5,54";
|
|
663
|
+
const [west, south, east, north] = bounds.split(",").map(Number);
|
|
664
|
+
const sourceCenter = (_a = meta.center) == null ? void 0 : _a.split(",").map(Number);
|
|
665
|
+
const centerZoom = Math.min(range.maxZoom, Math.max(range.minZoom, Number.isFinite(sourceCenter == null ? void 0 : sourceCenter[2]) ? sourceCenter[2] : 9));
|
|
666
|
+
const center = `${Number.isFinite(sourceCenter == null ? void 0 : sourceCenter[0]) ? sourceCenter[0] : (west + east) / 2},${Number.isFinite(sourceCenter == null ? void 0 : sourceCenter[1]) ? sourceCenter[1] : (south + north) / 2},${centerZoom}`;
|
|
667
|
+
const standard = {
|
|
668
|
+
name: meta.name || "UOM\u9002\u98DE\u5730\u56FE",
|
|
669
|
+
format: "png",
|
|
670
|
+
bounds,
|
|
671
|
+
center,
|
|
672
|
+
minzoom: String(range.minZoom),
|
|
673
|
+
maxzoom: String(range.maxZoom),
|
|
674
|
+
type: "overlay",
|
|
675
|
+
version: UOMTILES_VERSION,
|
|
676
|
+
description: meta.description || "UOM\u9002\u98DE\u7A7A\u57DF",
|
|
677
|
+
attribution: meta.attribution || "CAAC UOM"
|
|
678
|
+
};
|
|
679
|
+
for (const [name, value] of Object.entries(standard)) insertMeta.run(name, value);
|
|
595
680
|
insertMeta.run("uomtiles:publisher", summary.publisher || "unknown");
|
|
596
681
|
insertMeta.run("uomtiles:fetched_at", summary.finishedAt || summary.startedAt || "unknown");
|
|
597
|
-
insertMeta.run("uomtiles:source_zoom", String((
|
|
598
|
-
insertMeta.run("uomtiles:grid_level", String((
|
|
682
|
+
insertMeta.run("uomtiles:source_zoom", String((_b = summary.sourceZoom) != null ? _b : "unknown"));
|
|
683
|
+
insertMeta.run("uomtiles:grid_level", String((_c = summary.gridLevel) != null ? _c : "unknown"));
|
|
684
|
+
insertMeta.run("uomtiles:tool_version", UOMTILES_VERSION);
|
|
599
685
|
const renderer = new GeographicGridRenderer(input);
|
|
600
|
-
insertMeta.run("maxzoom", String(renderer.available ? PUBLISH_MAX_ZOOM : Math.max(0, ...summary.tiles.map((tile) => tile.z))));
|
|
601
686
|
const insertTile = outputDb.prepare("INSERT INTO tiles VALUES(?,?,?,?)");
|
|
602
687
|
let copied = 0;
|
|
603
688
|
if (renderer.available) {
|
|
604
|
-
for (let z =
|
|
689
|
+
for (let z = range.minZoom; z <= range.maxZoom; z++) for (const coordinate of renderer.contentCoordinates(z)) {
|
|
605
690
|
const tile = renderer.renderTile(z, coordinate.x, coordinate.y);
|
|
606
691
|
if (!tile) continue;
|
|
607
692
|
insertTile.run(z, coordinate.x, xyzYToTmsY(z, coordinate.y), tile);
|
|
@@ -609,7 +694,9 @@ function exportMbtiles(source, target) {
|
|
|
609
694
|
if (copied % 1e3 === 0) lock.heartbeat();
|
|
610
695
|
}
|
|
611
696
|
} else {
|
|
612
|
-
for (const row of sourceDb.prepare(
|
|
697
|
+
for (const row of sourceDb.prepare(`SELECT zoom_level,tile_column,tile_row,tile_data FROM tiles
|
|
698
|
+
WHERE zoom_level BETWEEN ? AND ? ORDER BY zoom_level,tile_column,tile_row`).iterate(range.minZoom, range.maxZoom)) {
|
|
699
|
+
if (!decodeCanonicalAlphaMask(row.tile_data, 256).some(Boolean)) continue;
|
|
613
700
|
insertTile.run(row.zoom_level, row.tile_column, row.tile_row, row.tile_data);
|
|
614
701
|
copied++;
|
|
615
702
|
if (copied % 1e3 === 0) lock.heartbeat();
|
|
@@ -617,7 +704,8 @@ function exportMbtiles(source, target) {
|
|
|
617
704
|
}
|
|
618
705
|
lock.heartbeat();
|
|
619
706
|
outputDb.exec("COMMIT");
|
|
620
|
-
outputDb.exec("
|
|
707
|
+
outputDb.exec("PRAGMA optimize;");
|
|
708
|
+
complete = true;
|
|
621
709
|
} catch (error) {
|
|
622
710
|
try {
|
|
623
711
|
outputDb.exec("ROLLBACK");
|
|
@@ -628,21 +716,23 @@ function exportMbtiles(source, target) {
|
|
|
628
716
|
outputDb.close();
|
|
629
717
|
sourceDb.close();
|
|
630
718
|
lock.release();
|
|
719
|
+
if (!complete && existsSync(temporary)) unlinkSync(temporary);
|
|
631
720
|
}
|
|
632
721
|
if (existsSync(output)) unlinkSync(output);
|
|
633
722
|
renameSync(temporary, output);
|
|
634
723
|
return inspectUomtiles(output);
|
|
635
724
|
}
|
|
636
|
-
async function exportTiles(source, target,
|
|
725
|
+
async function exportTiles(source, target, options = {}) {
|
|
637
726
|
const extension = extname(target).toLowerCase();
|
|
638
727
|
if (extension === ".mbtiles") {
|
|
639
|
-
exportMbtiles(source, target);
|
|
728
|
+
exportMbtiles(source, target, options);
|
|
640
729
|
return;
|
|
641
730
|
}
|
|
642
731
|
if (extension !== ".pmtiles") throw new Error("\u8F93\u51FA\u6587\u4EF6\u5FC5\u987B\u4F7F\u7528 .mbtiles \u6216 .pmtiles \u6269\u5C55\u540D");
|
|
643
732
|
const intermediate = `${resolve(target)}.${process.pid}.mbtiles`;
|
|
733
|
+
const pmtilesCommand = options.pmtilesCommand || process.env.UOMTILES_PMTILES_COMMAND || "pmtiles";
|
|
644
734
|
try {
|
|
645
|
-
exportMbtiles(source, intermediate);
|
|
735
|
+
exportMbtiles(source, intermediate, options);
|
|
646
736
|
await execFileAsync(pmtilesCommand, ["convert", intermediate, resolve(target), "--force", "--quiet"], { timeout: 30 * 6e4 });
|
|
647
737
|
} catch (error) {
|
|
648
738
|
if ((error == null ? void 0 : error.code) === "ENOENT") throw new Error(`\u627E\u4E0D\u5230 ${pmtilesCommand}\uFF1B\u8BF7\u5B89\u88C5 Protomaps pmtiles CLI \u6216\u8BBE\u7F6E UOMTILES_PMTILES_COMMAND`);
|
|
@@ -695,10 +785,10 @@ function removeOrphanWorkspaceSidecars(directory) {
|
|
|
695
785
|
function cleanWorkspaceFilename(filename) {
|
|
696
786
|
const candidate = filename.trim();
|
|
697
787
|
if (!candidate || basename(candidate) !== candidate || candidate.includes("/") || candidate.includes("\\") || candidate.includes("\0")) {
|
|
698
|
-
throw createError({ statusCode: 400,
|
|
788
|
+
throw createError({ statusCode: 400, message: "\u6587\u4EF6\u540D\u4E0D\u5408\u6CD5" });
|
|
699
789
|
}
|
|
700
790
|
const clean = candidate.replace(/[^a-zA-Z0-9._\u4e00-\u9fff-]+/g, "_");
|
|
701
|
-
if (!clean || clean === "." || clean === "..") throw createError({ statusCode: 400,
|
|
791
|
+
if (!clean || clean === "." || clean === "..") throw createError({ statusCode: 400, message: "\u6587\u4EF6\u540D\u4E0D\u5408\u6CD5" });
|
|
702
792
|
return clean;
|
|
703
793
|
}
|
|
704
794
|
function entries() {
|
|
@@ -711,20 +801,20 @@ function safeFilename(filename) {
|
|
|
711
801
|
try {
|
|
712
802
|
candidate = decodeURIComponent(filename);
|
|
713
803
|
} catch {
|
|
714
|
-
throw createError({ statusCode: 400,
|
|
804
|
+
throw createError({ statusCode: 400, message: "\u5DE5\u4F5C\u533A\u6587\u4EF6\u540D\u7F16\u7801\u4E0D\u5408\u6CD5" });
|
|
715
805
|
}
|
|
716
806
|
if (!candidate || candidate === "." || candidate === ".." || basename(candidate) !== candidate || candidate.includes("\\") || candidate.includes("\0")) {
|
|
717
|
-
throw createError({ statusCode: 400,
|
|
807
|
+
throw createError({ statusCode: 400, message: "\u5DE5\u4F5C\u533A\u6587\u4EF6\u540D\u4E0D\u5408\u6CD5" });
|
|
718
808
|
}
|
|
719
809
|
const workspaceRoot = root();
|
|
720
810
|
const target = resolve(workspaceRoot, candidate);
|
|
721
|
-
if (!target.startsWith(`${workspaceRoot}${sep}`)) throw createError({ statusCode: 400,
|
|
811
|
+
if (!target.startsWith(`${workspaceRoot}${sep}`)) throw createError({ statusCode: 400, message: "\u5DE5\u4F5C\u533A\u6587\u4EF6\u8DEF\u5F84\u4E0D\u5408\u6CD5" });
|
|
722
812
|
return candidate;
|
|
723
813
|
}
|
|
724
814
|
function resolveWorkspaceFile(filename) {
|
|
725
815
|
const candidate = safeFilename(filename);
|
|
726
816
|
const found = entries().find((entry) => entry.filename === candidate);
|
|
727
|
-
if (!found) throw createError({ statusCode: 404,
|
|
817
|
+
if (!found) throw createError({ statusCode: 404, message: "\u5DE5\u4F5C\u533A\u6587\u4EF6\u4E0D\u5B58\u5728" });
|
|
728
818
|
return found;
|
|
729
819
|
}
|
|
730
820
|
function validateTileFile(path, kind) {
|
|
@@ -777,17 +867,17 @@ function listWorkspaceFiles() {
|
|
|
777
867
|
async function importWorkspaceFile(filename, input) {
|
|
778
868
|
const clean = cleanWorkspaceFilename(filename);
|
|
779
869
|
const extension = extname(clean).slice(1).toLowerCase();
|
|
780
|
-
if (extension !== "uomtiles") throw createError({ statusCode: 400,
|
|
870
|
+
if (extension !== "uomtiles") throw createError({ statusCode: 400, message: "\u5DE5\u4F5C\u533A\u4EC5\u652F\u6301 .uomtiles \u4EFB\u52A1\u6587\u4EF6" });
|
|
781
871
|
const target = resolve(root(), clean);
|
|
782
|
-
if (entries().some((entry) => entry.filename.toLocaleLowerCase() === clean.toLocaleLowerCase())) throw createError({ statusCode: 409,
|
|
872
|
+
if (entries().some((entry) => entry.filename.toLocaleLowerCase() === clean.toLocaleLowerCase())) throw createError({ statusCode: 409, message: "\u5DE5\u4F5C\u533A\u4E2D\u5DF2\u5B58\u5728\u540C\u540D\u6587\u4EF6" });
|
|
783
873
|
const temporary = `${target}.${process.pid}.${randomUUID()}.tmp`;
|
|
784
874
|
try {
|
|
785
875
|
await pipeline(input, createWriteStream(temporary, { flags: "wx", mode: 384 }));
|
|
786
|
-
if (statSync(temporary).size === 0) throw createError({ statusCode: 400,
|
|
876
|
+
if (statSync(temporary).size === 0) throw createError({ statusCode: 400, message: "\u6587\u4EF6\u4E3A\u7A7A" });
|
|
787
877
|
try {
|
|
788
878
|
validateTileFile(temporary, "uomtiles");
|
|
789
879
|
} catch (error) {
|
|
790
|
-
throw createError({ statusCode: 400,
|
|
880
|
+
throw createError({ statusCode: 400, message: `\u6587\u4EF6\u683C\u5F0F\u65E0\u6548\uFF1A${error instanceof Error ? error.message : String(error)}` });
|
|
791
881
|
}
|
|
792
882
|
renameSync(temporary, target);
|
|
793
883
|
} catch (error) {
|
|
@@ -800,14 +890,14 @@ function createWorkspaceTask(filename, publisher) {
|
|
|
800
890
|
const clean = cleanWorkspaceFilename(filename);
|
|
801
891
|
const extension = extname(clean);
|
|
802
892
|
if (extension && extension.toLowerCase() !== ".uomtiles" || clean === ".uomtiles") {
|
|
803
|
-
throw createError({ statusCode: 400,
|
|
893
|
+
throw createError({ statusCode: 400, message: "\u4EFB\u52A1\u6587\u4EF6\u5FC5\u987B\u4F7F\u7528 .uomtiles \u6269\u5C55\u540D" });
|
|
804
894
|
}
|
|
805
895
|
const name = extension ? `${clean.slice(0, -extension.length)}.uomtiles` : `${clean}.uomtiles`;
|
|
806
896
|
if (entries().some((entry) => entry.filename.toLocaleLowerCase() === name.toLocaleLowerCase())) {
|
|
807
|
-
throw createError({ statusCode: 409,
|
|
897
|
+
throw createError({ statusCode: 409, message: "\u540C\u540D\u4EFB\u52A1\u6587\u4EF6\u5DF2\u5B58\u5728" });
|
|
808
898
|
}
|
|
809
899
|
const storedName = name;
|
|
810
|
-
if (existsSync(resolve(root(), storedName))) throw createError({ statusCode: 409,
|
|
900
|
+
if (existsSync(resolve(root(), storedName))) throw createError({ statusCode: 409, message: "\u5DE5\u4F5C\u533A\u4E2D\u5DF2\u5B58\u5728\u540C\u540D\u6587\u4EF6" });
|
|
811
901
|
const target = resolve(root(), storedName);
|
|
812
902
|
const temporary = `${target}.${process.pid}.${randomUUID()}.tmp`;
|
|
813
903
|
try {
|
|
@@ -821,10 +911,10 @@ function createWorkspaceTask(filename, publisher) {
|
|
|
821
911
|
return listWorkspaceFiles().find((entry) => entry.filename === storedName);
|
|
822
912
|
}
|
|
823
913
|
function deleteWorkspaceFile(filename) {
|
|
824
|
-
if (workers.has(filename)) throw createError({ statusCode: 409,
|
|
914
|
+
if (workers.has(filename)) throw createError({ statusCode: 409, message: "\u4E0B\u8F7D\u4E2D\u7684\u4EFB\u52A1\u4E0D\u80FD\u5220\u9664\uFF0C\u8BF7\u5148\u505C\u6B62\u4E0B\u8F7D" });
|
|
825
915
|
const file = resolveWorkspaceFile(filename);
|
|
826
|
-
if (file.kind !== "uomtiles") throw createError({ statusCode: 400,
|
|
827
|
-
if (hasActiveSqliteLease(file.path, "writer")) throw createError({ statusCode: 409,
|
|
916
|
+
if (file.kind !== "uomtiles") throw createError({ statusCode: 400, message: "\u53EA\u80FD\u5220\u9664\u5730\u56FE\u4E0B\u8F7D\u4EFB\u52A1" });
|
|
917
|
+
if (hasActiveSqliteLease(file.path, "writer")) throw createError({ statusCode: 409, message: "\u4EFB\u52A1\u6B63\u5728\u88AB\u5176\u4ED6\u8FDB\u7A0B\u4F7F\u7528\uFF0C\u6682\u65F6\u4E0D\u80FD\u5220\u9664" });
|
|
828
918
|
unlinkSync(file.path);
|
|
829
919
|
for (const suffix of ["-wal", "-shm"]) {
|
|
830
920
|
const sidecar = `${file.path}${suffix}`;
|
|
@@ -833,16 +923,16 @@ function deleteWorkspaceFile(filename) {
|
|
|
833
923
|
}
|
|
834
924
|
function startWorkspaceFetch(filename) {
|
|
835
925
|
const file = resolveWorkspaceFile(filename);
|
|
836
|
-
if (file.kind !== "uomtiles") throw createError({ statusCode: 400,
|
|
926
|
+
if (file.kind !== "uomtiles") throw createError({ statusCode: 400, message: "\u53EA\u6709 .uomtiles \u652F\u6301\u6293\u53D6\u548C\u65AD\u70B9\u7EED\u4F20" });
|
|
837
927
|
if (hasActiveSqliteLease(file.path, "writer") || workers.has(file.filename)) {
|
|
838
|
-
throw createError({ statusCode: 409,
|
|
928
|
+
throw createError({ statusCode: 409, message: "\u8BE5\u4EFB\u52A1\u6B63\u5728\u4E0B\u8F7D" });
|
|
839
929
|
}
|
|
840
|
-
if (!existsSync(authPath())) throw createError({ statusCode: 401,
|
|
930
|
+
if (!existsSync(authPath())) throw createError({ statusCode: 401, message: "\u8BF7\u5148\u767B\u5F55 UOM" });
|
|
841
931
|
let spec;
|
|
842
932
|
try {
|
|
843
933
|
spec = decodeFetchProcess(process.env[FETCH_PROCESS_ENV]);
|
|
844
934
|
} catch (error) {
|
|
845
|
-
throw createError({ statusCode: 500,
|
|
935
|
+
throw createError({ statusCode: 500, message: error instanceof Error ? error.message : String(error) });
|
|
846
936
|
}
|
|
847
937
|
const child = spawn(spec.command, spec.args, {
|
|
848
938
|
cwd: process.cwd(),
|
|
@@ -881,13 +971,18 @@ function stopWorkspaceFetch(filename) {
|
|
|
881
971
|
}
|
|
882
972
|
return listWorkspaceFiles();
|
|
883
973
|
}
|
|
884
|
-
|
|
974
|
+
function estimateWorkspaceExport(filename, format, range) {
|
|
975
|
+
const file = resolveWorkspaceFile(filename);
|
|
976
|
+
if (file.kind !== "uomtiles") throw createError({ statusCode: 400, message: "\u4EC5 .uomtiles \u53EF\u5BFC\u51FA" });
|
|
977
|
+
return estimateExport(file.path, format, range);
|
|
978
|
+
}
|
|
979
|
+
async function ensureWorkspaceExport(filename, format, range) {
|
|
885
980
|
const file = resolveWorkspaceFile(filename);
|
|
886
|
-
if (file.kind !== "uomtiles") throw createError({ statusCode: 400,
|
|
981
|
+
if (file.kind !== "uomtiles") throw createError({ statusCode: 400, message: "\u4EC5 .uomtiles \u53EF\u5BFC\u51FA" });
|
|
887
982
|
const directory = mkdtempSync(resolve(tmpdir(), "uomtiles-export-"));
|
|
888
983
|
const output = resolve(directory, `${file.filename.replace(/\.uomtiles$/i, "")}.${format}`);
|
|
889
984
|
try {
|
|
890
|
-
await exportTiles(file.path, output, String(useRuntimeConfig().pmtilesCommand || "pmtiles"));
|
|
985
|
+
await exportTiles(file.path, output, { ...range, pmtilesCommand: String(useRuntimeConfig().pmtilesCommand || "pmtiles") });
|
|
891
986
|
return output;
|
|
892
987
|
} catch (error) {
|
|
893
988
|
rmSync(directory, { recursive: true, force: true });
|
|
@@ -906,5 +1001,5 @@ function workspaceReadStream(filename) {
|
|
|
906
1001
|
return { file, stream: createReadStream(file.path) };
|
|
907
1002
|
}
|
|
908
1003
|
|
|
909
|
-
export {
|
|
1004
|
+
export { ensureWorkspaceExport as a, workspaceTileProgress as b, readWorkspaceTile as c, deleteWorkspaceFile as d, estimateWorkspaceExport as e, readTileFiles as f, tileFileCoordinates as g, stopWorkspaceFetch as h, importWorkspaceFile as i, createWorkspaceTask as j, cleanWorkspaceFilename as k, listWorkspaceFiles as l, hasActiveSqliteLease as m, resolveWorkspaceFile as r, startWorkspaceFetch as s, tileFileCoordinatesAtZoom as t, validateTileFile as v, workspaceReadStream as w };
|
|
910
1005
|
//# sourceMappingURL=file-workspace.mjs.map
|