JSON経由のデータ転送に適した圧縮方式の選択

David
のコメントの後、私は自分の質問を修正することに決めました。元の質問は、新たに改訂された質問と同様に、以下に見出すことができます。私は、この質問がなぜ始まったのかについての歴史を持つために、オリジナルの質問を残しています。

Original Question (Setting LZMA properties for
jslzma)

私はajaxで転送する必要があるいくつかの大きなjsonファイルを持っています。私は現在jQueryと$
.getJSON()を使用しています。 jslzmaライブラリを使用して、受信時にファイルを解凍したいと考えています。現在、ファイルを圧縮するためにpylzmaライブラリでdjangoを使用しています。

唯一の問題は、jslzmaライブラリのドキュメントが不足していることです。いくつかありますが、十分ではありません。だから私はライブラリの使い方について2つの質問があります。

例としてこれを示します:

LZMA.decompress(properties, inStream, outStream, outSize);

私はinStreamとoutStream変数を設定する方法を知っていますが、プロパティ
outSize
は設定しません。だから誰でもプロパティ変数の設定方法(例:期待値)と
outSize の計算方法の例を挙げることができます

ありがとう。

Edit #1 (Revised Question)


I’m looking for a compression scheme that lends itself to highly
repeatable data using python (django) and
javascript.

転送されるデータには標高測定値が含まれています。各ファイルには1200×1200のデータポイントがあり、圧縮されていない生のバイナリフォームでは約2.75MBに相当します。
JSONはそれを5〜6MBの範囲で展開します。私はbase64を見てきました(すべての基底をカバーするだけです)。これはサイズを小さくしますが、私はjsでそれを読むのに成功しませんでした。私はデータが非常に反復可能なデータ値のために簡単な圧縮に役立つと思う。たとえば、1つのファイルには1440000のデータポイントを記述する83個の固有の標高値しかありません。

私はちょうどJavaScriptを学び始めているので、主に運がなかった。

誰でもこのタイプのデータの圧縮方式を提案できますか?目標は、データのサイズを減らすことによって転送時間を最小化することです。

ありがとう。

ベストアンサー

Javacscriptを使用してクライアント側で圧縮解除すると、かなり長い時間がかかり、クライアントのボックスの使用可能な帯域幅に大きく依存します。
rle、delta、またはgolombコードのように、より少ないが高速で簡単に解凍を実行するのはなぜでしょうか?あるいは、あなたは圧縮されたJsonsを調べたいでしょうか?

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です