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

Use ZFP for compressing discrete trajectories #2485

Merged
merged 28 commits into from
Mar 12, 2020

Conversation

pleroy
Copy link
Member

@pleroy pleroy commented Mar 8, 2020

This seems to buy us a factor 4 in size, while complying with the downsampling tolerance of 10 m.

Helps with #2400.

downsampling_.has_value() ? downsampling_->tolerance() : Length();
ZfpCompressor length_compressor(length_tolerance / Metre);
// Speeds are approximated based on the length tolerance and the average step
// in the timeline.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let us not average things over the timeline; this is meaningless (the timeline may behave completely differently at different times) and it might result in weird edge cases that are hard to find and test, e.g., an interplanetary trajectory (large Δt, thus requiring a small speed tolerance to keep the error of the Hermite interpolation in check) getting mangled by a long time spent in low orbit, or even just by a lot of dense intervals (low Δt, 10 s for dense intervals, driving the mean Δt down).

Use the max Δt.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, PTAL.

optional int32 zfp_codec_version = 7;
optional int32 zfp_library_version = 8;
optional bytes zfp_timeline = 5;
optional int32 zfp_timeline_size = 6;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These should be wrapped in a message, since they are really optional and none or all should be present.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, PTAL.

@eggrobin eggrobin added the LGTM label Mar 12, 2020
@pleroy pleroy merged commit 2be5270 into mockingbirdnest:master Mar 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants