chore: initialize insar management system v2

This commit is contained in:
2026-04-14 13:16:01 +08:00
commit ecc72ec9cd
361 changed files with 2142522 additions and 0 deletions
+154
View File
@@ -0,0 +1,154 @@
"""
AI 诊断 Prompt 模板配置。
支持三种预设模板:quick(快速)、standard(标准)、detailed(详细)。
"""
from typing import Dict
# Prompt 模板字典
PROMPT_TEMPLATES: Dict[str, str] = {
"quick": """请快速分析这张 D-InSAR 形变图,重点关注:
1. 是否存在明显的地表形变区域(红色/蓝色异常区)
2. 形变的大致范围和强度
3. 初步的风险等级评估(低/中/高)
请用简洁的语言(3-5 句话)给出结论。""",
"standard": """请分析这张 D-InSAR 地表形变监测结果图,提供以下信息:
**1. 形变特征识别**
- 识别图中的形变区域(红色表示远离卫星/沉降,蓝色表示靠近卫星/抬升,绿色表示稳定)
- 描述形变的空间分布模式、强度范围和影响面积
- 判断形变是否连续、是否存在突变边界、是否有明显的形变中心
- 分析形变的几何形态特征(线性、圆形、不规则等)
**2. 风险评估**
- 根据形变幅度(参考色标 ±0.1m)、分布特征和梯度,评估风险等级
* 低风险:形变量 < 2cm,分布零散
* 中风险:形变量 2-5cm,局部集中
* 高风险:形变量 5-10cm,连续分布
* 极高风险:形变量 > 10cm,急剧变化
- 识别可能的地质灾害类型(滑坡、地面沉降、地裂缝、采空区塌陷等)
- 结合已知隐患点位置,分析形变与灾害点的空间关联性
- 指出需要重点关注的区域和紧急程度
**3. 数据质量评价**
- 评估图像的整体相干性(观察是否有大面积失相干区域)
- 判断噪声水平(是否有明显的随机噪声或条纹状伪影)
- 识别可能的误差来源(大气延迟、轨道误差、解缠错误等)
- 给出结果可靠性评分(质量评分: X/10)
- 说明评分依据和结果的适用性
**4. 监测建议**
- 针对识别的高风险区域,建议后续监测频率
- 推荐需要补充的地面调查或其他监测手段
- 提出预警阈值建议
**输出格式要求:**
- 使用 Markdown 格式,包含清晰的章节标题(使用 ### 三级标题)
- 在风险评估部分明确标注:**风险等级: [低/中/高/极高]**
- 在质量评价部分明确标注:**质量评分: X/10**
- 如果有高置信度的判断,标注:**置信度: XX%**
- 使用列表和加粗强调关键信息
- 保持专业、客观、准确的语言风格""",
"detailed": """请对这张 D-InSAR 地表形变监测结果进行全面深入的专业分析:
**一、形变场特征分析**
1. **形变区域识别**
- 详细描述所有可识别的形变区域(位置、范围、形态)
- 区分主要形变区和次要形变区
- 分析形变的空间连续性和边界特征
2. **形变量级评估**
- 估算最大形变量(视线向位移)
- 分析形变梯度和变化率
- 识别形变集中区和过渡区
3. **形变模式判读**
- 判断形变类型(沉降、抬升、水平位移等)
- 分析形变的对称性和方向性
- 识别可能的形变驱动机制
**二、地质灾害风险评估**
1. **灾害类型识别**
- 根据形变特征推断可能的地质灾害类型
- 分析灾害的发育阶段和活动性
- 评估灾害的潜在影响范围
2. **风险等级评定**
- 综合形变幅度、速率、分布给出风险等级(低/中/高/极高)
- 指出高风险区域和需要紧急关注的位置
- 提供风险分级的依据和置信度
3. **监测建议**
- 建议后续监测的重点区域
- 推荐监测频率和技术手段
- 提出需要补充的地面调查内容
**三、数据质量与可靠性评价**
1. **相干性分析**
- 评估整体相干性水平
- 识别失相干区域及其原因
- 判断结果的空间覆盖完整性
2. **噪声与误差**
- 识别大气延迟、轨道误差等系统性误差
- 评估随机噪声水平
- 判断是否存在解缠错误
3. **可靠性评分**
- 给出数据质量综合评分(1-10 分)
- 说明评分依据
- 指出结果的适用范围和局限性
**四、综合结论与建议**
- 总结关键发现
- 给出明确的风险判断
- 提供决策支持建议
请以专业、严谨的语言输出完整的 Markdown 格式报告。"""
}
def get_prompt_template(template_name: str) -> str:
"""
获取 Prompt 模板。
Args:
template_name: 模板名称(quick/standard/detailed
Returns:
Prompt 文本
Raises:
ValueError: 模板名称不存在
"""
if template_name not in PROMPT_TEMPLATES:
raise ValueError(
f"Unknown prompt template: {template_name}. "
f"Available templates: {', '.join(PROMPT_TEMPLATES.keys())}"
)
return PROMPT_TEMPLATES[template_name]
def list_prompt_templates() -> Dict[str, Dict[str, str]]:
"""
列出所有可用的 Prompt 模板及其描述。
Returns:
模板字典,格式:{name: {description, preview}}
"""
return {
"quick": {
"description": "快速分析(3-5 句话,适合批量筛查)",
"preview": PROMPT_TEMPLATES["quick"][:100] + "..."
},
"standard": {
"description": "标准分析(包含形变识别、风险评估、质量评价)",
"preview": PROMPT_TEMPLATES["standard"][:100] + "..."
},
"detailed": {
"description": "详细分析(全面深入的专业报告,适合重点区域)",
"preview": PROMPT_TEMPLATES["detailed"][:100] + "..."
}
}