ラスターチャートをデータテーブルに変換する

はじめに



このようなタスクが時々発生します。 たとえば、最近では、10年前に実施した野外実験のデータに出会いました。 私が必要とするグラフィックスは、通常のラスタ* .bmpファイルの形式であることが判明しました。 実験のための材料の中に値を持つテーブルはありませんでした。 また、これらのデータはモデリング結果と比較する必要があるため、値の表は非常に役立ちます。そして、このすべてを適切なレベルで実行する必要があります。



この問題は過去数回発生しています。 たとえば、最愛の女性が電気機械の授業を手伝ったとき、計算はMapleで行われ、計算されたデータのほとんどはKopylovの教科書でグラフの形で利用できました。 そして、これもラスターです。 そして、必要なテーブルが私たちによってプログラムに駆り立てられる前に、多くの血が腐りました。



一般に、問題がない場合、成功して英雄的にそれらを解決するために、彼はそれらを思いつきます。 頭をひっかいてGoogleで武装した私は、問題に対するあまり痛くない解決策を探し始めました。



最初の段階、つまりラスターグラフィックスをベクターに変換する必要があることは明らかです。 また、ベクター形式から、特に開いている場合は、数値データを引き出してスケーリングし、テーブルに変換できます。



私が最初に試したのはInkscapeでした。 私はこのエディタを非常に頻繁に使用します-使い始めるのが困難であったという事実にもかかわらず、今日では、記事、レポート、その他の科学文書のためにさまざまな絵を描くための主要なツールです。



ただし、自動ベクトル化ツールはタスクに対応していませんでしたが、むしろ対応しましたが、私たちが望むほどではありませんでした。 私がそれらを完全に理解していなかった可能性があります。 いずれにせよ、Inkscapeを使用する試みは無期限に放棄され、再びGoogleに頼りました。



答えが見つかりました... ENT! 答えはEasy Trace Proでした。 著者によると、このプログラムはインテリジェントな地図データトレーサーであり、地図のベクトル化を目的としています。



このプログラムはOS Windows専用のソフトウェアですが、有料バージョン9とともに、著者は完全に機能する以前のバージョン7.99を無料でダウンロードして無制限に使用することを提案しています。 さらに、このサイトには、ワインを使用してEasy Traceを起動するための手順があります。 最後の1つは試しませんでした-Windowsで仮想マシンを起動し、無料版をインストールしました。



結果は私の期待を超えました。 おそらく中古の機器は別の「バイク」ですが、実を結んでいるので、これにも興味があれば、カットをお願いします。



1.問題の声明



したがって、ラスターチャートがあります。 良い例として、大騒ぎを引き起こした実験のグラフを取り上げるべきです。 しかし(私にスリッパを投げる必要はありません)私はそれを公開しません。 データは個人使用のために私に転送されましたが、誰も公開する許可を与えなかったので、私は尋ねませんでした。 したがって、問題の解決策を説明するために、グラフをラスタに変換した後、たとえば同じPNGに変換してみましょう。 PNGは、写真の読み込みを高速化するために、読者の時間と神経を節約するために使用されます。







Easy Trace Proをインストールし、ラスターファイルに基づいて新しいプロジェクトを作成します





単位と原点の位置を設定します-ミリメートルと左下隅を取りました





その結果、プロジェクトは準備完了です





2.チャートのラインをトレースし、表形式に変換する



ラスターベクトル化は、手作業を排除しないプロセスです。 さらに、ここにはいくつかのグラフがあり、私の実験データもそのような計画のものでした。 したがって、最初に行うことは、トレースする色を選択することです



ツール->トレース->色セット



マウスカーソルを使用して、目的のチャートにカーソルを合わせ、目的の色がカーソルのウィンドウに表示されたら、クリックします。







この画面ではマウスカーソルが機能しませんでした-どうやら恥ずかしがり屋ですが、選択したチャートは次の画面に表示されます-ピンクで強調表示されています







ここでトレースします。 プログラムのマニュアルを読んでいなかったため、頭痛の種になりました。そして、このプログラムは新しいユーザーにとって十分に使いやすいと言わなければなりません



ツール->トレース->曲線



その後、グラフの先頭にあるカーソルをクリックします







そして、プログラムはグラフ曲線に沿ってかなり長い線を描き、設定した色に応じてすべてのコンテンツから選択します。 そして、次にどこに行けばよいかわからない場合にのみ停止します。 あなたはスクリーンショットで見ることができます-私は高周波「ダウブ」に出くわしました。 このセクションは、手動で慎重に渡す必要があります。







合格すると、グラフの曲線をたどるだけで、自信を持ってトレースが実行されます。







そして再び停止します。 手作業ですべての手順を実行する必要がありますが、かなり滑らかな曲線の場合、干渉なしでプロセスが自動的に実行されることは明らかです。



チャート全体を確認すると、ポイントの表に変換する必要があるベクトル曲線ができました。



ファイル->エクスポート



表示されるウィンドウで、形式を選択します。







選択肢は大きくなく、私たちが興味を持つ唯一の位置はCSVであり、ExcelまたはLibreOffice Calcで開くことができます。 次に、エクスポートオプションを構成します。特に、チャートが配置されているベクターレイヤーを選択します







ファイル名を設定する







データ列セパレータのタイプに注意してください-デフォルトのコンマが私たちに合っています







graph.csvファイルにはすべて、ラスターチャートから取得したデータがあります。



3.データの関心のある単位への翻訳



当然、X、Yは左下隅からのミリメートルではなく、軸に沿って配置された測定単位に関心があります。 さらに、原点の位置を調整する必要があります。 LibreOffice Calcでこれを扱いますが、データ配列の処理に適した他のソフトウェアを使用できます。



LibreOffice Calcでデータテーブルを開きます。







ここではエンコーディングに注意を払い、「敵」という言語を選択します。これにより、全体と小数部分の区切りがピリオドになります。 4番目の行から始まるテーブルをインポートし、最後の2つの列をゼロで無視します。 [OK]をクリックして、データテーブルを取得します。







次に、ゼロを調整します。 これを行うために、画像の下端と左端からゼロまでの距離を測定します。 左から15.325 mmが明らかです。これがグラフの最初のポイントだからです。 最初の列のすべての値からこの値を減算します。



最初のポイントの縦座標もゼロです。つまり、2番目の列から69.342を減算する必要があります。 しかし、この場合です。 それ以外の場合、Easy Traceには、ゼロオフセットを決定できるルーラーがあります。







完了、ゼロは必要な場所です。 次に、軸に沿ってスケールを計算しましょう。 時間軸と縦軸を定規で測定します。 20秒は横座標軸の184.4 mm、および縦座標軸の80.4 mmに相当する600キロトンに相当します。 比例して、テーブルの列CとDの値を調整します。



一般的に、歓声-ラスターチャートからデータテーブルが引き裂かれています。 これらすべてが真実にどのように対応するかを検証することは残っています。







例の元のグラフのデータがあります(自分で受け取った)ので、両方のグラフを作成し、それらを比較します。







偶然の一致は、ラスター上でグラフの線が塗りつぶされた場所でのみ不十分ですが、適切な器用さで、より適切に適合させることができました。



それでも、必要に応じてベクターに組み込み、補間、処理できるデータのテーブルがあります。



おわりに



記載されているアプローチは非常に巧妙で、誰もがアクセスできます。 私自身が初めて、それが機能した最初のプロンプトでそれを行うので、そのような作業のテクニックをナビゲートすることはできません。 読者がより合理的なものを提供できる場合、著者は建設的な批判に対してオープンです。



ご清聴ありがとうございました!



PS:Easy Trace Proはワインの下で正常に起動および実行されるため、仮想Windowsは必要ありません








All Articles