geotiff.js
    Preparing search index...

    Class Pool

    Pool for workers to decode chunks of the images.

    Constructors

    • Parameters

      • Optionalsize: number = defaultPoolSize

        The size of the pool. Defaults to the number of CPUs available. When this parameter is null or 0, then the decoding will be done in the main thread.

      • OptionalcreateWorker: () => Worker = create

        A function that creates the decoder worker. Defaults to a worker with all decoders that ship with geotiff.js. The createWorker() function is expected to return a Worker compatible with Web Workers. For code that runs in Node, web-worker is a good choice.

        A worker that uses a custom lzw decoder would look like this my-custom-worker.js file:

        import { addDecoder, getDecoder } from 'geotiff';
        addDecoder(5, () => import ('./my-custom-lzw').then((m) => m.default));
        self.addEventListener('message', async (e) => {
        const { id, fileDirectory, buffer } = e.data;
        const decoder = await getDecoder(fileDirectory);
        const decoded = await decoder.decode(fileDirectory, buffer);
        self.postMessage({ decoded, id }, [decoded]);
        });

        The way the above code is built into a worker by the createWorker() function depends on the used bundler. For most bundlers, something like this will work:

        function createWorker() {
        return new Worker(new URL('./my-custom-worker.js', import.meta.url));
        }

      Returns Pool

    Properties

    workerWrappers: Promise<WorkerWrapper[]> | null

    Methods

    • Returns Promise<void>