import sys import traceback from pathlib import Path import numpy as np # Add project root to sys.path PROJECT_ROOT = Path(__file__).resolve().parent.parent sys.path.insert(0, str(PROJECT_ROOT)) from B04_PreProcess.B04_PreProcess_Engine_VWorld import download_vworld_satellite_map from B04_PreProcess.B04_PreProcess_Engine_GisVector import download_all_gis_vectors PRJ_PATH = PROJECT_ROOT / "storage/1/3/acb9170b-9ac8-49b3-82a0-51cfa32bb42d/B03_FileInput/input/prj/result.prj" NPZ_PATH = PROJECT_ROOT / "storage/1/3/acb9170b-9ac8-49b3-82a0-51cfa32bb42d/B04_PreProcess/processed/ground_points_csf.npz" OUTPUT_DIR = PROJECT_ROOT / "storage/1/3/acb9170b-9ac8-49b3-82a0-51cfa32bb42d/B04_PreProcess/processed" def main(): print("Loading NPZ to get bounds...") with np.load(NPZ_PATH) as data: bounds = data["bounds"] print("Raw bounds:", bounds) bounds_dict = { "x": [float(bounds[0, 0]), float(bounds[0, 1])], "y": [float(bounds[1, 0]), float(bounds[1, 1])], "z": [float(bounds[2, 0]), float(bounds[2, 1])], } print("\n--- Test 1: VWorld Satellite Map Download ---") try: res = download_vworld_satellite_map( prj_path=PRJ_PATH, bounds=bounds_dict, output_dir=OUTPUT_DIR, layer_name="Satellite", ext="jpeg" ) print("Download Result:", res) except Exception as e: print("VWorld Download Failed:") traceback.print_exc() print("\n--- Test 2: GIS Vector Download ---") try: download_all_gis_vectors( prj_path=PRJ_PATH, bounds_meter=bounds_dict, output_dir=OUTPUT_DIR ) print("GIS Vector Download completed.") except Exception as e: print("GIS Download Failed:") traceback.print_exc() if __name__ == "__main__": main()