序文
既存の要件では、表示のために既存の OSGB データの一部を CesiumJS にロードする必要がありますが、CesiumJS 自体は osbg 形式でのデータ レンダリングをサポートしていないため、変換する必要があります。変換できる形式は 2 つあり、1 つは glTF 形式、もう 1 つはそれが今回紹介する3Dタイル形式です。
オープンソースツールをダウンロードする
実はこのようなツールはgithub上にたくさんあり、どのツールも使い方は似ていますが、今回は
Cesium3DTilesConverterを使用しました。
解凍後、次のファイルがあります。このディレクトリを環境変数として追加することも、このディレクトリでコマンド ターミナルを直接開くこともできます。Converter.exe コマンドを使用する場合は、OSGB ファイル構造の
コマンド
パラメータ
Options:
-?, -h, --help Displays help on commandline options.
-f, --format <format> OSGB or GDAL(required), OSGB 为倾斜摄影格式数据, GDAL 为GDAL支持的面(Polygon)数据
-l, --level <level> OSGB max level, OSGB处理到的最大级别
-F, --field <field> height field name(required for gdal), 指定GDAL数据集中的高度属性字段,此项为转换 GDAL 时的必须参数。
-L, --layer <layer> layer name(required when input isn't shapefile)
-t, --thread <thread> thread number, 处理线程数量
-y, --yUpAxis y up axis, 是否将gltf模型转为y轴朝上(仅对OSGB生效),如果是用Cesium for Unreal,需要指定yUpAxis
-H, --height <height> height offset(default value 0), OSGB高度偏移字段
<INPUT> 输入数据的目录,OSGB数据截止到 `<DIR>/Data` 目录的上一级,GDAL参考GDAL数据格式。
<OUTPUT> 输出目录。OSGB转换的3DTiles输出的数据文件位于 <DIR>/Data`目录, GDAL转换的3DTiles输出的数据文件位于<DIR>/Tile目录,tileset.json位于<DIR>根目录。
変換コマンド
Converter.exe -f OSGB --yUpAxis <OSGB> <OUTPUT>
例
Converter.exe -f OSGB -y -i D:\WORK\3d-tiles-tools\Production_1 D:\WORK\3d-tiles-tools\test1
注: このコマンドは、Data フォルダーの 1 レベル上の入力フォルダー、つまり D:\WORK\3d-tiles-tools\Production_1\osgb フォルダーのルート ディレクトリにある必要があります。変換されたファイル スタイルは次のとおりです。
その後、必要に応じて nginx にデプロイされます
。