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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wind_turbine_academic_zt-1.1.1.tar.gz.
File metadata
- Download URL: wind_turbine_academic_zt-1.1.1.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28d5fd2ae7f6ed76ed4045c201f8fff2de25d44881dd92a9d8502bc1b091e439
|
|
| MD5 |
5e86a5bf4ab13e8af7966146610a000a
|
|
| BLAKE2b-256 |
c0e441f88d431e5cfdbb5f61e1860e27517f6c4a1af03d110533405f50bd469f
|
File details
Details for the file wind_turbine_academic_zt-1.1.1-py3-none-any.whl.
File metadata
- Download URL: wind_turbine_academic_zt-1.1.1-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6638ed7da3e339bb8cb6667c3f8f54514df0062e8a8ed8cc8c4342dce6d36513
|
|
| MD5 |
cf17f35585737307a225df4e80ea270f
|
|
| BLAKE2b-256 |
9d60e456072cbd2bdcb480229d0c5db79fb94304f8d84297e0cd4360a83962d4
|