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

2UP memory crash op /Preprocessing/Urban/Population_R2023_Create/Y1975/big_raster/GridData_wo_NoData wegens JenksFischer en vervolgens classify (en dan count op resultaat) die de 64GPix * 8Byte/Pix = 512 GB laat vasthouden. #372

Closed
MaartenHilferink opened this issue Jul 27, 2023 · 4 comments

Comments

@MaartenHilferink
Copy link
Collaborator

MaartenHilferink commented Jul 27, 2023

Oplossingsrichtingen:

  • JenksFisher op instelbaar maximum aantal elementen laten bepalen (default: 5000 conform qGis, in te stellen bij GuiOptions)
  • (default) geen count kolom toevoegen; te overrulen bij GuiOptions
  • per expressie instellen of FutureTileFunctor (i.g.v. KeepData ? ) of LazyTileFunctor gebruikt moet worden.

n.b.:

Image

@MaartenHilferink
Copy link
Collaborator Author

LazyCalculation wordt als property toegevoegd om big_raster/GridData_wo_NoData snel zonder veel geheugengebruik te kunnen opvragen in MapView.

@jipclaassens
Copy link
Member

same issue #338

MaartenHilferink added a commit that referenced this issue Jul 28, 2023
@MaartenHilferink
Copy link
Collaborator Author

MaartenHilferink commented Jul 28, 2023

image

Now, data is read and displayed in 00:01:52.

image

@MaartenHilferink
Copy link
Collaborator Author

MaartenHilferink commented Jul 28, 2023

Note that the LazyCalculated property only affects the final calculation operation of the calculation rule for an item with that property, thus for:

attribute<float32> D := (A+B)+C, LazyCalculated = "True";

D will be calculated lazily, but A+B will be calculated as FutureTileFunctor, thus retaining intermediate results as the LazyTileFunctor for D can continue to request the same tiles as long as it is active. To avoid the related memory consumption, define (A+B) explicitly as a LazyCalculated intermediate result, thus:

  attribute<float32> intermediate := A+B, LazyCalculated = "True";
  attribute<float32> D := intermediate+C, LazyCalculated = "True";

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