2026-06-20 16:14:28 +08:00
|
|
|
|
@echo off
|
|
|
|
|
|
REM ============================================================
|
|
|
|
|
|
REM QGIS 子进程启动脚本(Windows)
|
2026-06-20 16:58:14 +08:00
|
|
|
|
REM 自动检测 QGIS 安装结构,支持 qgis-ltr/qgis + Python312/Python39
|
2026-06-20 16:14:28 +08:00
|
|
|
|
REM ============================================================
|
2026-06-20 16:58:14 +08:00
|
|
|
|
|
|
|
|
|
|
if "%QGIS_ROOT%"=="" goto :no_root
|
|
|
|
|
|
if not exist "%QGIS_ROOT%" goto :no_root_dir
|
|
|
|
|
|
|
|
|
|
|
|
REM --- 检测 QGIS 应用目录 ---
|
|
|
|
|
|
set "QGIS_APP=%QGIS_ROOT%\apps\qgis-ltr"
|
|
|
|
|
|
if not exist "%QGIS_APP%" set "QGIS_APP=%QGIS_ROOT%\apps\qgis"
|
|
|
|
|
|
if not exist "%QGIS_APP%" goto :no_qgis_app
|
|
|
|
|
|
|
|
|
|
|
|
REM --- 检测 Python 目录 ---
|
|
|
|
|
|
set "PY=%QGIS_ROOT%\apps\Python312"
|
|
|
|
|
|
if not exist "%PY%" set "PY=%QGIS_ROOT%\apps\Python39"
|
|
|
|
|
|
if not exist "%PY%" set "PY=%QGIS_ROOT%\apps\Python310"
|
|
|
|
|
|
if not exist "%PY%" set "PY=%QGIS_ROOT%\apps\Python311"
|
|
|
|
|
|
if not exist "%PY%" goto :no_python
|
|
|
|
|
|
|
|
|
|
|
|
REM --- 设置环境 ---
|
|
|
|
|
|
set "PYTHONHOME=%PY%"
|
|
|
|
|
|
set "PYTHONPATH=%QGIS_APP%\python"
|
|
|
|
|
|
set "QGIS_PREFIX_PATH=%QGIS_APP%"
|
|
|
|
|
|
set "QT_PLUGIN_PATH=%QGIS_APP%\qtplugins;%QGIS_ROOT%\apps\Qt5\plugins"
|
2026-06-20 16:14:28 +08:00
|
|
|
|
set "GDAL_DATA=%QGIS_ROOT%\apps\gdal\share\gdal"
|
|
|
|
|
|
set "PYTHONUTF8=1"
|
|
|
|
|
|
set "GDAL_FILENAME_IS_UTF8=YES"
|
|
|
|
|
|
set "VSI_CACHE=TRUE"
|
|
|
|
|
|
set "VSI_CACHE_SIZE=1000000"
|
2026-06-20 16:58:14 +08:00
|
|
|
|
set "PATH=%QGIS_APP%\bin;%QGIS_ROOT%\apps\Qt5\bin;%QGIS_ROOT%\apps\gdal\lib;%PATH%"
|
|
|
|
|
|
|
|
|
|
|
|
REM --- 启动 ---
|
|
|
|
|
|
"%PY%\python3.exe" %*
|
|
|
|
|
|
exit /b %ERRORLEVEL%
|
|
|
|
|
|
|
|
|
|
|
|
:no_root
|
|
|
|
|
|
echo [ERROR] QGIS_ROOT 环境变量未设置
|
|
|
|
|
|
exit /b 1
|
|
|
|
|
|
|
|
|
|
|
|
:no_root_dir
|
|
|
|
|
|
echo [ERROR] QGIS_ROOT 目录不存在: %QGIS_ROOT%
|
|
|
|
|
|
exit /b 1
|
2026-06-20 16:14:28 +08:00
|
|
|
|
|
2026-06-20 16:58:14 +08:00
|
|
|
|
:no_qgis_app
|
|
|
|
|
|
echo [ERROR] 未找到 QGIS 应用目录
|
|
|
|
|
|
exit /b 1
|
2026-06-20 16:34:49 +08:00
|
|
|
|
|
2026-06-20 16:58:14 +08:00
|
|
|
|
:no_python
|
|
|
|
|
|
echo [ERROR] 未找到 QGIS Python 目录
|
|
|
|
|
|
exit /b 1
|