点群PNG ver.0.6の解釈

点群PNG ver.0.6の仕様のメモ。

フィールド名 ピクセル数 データ型 内容
type 1 RGB R:1(リストPNGバージョン依存番号)
G:1(点群PNGメインファイル識別子)
B:1(点群PNGバージョン依存番号)
headerLength 1 符号無し整数 ヘッダー長(ピクセル数)
recordCount 2 符号無し整数 レコード数
columnCount 1 符号無し整数 カラム数
infoX 1 RGB R:上位4ビットは3
R:下位4ビットはカラムピクセル数(1-2)
G:オフセットピクセル数(0-2)
B:係数常用対数(-128-127)
offsetX 0-2 X座標オフセット(前のピクセルのG値による)
infoY 1 RGB R:上位4ビットは3
R:下位4ビットはカラムピクセル数(1-2)
G:オフセットピクセル数(0-2)
B:係数常用対数(-128-127)
offsetY 0-2 Y座標オフセット(前のピクセルのG値による)
infoZ 0-1 RGB R:上位4ビットは3
R:下位4ビットはカラムピクセル数(1-2)
G:オフセットピクセル数(0-2)
B:係数常用対数(-128-127)
offsetZ 0-2 Z座標オフセット(前のピクセルのG値による)
infoColor 0-1 RGB R:上位4ビットは1
R:下位4ビットはカラムピクセル数(1固定)
G:オフセットピクセル数(0固定)
B:係数常用対数(0固定)
infoId 0-1 RGB R:上位4ビットは1
R:下位4ビットはカラムピクセル数(1固定)
G:オフセットピクセル数(0固定)
B:係数常用対数(0固定)
infoClass 0-1 RGB R:上位4ビットは1
R:下位4ビットはカラムピクセル数(1固定)
G:オフセットピクセル数(0固定)
B:係数常用対数(0固定)
userColumnDefs 不定
subType 1 RGB R:上位4ビットは未使用
R:下位4ビットは上位ビットからカラム利用如何。
Z座標、infoColor、infoId、infoClass。
G:地図投影法(0:未定、1:ウェブメルカトル、2:経緯度)
B:地図投影法オプション(ウェブメルカトル次数)
userHeader 不定
  • 1ピクセル目で点群PNGのバージョンがわかる。基本的には点群PNGの最新バージョンのファイルとして読み取るので、読み飛ばしても大丈夫(複数バージョンでいくつもファイルを扱う必要がある場合は重要)。
  • カラム数まで必須。
  • infoXとinfoYは必須。
  • infoのR上位4ビットの読み方(0:未定義、1:RGB、2:符号なし整数、3符号付き整数)。
  • infoのR下位4ビットはポイント情報での各ポイントのピクセル数。
  • infoのG値を見るとoffsetで使用するピクセル数がわかる(これをカラム数だけ繰り返す)。
  • infoのB値は係数常用対数。元の値を 10のn乗を乗じていることを表す(戻すときは10の-n乗を乗じる)。
  • その後出現するのがsubType。
    カラム情報を別途説明すると思うのでR値の読み取りは実質不要。
    地図投影法も基本はウェブメルカトルと思うのでG値の読み取りも実質不要。
    ウェブメルカトル次数の読み取りは必須(B値)。