Files
geo_process/main.py
2025-11-09 18:23:19 +08:00

57 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# main.py
import arcpy
import os
import sys
# 将项目根目录添加到Python路径以便导入自定义模块
# 假设 main.py 在项目根目录
project_root = os.path.dirname(os.path.abspath(__file__))
if project_root not in sys.path:
sys.path.insert(0, project_root)
from src import config
from src.utils.logger_setup import logger
from src.analysis.spatial_analyzer import SpatialAnalyzer
from src.reporting.report_generator import ReportGenerator
def main():
"""
项目主入口函数,负责调度空间分析和报告生成流程。
"""
logger.info("==================================================")
logger.info(" 地理处理与土壤属性分析项目启动 ")
logger.info("==================================================")
# 确保ArcPy环境可用
try:
arcpy.GetInstallInfo()
logger.info(f"ArcPy环境已加载: {arcpy.GetInstallInfo()['ProductName']} {arcpy.GetInstallInfo()['Version']}")
except Exception as e:
logger.critical(f"ArcPy环境未正确配置或加载失败: {str(e)}")
logger.critical("请确保在ArcGIS Pro的Python环境中运行此脚本。")
sys.exit(1)
# 1. 执行空间分析
logger.info("阶段一:开始执行空间分析...")
analyzer = SpatialAnalyzer(config)
analysis_success = analyzer.execute_analysis()
# 2. 如果分析成功,则生成报告
if analysis_success:
logger.info("阶段二空间分析完成开始生成Excel报告...")
reporter = ReportGenerator(config)
report_success = reporter.generate_report()
if report_success:
logger.info("阶段二Excel报告生成完毕")
else:
logger.error("阶段二Excel报告生成失败。")
else:
logger.error("阶段一:空间分析失败,请检查日志。")
logger.info("==================================================")
logger.info(" 地理处理与土壤属性分析项目结束 ")
logger.info("==================================================")
if __name__ == "__main__":
main()