add path.resolve to tiles
This commit is contained in:
parent
4ece98f7e9
commit
8b85528b8a
|
@ -9,8 +9,9 @@
|
||||||
// Tile creation is allowed to be slow
|
// Tile creation is allowed to be slow
|
||||||
/* eslint-disable no-await-in-loop */
|
/* eslint-disable no-await-in-loop */
|
||||||
|
|
||||||
import sharp from 'sharp';
|
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
|
import path from 'path';
|
||||||
|
import sharp from 'sharp';
|
||||||
|
|
||||||
import RedisCanvas from '../data/redis/RedisCanvas';
|
import RedisCanvas from '../data/redis/RedisCanvas';
|
||||||
import Palette from './Palette';
|
import Palette from './Palette';
|
||||||
|
@ -241,7 +242,7 @@ function addIndexedSubtiletoTile(
|
||||||
*/
|
*/
|
||||||
function tileFileName(canvasTileFolder, cell) {
|
function tileFileName(canvasTileFolder, cell) {
|
||||||
const [z, x, y] = cell;
|
const [z, x, y] = cell;
|
||||||
const filename = `${canvasTileFolder}/${z}/${x}/${y}.webp`;
|
const filename = path.resolve(`${canvasTileFolder}/${z}/${x}/${y}.webp`);
|
||||||
try {
|
try {
|
||||||
const mtime = new Date(fs.statSync(filename).mtime).getTime();
|
const mtime = new Date(fs.statSync(filename).mtime).getTime();
|
||||||
if (Date.now() - mtime < 120000) {
|
if (Date.now() - mtime < 120000) {
|
||||||
|
@ -470,7 +471,7 @@ async function createEmptyTile(
|
||||||
// eslint-disable-next-line prefer-destructuring
|
// eslint-disable-next-line prefer-destructuring
|
||||||
tileRGBBuffer[i++] = palette.rgb[2];
|
tileRGBBuffer[i++] = palette.rgb[2];
|
||||||
}
|
}
|
||||||
const filename = `${canvasTileFolder}/emptytile.webp`;
|
const filename = path.resolve(`${canvasTileFolder}/emptytile.webp`);
|
||||||
try {
|
try {
|
||||||
await sharp(tileRGBBuffer, {
|
await sharp(tileRGBBuffer, {
|
||||||
raw: {
|
raw: {
|
||||||
|
@ -507,7 +508,7 @@ export async function createTexture(
|
||||||
// dont create textures larger than 4096
|
// dont create textures larger than 4096
|
||||||
const targetSize = Math.min(canvasSize, 4096);
|
const targetSize = Math.min(canvasSize, 4096);
|
||||||
const amount = targetSize / TILE_SIZE;
|
const amount = targetSize / TILE_SIZE;
|
||||||
const zoom = Math.log2(amount) * 2 / TILE_ZOOM_LEVEL;
|
const zoom = Math.log2(amount) * Math.log2(TILE_ZOOM_LEVEL);
|
||||||
const textureBuffer = new Uint8Array(targetSize * targetSize * 3);
|
const textureBuffer = new Uint8Array(targetSize * targetSize * 3);
|
||||||
const startTime = Date.now();
|
const startTime = Date.now();
|
||||||
|
|
||||||
|
@ -571,7 +572,7 @@ export async function createTexture(
|
||||||
deleteSubtilefromTile(TILE_SIZE, palette, amount, element, textureBuffer);
|
deleteSubtilefromTile(TILE_SIZE, palette, amount, element, textureBuffer);
|
||||||
});
|
});
|
||||||
|
|
||||||
const filename = `${canvasTileFolder}/texture.webp`;
|
const filename = path.resolve(`${canvasTileFolder}/texture.webp`);
|
||||||
try {
|
try {
|
||||||
await sharp(textureBuffer, {
|
await sharp(textureBuffer, {
|
||||||
raw: {
|
raw: {
|
||||||
|
@ -627,7 +628,9 @@ export async function initializeTiles(
|
||||||
fs.mkdirSync(tileDir);
|
fs.mkdirSync(tileDir);
|
||||||
}
|
}
|
||||||
for (let cy = 0; cy < maxBase; cy += 1) {
|
for (let cy = 0; cy < maxBase; cy += 1) {
|
||||||
const filename = `${canvasTileFolder}/${zoom}/${cx}/${cy}.webp`;
|
const filename = path.resolve(
|
||||||
|
`${canvasTileFolder}/${zoom}/${cx}/${cy}.webp`,
|
||||||
|
);
|
||||||
if (force || !fs.existsSync(filename)) {
|
if (force || !fs.existsSync(filename)) {
|
||||||
const ret = await createZoomTileFromChunk(
|
const ret = await createZoomTileFromChunk(
|
||||||
canvasId,
|
canvasId,
|
||||||
|
@ -658,7 +661,9 @@ export async function initializeTiles(
|
||||||
fs.mkdirSync(tileDir);
|
fs.mkdirSync(tileDir);
|
||||||
}
|
}
|
||||||
for (let cy = 0; cy < maxZ; cy += 1) {
|
for (let cy = 0; cy < maxZ; cy += 1) {
|
||||||
const filename = `${canvasTileFolder}/${zoom}/${cx}/${cy}.webp`;
|
const filename = path.resolve(
|
||||||
|
`${canvasTileFolder}/${zoom}/${cx}/${cy}.webp`,
|
||||||
|
);
|
||||||
if (force || !fs.existsSync(filename)) {
|
if (force || !fs.existsSync(filename)) {
|
||||||
const ret = await createZoomedTile(
|
const ret = await createZoomedTile(
|
||||||
canvas,
|
canvas,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user