- ファイルから入力
- 連結成分でグループ化する
- グループの輪郭からopencvのminarearectを用いて最小外接矩形を求める
- 直方体の8点を決める
- vrml化
-6409.0 -34202.0 12.76 1
-6408.0 -34202.0 7.58 1
-6407.0 -34202.0 12.96 1
-6406.0 -34202.0 12.14 1
-6405.0 -34202.0 12.43 1
のように
x座標 y座標 z座標(標高) 属性値というフォーマットである。xy座標はどちらも小数部分が0の整数である。属性値は
1 川
2 平地
3 高い木
4 建物
となっている。
点の8近傍を隣接点として定義する。
属性値が4、つまり建物の点の連結成分を1グループとしてまとめたbuildingオブジェクトを作る。輪郭点は、建物以外の点と隣接している点とする。床の高さは、輪郭点に隣接している平地の点の高さの平均とする。
buildingの輪郭点から、opencvのminarearectを用いて、最小外接矩形の4点を求める。この4点もbuildingが持つ。
buildingの床の高さに、矩形4点と同じxy座標をもつ4点を作成。これら直方体8点もbuildingが持つ。
直方体の8点をもとにポリゴンを貼る。