test 4
This commit is contained in:
parent
616717db93
commit
88b8554dbe
3 changed files with 15 additions and 16 deletions
9
package-lock.json
generated
9
package-lock.json
generated
|
@ -32,6 +32,7 @@
|
|||
"morgan": "1.10.0",
|
||||
"pbf": "4.0.1",
|
||||
"pmtiles": "3.0.7",
|
||||
"pngjs": "^7.0.0",
|
||||
"proj4": "2.12.1",
|
||||
"sanitize-filename": "1.6.3",
|
||||
"sharp": "0.33.5",
|
||||
|
@ -6622,6 +6623,14 @@
|
|||
"fflate": "^0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pngjs": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz",
|
||||
"integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==",
|
||||
"engines": {
|
||||
"node": ">=14.19.0"
|
||||
}
|
||||
},
|
||||
"node_modules/prelude-ls": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
"morgan": "1.10.0",
|
||||
"pbf": "4.0.1",
|
||||
"pmtiles": "3.0.7",
|
||||
"pngjs": "^7.0.0",
|
||||
"proj4": "2.12.1",
|
||||
"sanitize-filename": "1.6.3",
|
||||
"sharp": "0.33.5",
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import sharp from 'sharp';
|
||||
import mlcontour from '../node_modules/maplibre-contour/dist/index.mjs';
|
||||
import { getPMtilesTile } from './pmtiles_adapter.js';
|
||||
import { PNG } from 'pngjs';
|
||||
|
||||
/**
|
||||
* Manages local DEM (Digital Elevation Model) data using maplibre-contour.
|
||||
|
@ -60,27 +61,15 @@ export class LocalDemManager {
|
|||
*/
|
||||
async getImageData(blob, abortController) {
|
||||
try {
|
||||
if (Boolean(abortController?.signal?.aborted)) return null;
|
||||
|
||||
const buffer = await blob.arrayBuffer();
|
||||
const image = sharp(Buffer.from(buffer));
|
||||
await image.metadata();
|
||||
|
||||
if (Boolean(abortController?.signal?.aborted)) return null;
|
||||
|
||||
const { data, info } = await image
|
||||
.raw()
|
||||
.toBuffer({ resolveWithObject: true });
|
||||
if (Boolean(abortController?.signal?.aborted)) return null;
|
||||
|
||||
const png = PNG.sync.read(Buffer.from(buffer));
|
||||
const parsed = mlcontour.decodeParsedImage(
|
||||
info.width,
|
||||
info.height,
|
||||
png.width,
|
||||
png.height,
|
||||
this.encoding,
|
||||
data,
|
||||
png.data,
|
||||
);
|
||||
if (Boolean(abortController?.signal?.aborted)) return null;
|
||||
|
||||
return parsed;
|
||||
} catch (error) {
|
||||
console.error('Error processing image:', error);
|
||||
|
|
Loading…
Reference in a new issue