forked from MapComplete/MapComplete
Update pmtiles extraction script
This commit is contained in:
parent
133fd6594b
commit
1f53e7b817
1 changed files with 16 additions and 4 deletions
|
@ -1,10 +1,10 @@
|
|||
import Script from "./Script"
|
||||
import { Tiles } from "../src/Models/TileRange"
|
||||
import { OfflineBasemapManager } from "../src/service-worker/OfflineBasemapManager"
|
||||
|
||||
import { spawn } from "child_process"
|
||||
import { existsSync } from "fs"
|
||||
import { existsSync, mkdirSync, writeFileSync } from "fs"
|
||||
import { Utils } from "../src/Utils"
|
||||
import { OfflineBasemapManager } from "../src/Logic/OfflineBasemapManager"
|
||||
|
||||
class GeneratePmTilesExtracts extends Script {
|
||||
private targetDir: string
|
||||
|
@ -79,6 +79,9 @@ class GeneratePmTilesExtracts extends Script {
|
|||
const boundary = 2 << (z - 1)
|
||||
|
||||
for (let x = 0; x < boundary; x++) {
|
||||
if (!existsSync(z + "/" + x)) {
|
||||
mkdirSync(z + "/" + x)
|
||||
}
|
||||
for (const promise of this.generateColumnIfNeeded(z, x, boundary, maxzoom)) {
|
||||
yield promise
|
||||
}
|
||||
|
@ -86,7 +89,7 @@ class GeneratePmTilesExtracts extends Script {
|
|||
}
|
||||
|
||||
private getFilename(z: number, x: number, y: number) {
|
||||
return `${z}-${x}-${y}.pmtiles`
|
||||
return `${z}/${x}/${y}.pmtiles`
|
||||
}
|
||||
|
||||
private *generateAll(): Generator<Promise<void>> {
|
||||
|
@ -94,6 +97,9 @@ class GeneratePmTilesExtracts extends Script {
|
|||
for (const key in zoomlevels) {
|
||||
const minzoom: number = Number(key)
|
||||
const maxzoom: number | undefined = zoomlevels[key]
|
||||
if (!existsSync("" + key)) {
|
||||
mkdirSync("" + key)
|
||||
}
|
||||
for (const promise of this.generateField(minzoom, maxzoom)) {
|
||||
yield promise
|
||||
}
|
||||
|
@ -125,7 +131,7 @@ class GeneratePmTilesExtracts extends Script {
|
|||
estimate += boundary * boundary
|
||||
}
|
||||
console.log("Target dir is:", this.targetDir)
|
||||
const numberOfThreads = 512
|
||||
const numberOfThreads = 24
|
||||
const generator = this.generateAll()
|
||||
let batch: Promise<void>[] = []
|
||||
let done = 0
|
||||
|
@ -149,6 +155,12 @@ class GeneratePmTilesExtracts extends Script {
|
|||
)}`
|
||||
)
|
||||
} while (batch.length > 0)
|
||||
writeFileSync("Last_pm_tile_extracts.txt",
|
||||
[new Date().getTime() + "",
|
||||
new Date().toISOString(),
|
||||
"# The script converting the planet-latest.pmtiles into sub-archives has been successfully executed at the stated time",
|
||||
].join("\n"), "utf-8",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue