2026-06-20 16:14:28 +08:00
|
|
|
|
@echo off
|
|
|
|
|
|
REM ============================================================
|
|
|
|
|
|
REM QGIS 子进程启动脚本(Windows)
|
2026-06-20 16:34:49 +08:00
|
|
|
|
REM 需要 QGIS_ROOT 环境变量指向 QGIS 安装目录
|
|
|
|
|
|
REM 自动检测 qgis-ltr 或 qgis 应用目录
|
2026-06-20 16:14:28 +08:00
|
|
|
|
REM ============================================================
|
2026-06-20 16:34:49 +08:00
|
|
|
|
setlocal enabledelayedexpansion
|
|
|
|
|
|
|
|
|
|
|
|
if not defined QGIS_ROOT (
|
2026-06-20 16:14:28 +08:00
|
|
|
|
echo [ERROR] QGIS_ROOT 环境变量未设置
|
|
|
|
|
|
exit /b 1
|
|
|
|
|
|
)
|
|
|
|
|
|
|
2026-06-20 16:34:49 +08:00
|
|
|
|
if not exist "%QGIS_ROOT%" (
|
|
|
|
|
|
echo [ERROR] QGIS_ROOT 目录不存在: %QGIS_ROOT%
|
|
|
|
|
|
exit /b 1
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
REM 自动检测 QGIS 应用目录(qgis-ltr 或 qgis)
|
|
|
|
|
|
set "QGIS_APP_DIR="
|
|
|
|
|
|
if exist "%QGIS_ROOT%\apps\qgis-ltr" (
|
|
|
|
|
|
set "QGIS_APP_DIR=%QGIS_ROOT%\apps\qgis-ltr"
|
|
|
|
|
|
) else if exist "%QGIS_ROOT%\apps\qgis" (
|
|
|
|
|
|
set "QGIS_APP_DIR=%QGIS_ROOT%\apps\qgis"
|
|
|
|
|
|
) else (
|
|
|
|
|
|
echo [ERROR] 未找到 QGIS 应用目录 (apps\qgis-ltr 或 apps\qgis)
|
|
|
|
|
|
exit /b 1
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
REM 自动检测 Python 版本目录(Python312 / Python39 / Python3)
|
|
|
|
|
|
set "PYTHONHOME="
|
|
|
|
|
|
for /d %%d in ("%QGIS_ROOT%\apps\Python3*") do set "PYTHONHOME=%%d"
|
|
|
|
|
|
if "%PYTHONHOME%"=="" (
|
|
|
|
|
|
echo [ERROR] 未找到 QGIS Python 目录
|
|
|
|
|
|
exit /b 1
|
|
|
|
|
|
)
|
|
|
|
|
|
|
2026-06-20 16:14:28 +08:00
|
|
|
|
set "PYTHONPATH=%QGIS_APP_DIR%\python"
|
|
|
|
|
|
set "QGIS_PREFIX_PATH=%QGIS_APP_DIR%"
|
|
|
|
|
|
set "QT_PLUGIN_PATH=%QGIS_APP_DIR%\qtplugins;%QGIS_ROOT%\apps\Qt5\plugins"
|
|
|
|
|
|
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"
|
|
|
|
|
|
set "PATH=%QGIS_APP_DIR%\bin;%QGIS_ROOT%\apps\Qt5\bin;%QGIS_ROOT%\apps\gdal\lib;%PATH%"
|
|
|
|
|
|
|
2026-06-20 16:34:49 +08:00
|
|
|
|
if not exist "%PYTHONHOME%\python3.exe" (
|
|
|
|
|
|
echo [ERROR] QGIS Python 不存在: %PYTHONHOME%\python3.exe
|
|
|
|
|
|
exit /b 1
|
|
|
|
|
|
)
|
|
|
|
|
|
|
2026-06-20 16:14:28 +08:00
|
|
|
|
"%PYTHONHOME%\python3.exe" %*
|