Skip to content

suhaasteja/weather-map

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

9 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽˆ Weather Balloon Monitor

An interactive web application for exploring global weather data from Windborne Systems balloon stations with real-time visualizations and analytics.

Weather Map License Mapbox

๐Ÿ“ธ Screenshot

Weather Map Application


โœจ Features

๐Ÿ—บ๏ธ Interactive Map

  • Global Coverage: Explore weather stations worldwide with an interactive Mapbox-powered map
  • Smart Clustering: Automatically groups nearby stations for better visualization at different zoom levels
  • Smooth Navigation: Pan, zoom, and click to explore weather data seamlessly

๐Ÿ“Š Advanced Analytics

Temperature Heatmaps

  • Hourly Patterns: Visualize temperature variations across 24-hour periods
  • Historical Trends: Track temperature changes over multiple days
  • Dynamic Color Scaling: Automatically adjusts color ranges based on actual data
  • Interactive Tooltips: Hover over any data point for detailed information

Wind Rose Analysis

  • Direction Distribution: See prevailing wind directions across 16 compass points
  • Speed Categories: Wind speeds grouped into 5 ranges (0-5, 5-10, 10-15, 15-25, >25 mph)
  • Statistical Summary: Average speed, maximum speed, and prevailing direction
  • Polar Visualization: Intuitive circular chart showing wind patterns

๐Ÿ”’ Simple Authentication

  • API Key Protection: API key stored only in browser session storage
  • Session-Based: Key persists until browser tab is closed
  • No Server Required: All validation happens client-side
  • Easy Setup: Just enter your API key when the app loads

๐Ÿ“ Station Details

  • Station ID and network information
  • Elevation and timezone data
  • Precise GPS coordinates
  • Historical data point counts
  • Date range coverage

๐Ÿš€ Getting Started

Prerequisites

  • A modern web browser (Chrome, Firefox, Safari, or Edge)
  • A Mapbox API key (Get one free here)
  • A local web server or hosting platform

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/weather-map.git
    cd weather-map
  2. Get a Mapbox API key

    Sign up at Mapbox and get your free API key.

  3. Serve the application

    Using Python:

    python -m http.server 8000

    Or using Node.js:

    npx http-server -p 8000
  4. Access the application

    Open your browser and navigate to:

    http://localhost:8000/auth.html
    
  5. Enter your API key

    When prompted, enter your Mapbox API key. It will be stored in your browser session.


๐Ÿ“ Project Structure

weather-map/
โ”œโ”€โ”€ index.html          # Main application page
โ”œโ”€โ”€ auth.html           # Authentication page
โ”œโ”€โ”€ app.js              # Core application logic
โ”œโ”€โ”€ config.js           # Configuration and API key hash
โ”œโ”€โ”€ styles.css          # Application styles
โ”œโ”€โ”€ assets/             # Images and icons
โ”‚   โ””โ”€โ”€ weather-balloon.png
โ””โ”€โ”€ README.md           # This file

๐Ÿ”ง Configuration

API Key Security

The application uses a simple session-based approach:

  1. Session Storage: Your API key is stored in browser session storage
  2. Session Lifetime: Key persists until you close the browser tab
  3. No Transmission: Your API key is never sent to any server except Mapbox's official API
  4. No Repository Exposure: The key is never committed to your Git repository

Customization

Modify Map Style

In app.js, change the Mapbox style:

const map = new mapboxgl.Map({
  style: "mapbox://styles/mapbox/streets-v12", // or dark-v11, light-v11, etc.
});

๐ŸŒ Deployment

GitHub Pages

  1. Push to GitHub
    git add .
    git commit -m "Initial commit"
    git push origin main
  2. Enable GitHub Pages in repository settings
  3. Set source to main branch
  4. Access at https://yourusername.github.io/weather-map/auth.html
  5. Enter your API key when prompted

Netlify

  1. Connect your repository to Netlify
  2. Set build command: (none needed)
  3. Set publish directory: /
  4. Deploy

Vercel

vercel --prod

๐Ÿ“Š Data Sources


๐ŸŽฏ Use Cases

  • โœˆ๏ธ Aviation Planning: Analyze wind patterns for flight route optimization
  • ๐ŸŒพ Agriculture Monitoring: Track temperature and weather trends for crop management
  • ๐Ÿ’จ Wind Energy Assessment: Evaluate wind resources for renewable energy projects
  • ๐Ÿ”ฌ Climate Research: Study long-term weather patterns and anomalies
  • ๐ŸŒค๏ธ Weather Forecasting: Access historical data for prediction models

๐Ÿ› ๏ธ Technologies Used

  • Frontend Framework: Vanilla JavaScript (ES6+)
  • Mapping: Mapbox GL JS v3.15.0
  • Charting Libraries:
    • ApexCharts v3.x
    • Highcharts v11.x
  • Styling: Custom CSS3 with modern features
  • Security: Web Crypto API (SHA-256)

๐Ÿ”ฎ Upcoming Features

๐Ÿค– Interactive Chatbot

  • AI-powered weather insights
  • Natural language queries
  • Pattern recognition and analysis

โœˆ๏ธ Flight Collision Analysis

  • Real-time airplane tracking
  • Collision risk assessment with weather balloons
  • Safety alerts and notifications

๐Ÿ› Known Issues

  • Large datasets may cause performance issues on older browsers
  • Some stations may have incomplete historical data
  • Wind rose requires sufficient data points for accurate visualization

๐Ÿค Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ‘ค Author

Your Name


๐Ÿ™ Acknowledgments

  • Windborne Systems for providing weather balloon data
  • Mapbox for the mapping platform
  • ApexCharts & Highcharts for visualization libraries
  • The open-source community for inspiration and support

๐Ÿ“ง Contact

For questions or support, please open an issue or contact your.email@example.com


๐Ÿ” Security Note

Important: Your Mapbox API key is stored only in your browser's session storage and is never committed to the repository. The key is cleared when you close the browser tab.

If you want to add additional security:

  • Use Mapbox token URL restrictions in your Mapbox account
  • Set usage limits on your token
  • Rotate your API keys periodically

Made with โค๏ธ and โ˜•

โญ Star this repo if you find it helpful!

About

An interactive web application for exploring global weather data from Windborne Systems balloon stations with real-time visualizations and analytics.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors