delphi - Reading large binary files -


I am working on a project where I am logging some signals (1d arrays) into a binary file . I can store large amounts of data (usually several giga bytes). Now I would like to reload those files

I have two visual elements, one is called an observation and the second is just a plain Y / T chart overview users should give the idea that the whole file (large File), while the chart only shows a part of the file which is usually run, which is selected in the observation with the resettable rectangle / band.

Because the files in the memory can be very large load, therefore not optimal, so the main idea is to load into memory (maximum up to several MBs) only to load and display important data / visual data. If the user zooms on the chart, then the data needs to be reloaded with more data points from the file.

My question is how to attract the viewing component to show the whole contents of the file best (do not actually load all the samples from the file) Suppose that my files are from 10 GB Are big and I would like to give users the idea that what is in the file but I can attract the maximum. 16k samples on observation component?

Is there any way to store any extra data (such as indexing, small data chunks, images ...) during logging for loading and drawing overview components later? Currently I'm only collecting samples, but adding additional data will not be a problem. Do you have any experience with how you did it?

To get an idea of ​​what I'm doing:

Enter the image details here

You get multi-level dilution - just every Nth, n ^ Store 2th and so many samples (for example, 10, 100, 1000, 10000 ...). When the user changes the window size, select the appropriate level, which contains approximately 1,000 samples in this window, load and show these samples (1000 digits is just the appropriate number for the chart on the screen).

If your data has some characteristics, specific properties, then it is possible to implement the Polyline Simplification algorithm to set up large (level) data and preserve features.

Comments

Popular posts from this blog

Pass DB Connection parameters to a Kettle a.k.a PDI table Input step dynamically from Excel -

multithreading - PhantomJS-Node in a for Loop -

c++ - MATLAB .m file to .mex file using Matlab Compiler -