A simulated real-time typhoon visualization system that scrapes and animates tropical storms worldwide.
See releases for app installation
map_maker.py
)typhoon_scraper.py
).JSON
to root/data
folderstormchaser.py
)category_colors = {
0: (135, 206, 235), # Light Blue
1: (100, 238, 100), # Light Green
2: (225, 225, 0), # Yellow
3: (255, 130, 0), # Orange
4: (255, 0, 0), # Red
5: (255, 0, 255) # Purple
}
pip install -r requirements.txt
Required packages:
Generate the map (first run only):
python scripts/map_maker.py
Start the visualization:
python scripts/stormchaser.py
{
"name": str, # Typhoon name
"path": [{
"time": str, # Format: "YYYY-MM-DD HH:MM"
"lat": float, # Latitude
"long": float, # Longitude
"class": int, # Intensity category (0-5)
"speed": str, # Wind speed in km/h
"pressure": int # Pressure in hPa
}],
"start_time": int # Animation start time offset
}
Key parameters that can be adjusted:
# Time scaling
TIME_SCALE_FACTOR = 1 / (12 * 60 * 60) # 1 second = 12 hours
# Screen dimensions
SCREEN_WIDTH, SCREEN_HEIGHT = 1200, 900
# Animation parameters
fade_in_duration = 1
fade_out_duration = 0.5
fps_target = 120
Install pyinstaller
pip install pyinstaller
Navigate to the root folder (example):
cd C:\Users\User\Documents\GitHub\Project Stormchaser
Run the following command:
pyinstaller --add-data "resources/*;resources" --add-data "data/*;data" --noconsole --icon=resources\_stormchaser.ico scripts/stormchaser.py
View the output dist folder in file explorer and go inside _internals
Move both the data
and resources
folder outside, so the structure will look like this:
βdist
β ββββstormchaser
β ββββdata
β ββββresources
β ββββ_internal
β ββββcartopy
β ββββcertifi
β ββββ...other
Launch the executable located inside stormchaser
, and ensure it is working correctly.
You can now package stormchaser
as a ZIP, or use software installer setups like Inno Setup Compiler
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)