問題タブ [data-compression]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SQL Server 2008 での気象データの保存に関する設計上の質問
SQL Server 2008 R2 Enterprise Edition を使用しています。
私たちは、MetMasts と呼ばれるものから気象データを測定しています。基本的に、これは多くの装備を備えたマストです。マストのさまざまな位置にある風速計(風速用)、温度計、気圧。私たちは毎秒測定します。
そして、あまりにも多くのディスク容量を占有します。この機器の次世代は、毎年 10 GB 以上を生成します。そして、これらの数は1000を超えます。
現在のテーブル デザインは次のようになります。
データは 1 回書き込み、何度も読み取られます。
私たちはデータウェアハウスでそれを使用しています。典型的な質問は次のとおりです。MetMast に従って、温度が 20 度を超えているときに、WindSpeedAt10m と WindSpeedAt30m の間に 2 m/s の差がある回数を数えます。
将来的には、わずかなデータ損失は許容されます。
ここでは、データの非可逆圧縮について説明しています。10% の精度で測定する場合、1% のように、フィールドごとに許容誤差を定義する必要があることはわかっています。
サウンド ファイル (MP3 は非常に大きい) で機能したので、私たちにも機能する可能性があります。
しかし、これはどのように行われますか?
どのテーブルデザインを選ぶべきですか?
データベース テーブル内のデータの非可逆圧縮を開始するにはどうすればよいですか?
よろしくお願いします、
ヘンリック・スタウン・ポールセン
c++ - テキストを入力として受け取り、そのテキストを再現するプログラムを生成するプログラムを作成する
最近、私は 1 つの素晴らしい問題に出くわしました。それは、理解するのが簡単であると同時に、解決する方法を見つけるのが難しいというものでした。問題は:
入力からテキストを読み取り、出力に他のプログラムを表示するプログラムを作成します。印刷されたプログラムをコンパイルして実行すると、元のテキストを出力する必要があります。
入力テキストはかなり大きい (10000 文字以上) と想定されています。
唯一の (そして非常に強い) 要件は、アーカイブ (つまり、印刷されたプログラム)のサイズが元のテキストのサイズより厳密に小さくなければならないということです。これにより、次のような明白な解決策が不可能になります
ここでは、いくつかのアーカイブ技術が使用されると思います。
php - 1と0の文字列をバイナリ値に変換してから圧縮する,PHP
たとえば、「10001000101010001」という文字列があります。PHP では gzcompress で圧縮していますが、同等の ASCII を圧縮しています。文字列をASCIIバイナリではなくバイナリデータであるかのように圧縮したいと思います。
基本的に私には2つの問題があります:
- 1 と 0 のリストをバイナリに変換する方法
- 結果のバイナリを gzcompress で圧縮します
前もって感謝します。
video - 可逆圧縮の結果は本当に元データですか?
知りたいのですが、データのロスレス圧縮の結果は、元のデータとビットごとに完全に一致しますか?もしそうなら、そのような圧縮の用途は何ですか.ロスレス圧縮を使用することは本当に役に立ちますか??
printing - イメージをディスクに保存する
私は 1x1 インチのパスポート写真を持っており、サイズを最小化する方法でコンピューターのディスクに保存したいと考えていますが、現実の世界に印刷することもできました。
あなたは私に何を勧めますか?前もって感謝します。
更新:この質問は画像の解像度に関するものです。
python - 測定データファイルの圧縮
測定値から、基本的に寸法が 1000x1000 の浮動小数点数のテーブルを含むテキスト ファイルを取得します。これらは約 15MB のスペースを占有します。一連の結果ファイルが約 1000 個得られることを考えると、保存するのは受け入れられません。そのため、データを失うことなく、可能な限りそれらを圧縮しようとしています。私の考えは、予想される範囲で数値を〜1000ステップにグループ化し、それらを保存することです。これで十分な解像度が得られます。ただし、まだ 1.000.000 ポイントを考慮する必要があるため、結果のファイルはまだ約 4MB です。おそらくそれ以上圧縮することはできませんか?より大きな問題は、これにかかる計算時間です。現時点では、ファイルごとに 10 ~ 12 秒と見積もっています。つまり、1000 ファイルの場合は約 3 時間です。うわぁぁぁぁぁぁぁぁぁぁぁぁ。これは私が考えたアルゴリズムですが、何か提案はありますか? そこには'
あなたが提供できるヒントを事前にありがとう!ヤコブ
python - Python/numpy でのデータ圧縮
シミュレーションのすべてのニーズに amazon クラウドを使用することを検討しています。結果として得られる sim ファイルは非常に大きいので、分析を容易にするためにローカル ドライブに移動したいと考えています。移動するデータごとに料金を支払う必要があるため、すべての SIM ソリューションをできるだけ小さく圧縮したいと考えています。これらは、以下を使用して、.mat ファイルの形式で保存された単なる numpy 配列です。
だから私の質問は、python 圧縮保存、linux 圧縮、またはその両方を使用して、numpy 配列を圧縮する最良の方法は何ですか?
私は Linux 環境にいて、あらゆる種類のファイル圧縮を受け入れます。
algorithm - 整数のリストをより人間に優しいものにする
これは、作業の修正なしの問題を解決するために私が引き受けたちょっとした副次的なプロジェクトです。私たちのシステムは、別のものの組み合わせを表すコードを出力します。いくつかのサンプルコードは次のとおりです。
9-9-0-4-4-5-4-0-2-0-0-0-2-0-0-0-0-0-2-1-2-1-2-2-2- 4
9-5-0-7-4-3-5-7-4-0-5-1-4-2-1-5-5-4-6-3-7-9-72
9-15-0-9-1-6-2-1-2-0-0-1-6-0-7
私がこれまでに見たスロットの1つの最大数は約150ですが、おそらくもっと高くなるでしょう。
システムが設計されたとき、このコードがどのように見えるかについての要件はありませんでした。しかし今、クライアントは一枚の紙から手でそれを入力できることを望んでいます。これは上記のコードには適していません。何もしないと言ったのですが、やりがいのある挑戦のようです。
私の質問は、このコードの損失のない圧縮を開始するのに適した場所はどこですか?このコードを短いキーで保存するなどの明らかな解決策はオプションではありません。私たちのデータベースは読み取り専用です。このコードをより人間に優しいものにするために、双方向のメソッドを構築する必要があります。
java - Java でのハフマン エンコーディング中にファイルを圧縮できません
Java でハフマン エンコーディング アルゴリズムを実装しました。プライオリティ キューを使用して、ルートからリーフまでツリーをトラバースし、シンボルが入力に現れる回数に基づいて #=000011 としてエンコーディング例を取得します。すべて問題なく、ツリーは正常に構築されており、エンコーディングは期待どおりです。しかし、取得している出力ファイルは元のファイルよりもサイズが大きくなっています。現在、ツリーの左側のノードと右側のノードをトラバースするときに、文字列に「0」と「1」を追加しています。おそらく、最終的には各文字に 8 ビットすべてを使用することになり、圧縮には役立ちません。これらのビットを必要な文字値に変換する必要があると推測しています。これらの文字が使用するビット数が 8 より少ないため、元のファイルの圧縮バージョンが得られます。Javaで文字を操作してビットを減らすことで圧縮を達成する方法を教えてください。ありがとう
compression - 非常に大きなフォルダをサーバーにアップロードするための最良/最速の方法は何ですか?
新しいホストのサーバーにアップロードする必要のある大きなディレクトリがありますが、そのような大きなディレクトリ(32GB)を転送したことがないため、何か足りないものがあるのではないかと思います。
今、私はそれをzipファイルに圧縮し、サーバーにアップロードしてから抽出するのが最善の方法だと思います。しかし、何らかの理由で、私のzipファイルはまだ約32GBです!
私はすでにファイルのアップロードを開始しようとしましたが、約3GBをアップロードするのに文字通り約30時間かかりました。明らかにこれは長すぎるので、これを行うためのより良い方法があるかどうか疑問に思いましたか?