From e814ac4189176cf0c272adbc552c738571e7fbb4 Mon Sep 17 00:00:00 2001 From: wzy-warehouse <18135009705@163.com> Date: Sun, 21 Jun 2026 15:41:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=A7=E5=9B=BE=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/qgis_map_export.py | 14 ++++++++++++++ ...风险区分布图.qgz => 暴雨地质灾害风险区分布图.qgz} | Bin settings.toml | 2 ++ 3 files changed, 16 insertions(+) rename app/data/template/rainfall/{暴雨地灾风险区分布图.qgz => 暴雨地质灾害风险区分布图.qgz} (100%) diff --git a/app/api/qgis_map_export.py b/app/api/qgis_map_export.py index 747e26c..06a924f 100644 --- a/app/api/qgis_map_export.py +++ b/app/api/qgis_map_export.py @@ -309,6 +309,20 @@ async def export_map(req: QgisMapExportRequest): f for f in os.listdir(template_dir) if f.endswith(".qgz") and not f.startswith("tmp") ]) + # 优先模板排到前面 + priority_keywords = getattr(settings, "QGIS_PRIORITY_TEMPLATES", []) + if priority_keywords: + def _priority_order(name: str) -> tuple: + for i, kw in enumerate(priority_keywords): + if kw in name: + return (0, i) # 优先组,按配置顺序 + return (1, name) # 非优先组,按文件名 + template_files.sort(key=_priority_order) + priority_count = sum( + 1 for f in template_files + if any(kw in f for kw in priority_keywords) + ) + logger.info(f"优先模板: {priority_count} 张排前面") if not template_files: raise FileNotFoundError(f"模板文件夹为空: {template_dir}") diff --git a/app/data/template/rainfall/暴雨地灾风险区分布图.qgz b/app/data/template/rainfall/暴雨地质灾害风险区分布图.qgz similarity index 100% rename from app/data/template/rainfall/暴雨地灾风险区分布图.qgz rename to app/data/template/rainfall/暴雨地质灾害风险区分布图.qgz diff --git a/settings.toml b/settings.toml index a12b83f..03d3e76 100644 --- a/settings.toml +++ b/settings.toml @@ -21,6 +21,8 @@ QGIS_DEFAULTS_MAP_UNIT = "制图单位:西安市应急管理局" QGIS_EXPORT_DPI = 300 # 并行子进程数(每进程独立 QGIS 实例) QGIS_PARALLEL_WORKERS = 4 +# 优先产出模板 +QGIS_PRIORITY_TEMPLATES = ["暴雨地质灾害风险区分布图", "暴雨滑坡潜在隐患点及人口分布图", "暴雨山洪潜在隐患点及人口分布图", "暴雨泥石流潜在隐患点及人口分布图", "暴雨内涝潜在隐患点及人口分布图", "暴雨避难场所分布图"] # 西安市中心经纬度 XIAN_CENTER = [108.948024, 34.263161]