Skip to content

Analyzing the relationship between latitude and weather with Python and Jupyter Notebook to produce map of the ideal vacation locations.

Notifications You must be signed in to change notification settings

BrittneyOleniacz/Latitudinal_Weather_Trends

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

What's the Weather Like?

Background

QUESTION: "What's the weather like as we approach the equator?"

Now, we know what you may be thinking: "Duh. It gets hotter..."

But, if pressed, how would you prove it?

Part I - Weather

Creating a Python script to visualize the weather of 500+ cities across the world of varying distance from the equator. To accomplish this, I utilized a Python (https://pypi.python.org/pypi/citipy), the OpenWeatherMap API, and a little common sense to create a representative model of weather across world cities.

First, I create a series of scatter plots in Jupyter Notebook, using Matlibpro to showcase the following relationships:

  • Temperature (F) vs. Latitude
  • Humidity (%) vs. Latitude
  • Cloudiness (%) vs. Latitude
  • Wind Speed (mph) vs. Latitude

Second, run linear regression on each relationship, separating them into Northern Hemisphere and Southern Hemisphere:

  • Northern Hemisphere - Temperature (F) vs. Latitude
  • Southern Hemisphere - Temperature (F) vs. Latitude
  • Northern Hemisphere - Humidity (%) vs. Latitude
  • Southern Hemisphere - Humidity (%) vs. Latitude
  • Northern Hemisphere - Cloudiness (%) vs. Latitude
  • Southern Hemisphere - Cloudiness (%) vs. Latitude
  • Northern Hemisphere - Wind Speed (mph) vs. Latitude
  • Southern Hemisphere - Wind Speed (mph) vs. Latitude

For a final product, I wrote code to:

  • Randomly select 500+ unique (non-repeat) cities based on latitude and longitude.
  • Perform a weather check on each of the cities using a series of successive API calls.
  • Include a print log of each city as it's being processed with the city number and city name.
  • Save a CSV of all retrieved data and a PNG image for each scatter plot.

Vacation

Now let's use your skills in working with weather data to plan future vacations.

  • Note: Remember that any API usage beyond the $200 credit will be charged to your personal account. You can set quotas and limits to your daily requests to be sure you can't be charged. Check out Google Maps Platform Billing and Manage your cost of use for more information.

  • Create a heat map that displays the humidity for every city found.

    heatmap

  • Narrow down the cities to find your ideal weather condition.

    • A max temperature lower than 80 degrees but higher than 70.
    • Wind speed less than 10 mph.
    • Zero cloudiness.
    • Drop any rows that don't contain all three conditions. You want to be sure the weather is ideal.
    • Note: Feel free to adjust to your specifications but be sure to limit the number of rows returned by your API requests to a reasonable number.
  • Using Google Places API to find the first hotel for each city located within 5000 meters of your coordinates.

  • Plot the hotels on top of the humidity heatmap with each pin containing the Hotel Name, City, and Country.

As final considerations:

  • For Part I, you must include a written description of three observable trends based on the data.
  • For Part II, you must include a screenshot of the heatmap you create and include it in your submission.

Hints and Considerations

  • The city data you generate is based on random coordinates as well as different query times; as such, your outputs will not be an exact match to the provided starter notebook.

  • Next, spend the requisite time necessary to study the OpenWeatherMap API. Based on your initial study, you should be able to answer basic questions about the API: Where do you request the API key? Which Weather API in particular will you need? What URL endpoints does it expect? What JSON structure does it respond with? Before you write a line of code, you should be aiming to have a crystal clear understanding of your intended outcome.

  • A starter code for Citipy has been provided. However, if you're craving an extra challenge, push yourself to learn how it works: citipy Python library. Before you try to incorporate the library into your analysis, start by creating simple test cases outside your main script to confirm that you are using it correctly. Too often, when introduced to a new library, students get bogged down by the most minor of errors -- spending hours investigating their entire code -- when, in fact, a simple and focused test would have shown their basic utilization of the library was wrong from the start. Don't let this be you!

  • In building your script, pay attention to the cities you are using in your query pool. Are you getting coverage of the full gamut of latitudes and longitudes? Or are you simply choosing 500 cities concentrated in one region of the world? Even if you were a geographic genius, simply rattling 500 cities based on your human selection would create a biased dataset. Be thinking of how you should counter this. (Hint: Consider the full range of latitudes).

About

Analyzing the relationship between latitude and weather with Python and Jupyter Notebook to produce map of the ideal vacation locations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published