平日 9:00 ~ 17:00
PotreeConverter バッチファイルでコマンド省略

PotreeConverter バッチファイルでコマンド省略
PotreeConverter バッチファイルでコマンド省略する方法を解説しています。
以前に投稿した記事で、PotreeConverterを使って点群データを作成する方法を紹介しました。

今回は、PotreeConverterで点群データを作成するためのコマンド入力をバッチファイルを使って完全に省略しました。
さらに、index.zip として圧縮するコマンドも追加しています。ただし、この圧縮コマンドはWindows10以降で正常に機能します。
これにより、時間と手間を大幅に削減すると共に、プログラムやシステム知識のないスタッフなど誰でも簡単に処理ができるようになりました。
そのバッチファイルの中身を公開しています。
バッチファイルのスクリプト
ConvertCommand.bat
@echo off
setlocal
:: ==========================================
:: 1. ディレクトリとファイル名の取得
:: ==========================================
:: バッチファイルが置かれているディレクトリのパスを取得 (末尾の \ を除く)
for %%I in ("%~dp0.") do set "CURRENT_DIR=%%~fI"
:: バッチファイルが置かれているディレクトリ名を取得
for %%I in ("%~dp0.") do set "DIR_NAME=%%~nxI"
:: ==========================================
:: 2. 各種パスの設定
:: ==========================================
:: PotreeConverterのパス
set "POTREE_DIR=C:\PotreeConverter"
set "CONVERTER_EXE=%POTREE_DIR%\PotreeConverter.exe"
:: LASファイルのフルパスと出力先
set "LAS_FILE=%CURRENT_DIR%\%DIR_NAME%.las"
set "OUTPUT_DIR=%CURRENT_DIR%"
echo --------------------------------------------------
echo 作業ディレクトリ : %CURRENT_DIR%
echo 実行ディレクトリ名: %DIR_NAME%
echo 対象LASファイル : %LAS_FILE%
echo 出力先ディレクトリ: %OUTPUT_DIR%
echo --------------------------------------------------
:: ==========================================
:: 3. 事前チェック
:: ==========================================
if not exist "%CONVERTER_EXE%" (
echo [エラー] PotreeConverter.exe が見つかりません: %CONVERTER_EXE%
pause
exit /b
)
if not exist "%LAS_FILE%" (
echo [エラー] 対象のLASファイルが見つかりません: %LAS_FILE%
pause
exit /b
)
:: ==========================================
:: 4. PotreeConverterの実行
:: ==========================================
:: PotreeConverterのディレクトリに移動
cd /d "%POTREE_DIR%"
echo.
echo 変換処理を開始します...
PotreeConverter.exe "%LAS_FILE%" -o "%OUTPUT_DIR%" -p index
echo.
echo 変換処理が完了しました。
:: ==========================================
:: 5. ZIP圧縮処理
:: ==========================================
echo.
echo ZIP圧縮処理を開始します...
:: 作業ディレクトリを出力先(バッチのあるディレクトリ)に戻す
cd /d "%OUTPUT_DIR%"
:: 生成物の存在確認(変換に失敗している場合はここで停止)
if not exist "index.html" (
echo [エラー] index.html が見つかりません。変換処理が正常に完了しなかった可能性があります。
pause
exit /b
)
:: 古い index.zip があれば削除しておく(エラー防止)
if exist "index.zip" del "index.zip"
:: Windows標準の tar コマンドでZIP圧縮を行う
:: -a: 拡張子から圧縮形式を自動判別(zipにする)
:: -c: 新規アーカイブ作成
:: -f: アーカイブファイル名を指定
tar -a -c -f index.zip index.html pointclouds libs
echo.
echo ZIP圧縮が完了しました。(作成ファイル: index.zip)
pause
上記をコピーし、新規にメモ帳を開いてペースト、ファイル名「ConvertCommand.bat」として保存する。
使い方
c:\PotreeConverter にPotreeConverterフォルダがあるとします。
配下にdata_convertedフォルダがあり、その中にdata_converted.lasというフォルダと同一名称のLASデータと、ConvertCommand.bat を配置し、ConvertCommand.bat をダブルクリックするだけです。
うまくいかない場合は、以下を確認してください。
- PotreeConverterはc:\PotreeConverterに配置してください。
- PotreeConverterフォルダ配下にコンバートしたいLASデータを格納したフォルダを配置します。
- フォルダ名称は任意の名称でよく、data_converted である必要はありません。
- フォルダ名とLASデータ名は統一する必要があります。


