Skip to main content

Streamlined academic tool for wind turbine height estimation using 2D ground shadow models and ephemeris.

Project description

🌪️ Academic Wind Turbine Height Estimator (ZT)

A streamlined, industrial-grade Python tool for robust wind turbine height inversion from optical remote sensing imagery.

Unlike traditional methods that struggle with relief displacement (satellite side-looking distortion), this tool strictly utilizes a Pure Ground Shadow Model (Base-to-Shadow Tip) extracted via deep learning. By operating entirely on the 2D ground plane, the system naturally immunizes itself against 3D satellite viewing geometric distortions.

🌟 Core Architectural Breakthroughs

  • Zero Distortion Inversion: Relies purely on ground-projected shadow distances, eliminating the need for complex satellite elevation/azimuth compensation.
  • Triple-Track Data Injection: Adaptive input routing handling standard metadata, manual overrides, or entirely missing metadata.
  • Astronomical Ephemeris Fallback: Includes a built-in orbital mechanics engine. Provide the spatial coordinates and time, and the system mathematically resolves the solar geometry—no metadata required.

🛠️ Environment Initialization

pip install --upgrade wind-turbine-academic-zt

(Note: Ensure PyTorch and Ultralytics YOLOv8 are properly configured in your environment before execution).

🚀 Execution Protocols (Triple-Track Architecture)

The system operates via a unified CLI entry point. You must provide the target image (--tiff) and its Ground Sample Distance (--gsd).

Choose ONE of the three operational tracks based on your available data:

Track 1: Automated XML Parsing (Standard)

Automatically extracts solar geometry from standard satellite metadata (e.g., GF-2). Includes anomaly interception for known telemetry issues (e.g., Zenith/Elevation confusion).

python main.py --tiff data/demo.tif --gsd 0.8 --xml data/demo.xml

Track 2: Manual Angle Injection

Bypass metadata extraction entirely and inject a known solar elevation angle directly.

python main.py --tiff data/demo.tif --gsd 0.8 --sun_ele 63.18

Track 3: Astronomical Ephemeris Mode (Metadata-Free)

If metadata is lost or corrupted (e.g., drone imagery, historical archives), provide the geospatial and temporal coordinates. The built-in ephemeris engine will resolve the solar angle mathematically.

python main.py --tiff data/demo.tif --gsd 0.8 --ephemeris --lat 38.25 --lon 107.10 --time "2026-05-25 04:00:00"

📊 Output Artifacts

Upon successful execution, verified artifacts are generated in the output/ directory:

  • final_heights.csv: Contains extracted Pixel Distances, Ground Shadow Lengths, and Calculated Physical Heights (m).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wind_turbine_academic_zt-1.1.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file wind_turbine_academic_zt-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for wind_turbine_academic_zt-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19379edcb87cdd15560f8929dea2e6ad1f840c4b095b2021b9f013d17094c570
MD5 a8393bd5cc862bc913955cd35e89cef5
BLAKE2b-256 43245a5ccf23adb1f7c1a564ffcd01a223d9288c00d848604ad595f77a309126

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page