Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tile cache probably never enabled, likely discarded if it was, and abort signal passed to options argument #382

Open
jcphill opened this issue Aug 2, 2023 · 2 comments

Comments

@jcphill
Copy link
Contributor

jcphill commented Aug 2, 2023

The GeoTIFFImage constructor is passed this.cache by GeoTIFF.getImage(),
which is set in the GeoTIFF constructor based its options argument,
which is passed through by fromSource(),
but which is not passed through by fromUrl(), fromCustomClient(), or fromUrls()
as they pass their options argument only to makeRemoteSource() or makeCustomSource()
and actually pass their signal argument as the second (options) argument of fromSource()
so the signal argument isn't doing anything either.

It is possible to set cache=true on a GeoTIFF object after construction.
But GeoTIFF.getImage() creates a new GeoTIFFImage object with an empty tile cache on every call
and GeoTIFF.readRasters() doesn't re-use images
so the cached tiles are are never accessed anyway.

@sguimmara
Copy link
Contributor

The fix should be pretty simple:

export async function fromCustomClient(client, options = {}, signal) {
-  return GeoTIFF.fromSource(makeCustomSource(client, options), signal);
+  return GeoTIFF.fromSource(makeCustomSource(client, options), options, signal);
}

@sguimmara
Copy link
Contributor

I think it is a duplicate of #330

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants