PixelStore(ピクセルストア)


はじめに

PixcelStoreというSQLite形式のデータベースでラスター画像表示を超高速化する仕組みがあります。
特徴として、よくある航空写真が数百枚レベル(例えば500枚以上)というクラスのプロジェクトでも、このPixelStore形式で読み込むと一瞬で表示することができます。また、感覚は個人差があると思いますが、描画スクロールや拡大縮小の速度バフォーマンスでもかなり高速で、ECWやMrSIDよりも体感速度で高速に感じることができます。
原則としてSQLiteデータベース形式であるため、モバイルマチルダや.NET版などでも互換性があり同様に扱うことができますので、OSに依存されないデータを作ることが可能です。

   
数百面単位のラスター画像を1ファイル1レイヤーにしたり、点群データ(LiDAR LAS,LAZ)などのベクトルデータをPixelStoreの1ファイル1レイヤーにしたりできます。

起動方法

メニューバーの「ファイル(F)→画像をピクセルストアにエクスポート(X)」を選択すると、専用ダイアログが表示されます。


各種設定値の説明

対象の選択


現在読み込まれてて画面上に表示されているものと、リストとして登録しているものが対象として選択できます。

全体の範囲


処理する対象の範囲を取得します。最小座標は左下、最大座標は右上です。ボタンをクリックして既存の図形を選択して設定することも可能です。

GSD(地上解像度)


エクスポート(出力後)の画像ピクセルの精度をここで設定します。具体的には1ピクセルの長さをメートル単位で設定します。つまり地上解像度が10cmにしたい場合は0.1と指定します。指定したら”自動セット”のボタンをクリックして適切なタイルサイズを自動で書き込みすることができます。

※実行後に”GSDが大きすぎます”的なエラーが出る場合は、この値を大きくしてから”自動セット”をクリックして再度実行するということを繰り返すことで適切な精度のエクスポートを確認しながらエクスポートすることができます。(GSDが大きすぎますエラーは実行するPCマシンのスペックによります)

保存ファイル名


エクスポート先のファイル名を指定します。ボタンをクリックしてフォルダ選択してから設定することも可能です。

圧縮率とDPI


圧縮率とDPIをここで設定します。希望する出力精度に応じて設定しますが、基本的には特別な理由がない限り触らなくても大丈夫です。

フォーマット


PixelStore形式でSqliteに登録する際のフォーマットの指定として、JPEGとPNGがあります。
PNGの場合は、色の指定として標準RGBの他にアルファチャンネルを追加したARGB指定が可能です。
余白」が出るような時はその余白部分の表示の扱いに応じた設定をすることができます。

JPEGで指定したとき
一見普通に見えますが、ビュー画面の背景が白い時はこのように表示されます。


しかし実際には、白く塗りつぶされているだけなので、もし黒い背景に表示すると次のようになります。


PNGで指定したとき
配色設定をARGBに指定したときは、黒い背景でもちゃんとその部分が透けて(透過で)見えます。
RGBに指定したときは、JPEGと同じように表示されます。


白い背景でもその部分が透けて(透過で)見えます。

透過PNGファイルの作成について
PixelStore形式で透過画像を作成するために、あらかじめ透過設定をしたPNGファイルを準備します。
以下はIrfanViewでのPNG保存時の設定例です。


ARGBのA(アルファチャンネル)で透過を指定しますので、アルファチャンネルに透明設定を保存します。
※Photoshop等の画像編集ソフトで処理すれば半透明の表現も可能です。

対象の選択と仕組み

現在のビューに表示されている画像


現在画面のビューに表示されているレイヤーを処理します。初心の方等はできるだけこのモードから始めてください。画面の状態を見ながらできますのでサイズや設定値の感覚を掴みながら進めることができます。

リストに登録されている画像


慣れてくると複数のファイルを一度に処理したくなりますので、その場合はこちらを使ってください。
また、このリストモードには追加オプションとして「全てのファイルを1ファイルにまとめる」と「1ファイルずつ出力する」というものがあります。

全てのファイルを1ファイルにまとめる
このオプションを選ぶと対象のファイルを全て読み込んでメモリ展開できる環境の想定で実施されます。かなりのリソースを必要とし、全体の範囲の設定(最小X〜最大Y)とタイルサイズは全てマニュアル指定する必要があります(つまり自動セットは行われません)
従って特別な理由がない限りは別オプションの「1ファイルずつ出力する」を選択することをお勧めします。

1ファイルずつ出力する
このオプションを選ぶと、「デフォルト値を自動で取得更新する」のチェックボックスが出てOn/Offを選択できるようになります。ここがOnの場合は1ファイル処理するごとに自動で「自動セット」をクリックしたのと同じ扱いをすることができます。

※リスト処理の場合は、極力こちらのオプション(1レイヤー1ファイル仕上がり)をお薦めします。

出力成果の確認方法

例えば次のような航空写真ラスターをPixelStore(ピクセルストア)にエクスポートしてそれを読み込んで表示したときを例にあげます。


ある部分を思っきり拡大すると個々の1ピクセルで顕著に表示できます。


だいたいで良いのでメニューバーの計測(M)から距離を計測(L)で1ピクセルの長さを計測する。この場合は0.213mと出ているのでGSD(地上解像度)は20cmの精度であるということが確認できる。


この1ピクセルの距離の設定を”GSD(地上解像度)”で指定します。距離が小さいほど高精度になりますが、ファイルサイズは大きくエクスポート処理時間も長くなりますので、目的の適切な精度になるように調整していってご使用ください。