2022年4月23日土曜日

BERT 3D examples

先日、BERT (Boundless electrical resistivity tomography) の「3D examples を改良した」と言う旨の連絡が来ました。

この問題を10ヶ月前に Git の issue に投げていたのですが、その後音沙汰がなく、また simpeg へ移行していたため BERT 自体を削除していました。

それではもう一度試してみましょう、と思いインストール。
が、できません。手元の Ubuntu20.04 では以下のコマンドが機能しませんでした。
conda install -c gimli -c conda-forge pybert

では順にということで、まず仮想環境を作成しPython3.8 をインストール。pygimli, pybert, jupyter を順にインストールし、Git のファイルを一式DL。これで準備OK。
で、 testAll.sh を実行!
ダメでした。全てのexamples が failed!となります。jupyter 上では import できたので正しく入ったとは思うのですが。うーん

もう一台の Ubuntu20.04 で試すと、あっさりインストールできました。
こちらも公式指定の場所に examples がなかったので Git のファイルを一式DL。
で、 testAll.sh を実行!
動きました。

と言っても回答のとおり、slagdump は 走るものの 以下はダメなままでした。
2dflat/gallery:galleryGrid.cfg--preparation failed!
3dflat/gallery:galleryGrid.cfg--preparation failed!
3dtopo/acaur:acaur.cfg--preparation failed!

ま、Simpegがあるので、BERTは補助扱いで良いでしょう。

2022年4月7日木曜日

九州地整 3DVR コンテンツ

Cesium for Unreal について先輩と話していると、以下のサイトを紹介されました。

ゲームエンジンを用いたメタバース(仮想空間)での川づくりツールの操作マニュアル(案)
http://www.qsr.mlit.go.jp/infradx/indexge.html

九州地勢さんのHPで公開されています。ツールもDLできるようになっています。
CesiumJS メインで UE4 を使うつもりはなかったのですが、どちらも使えた方が良いのは明らか。(案)を見たところ、UE4 での標高合わせのための QGIS プラグインは便利そうなので、利用させてもらうことにしました。

まず、コチラ↓から「3DVR コンテンツ」をDL。
http://www.qsr.mlit.go.jp/infradx/kiyaku.html

次に、QGIS 3.22.5 でプラグインをインストール。DL した「http___www.qsr.mlit.go.jp_infradx_getool_03_DemConverter.zip」 を指定します(手順は DL したpdfに書かれています)。
が、入りません。ライブラリのインポートで引っ掛かっています。エラーの内容を見ると、gdal を直接読もうとしてダメなようでした。gdal のVer.依存でしょう。
https://pypi.org/project/GDAL/
では、書き換えましょう。

「http___www.qsr.mlit.go.jp_infradx_getool_03_DemConverter.zip」 を解凍し、以下の2か所を書き換えます。

03_DemConverter\tiff2png¥GeoTiffManager.py  の4,5行目
03_DemConverter\png2tiff¥PngTranslator.py  の5,6行目

from osgeo import gdal
from osgeo import gdalconst

これで保存し、zip圧縮しなおします。再度 QGIS から指定すると、インストールできました。
他のソースも覗いてみましたが、MIERUNE さんが書かれたみたいですね。先日お世話になったばかりですが、このようなところで出会うとは。そういえば QGIS カスタマイズも商品に入っていました。

インストールが終わったので、動作確認。
基盤地図情報の 5dem をラスター化し、それをGeotiff へ変換!
あっさりできました。問題ないようです。

あとは UE 側での作業です。 既に Ver.5 に上げましたが、C4U プラグインが対応済みなので動くでしょう。後日、試しましょう。


2022年4月4日月曜日

Infraworks to CesiumJS

 CesiumJS 1.91 で Infraworks 2022 の3Dモデルを共有できるか?

・InfraWorks で obj 書き出し(WGS84/Pseudo-Mercator、オフセットあり)
・obj2gltf を install:npm install -g obj2gltf
・obj2gltf変換:obj2gltf -i 84M.obj -o 84M.glb

Win10 の 3Dビューワーでも glb へ変換できますが、時間がかかります。obj2gltの方が圧倒的に速い。https://github.com/CesiumGS/obj2gltf

CesiumJS で glb を表示してみると位置がおかしい。回転と中心位置座標の指定が必要になります。
では、オフセットなしで書き出したらどうか?
どこかへ飛んでいきました。これは、Cesium ion でも同じ。座標系選択の問題ではなく、InfraWorks から書き出す際の仕様?なのでしょう。

glb の位置は手合わせしかないでしょうか。点群以外の Infraworks の データを一度に書き出せるので、相互の位置関係は保持しています。点群は座標を自動で渡せるので、それを見ながら合わせるしかなさそうです。残念。

2022年4月3日日曜日

GitHub Pages

GitHub の ブランチを web server にできるとのこと。
 https://docs.github.com/ja/pages/getting-started-with-github-pages/about-github-pages

About GitHub Pages
GitHub Pages is a static site hosting service that takes HTML, CSS, and JavaScript files straight from a repository on GitHub, optionally runs the files through a build process, and publishes a website.

JavaScript が使えるので、Cesium を入れている方もいらっしゃいました。
それはありがたい、ということでいざUP。

・public repogitory の root にソースを展開
・Settings から Pages の Source を main/(root)に変更
・クライアント用アドレスが表示される。反映されるまで数分待機。

 これだけでした。動きますね。素晴らしい。push 後の反映も数分待機が必要ですが、文句なしです。

点群タイルを一度に push するとエラーになりました。数回に分けてupすると、無事に点群を表示できました。手軽ですね。