Giter VIP home page Giter VIP logo

rjbarker / leaflet-challenge Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 6.73 MB

Using a live Dataset from USGS, create a Leaflet Map Visualization of the Global earthquakes. Markers represent the magnitude and depth at which they occurred

Home Page: https://rjbarker.github.io/leaflet-challenge/

HTML 14.23% CSS 7.23% JavaScript 78.55%
html-css-javascript html5 javascript leaflet-map leafletjs usgs usgs-api usgs-earthquake

leaflet-challenge's Introduction

leaflet-challenge

Scenario

The United States Geological Survey, or USGS for short, is responsible for providing scientific data about natural hazards, the health of our ecosystems and environment, and the impacts of climate and land-use change. Their scientists develop new methods and tools to supply timely, relevant, and useful information about the Earth and its processes.

The USGS is interested in building a new set of tools that will allow them to visualize their earthquake data. They collect a massive amount of data from all over the world each day, but they lack a meaningful way of displaying it. In this challenge, you have been tasked with developing a way to visualize USGS data that will allow them to better educate the public and other government organizations (and hopefully secure more funding) on issues facing our planet.

Using one of the GeoJSON API endpoints from USGS:

  • Visualize the global earthquakes on a Leaflet map
  • Build upon the map by introducing additional data

Leaflet Map

Required steps:

  • Get your dataset.
    • I chose to use the Past 7 Days dataset which can be found here
  • Import and visualize the data by doing the following:
    • Using Leaflet, create a map that plots all the earthquakes from your dataset based on their longitude and latitude.
      • Your data markers should reflect the magnitude of the earthquake by their size and the depth of the earthquake by color. Earthquakes with higher magnitudes should appear larger, and earthquakes with greater depth should appear darker in color.
    • Include popups that provide additional information about the earthquake when its associated marker is clicked.
    • Create a legend that will provide context for your map data.

Marker Popup Example
Marker Popup Example

Gather and Plot More Data

  • Plot a second dataset on your map to illustrate the relationship between tectonic plates and seismic activity. You will need to pull in this dataset and visualize it alongside your original data.
  • Perform the following tasks:
    • Plot the tectonic plates dataset on the map in addition to the earthquakes.
    • Add other base maps to choose from.
    • Put each dataset into separate overlays that can be turned on and off independently.
    • Add layer controls to your map.

Completed Visualization
Map Example

Note: Due to CORS, the tectonic plates do not load within the GitHub Pages representation. Please follow the below steps to view


Steps to View Full Map Visualization

  • Clone this repo
  • Navigate to the directory using the terminal
  • Within the terminal run the following command:
    • python -m http.server
  • Open a browser window and navigate to: 127.0.0.1:8000
  • The full map should display correctly here

References

Reference Name Description
CSS Styling for the Legend CSS styling was adapted from Module 15, Class 3, Activity 02-Citi Bike Leaflet (Solved) File
D3 Library D3 by Observable. Used to build visuals and manipulate HTML/CSS elements
edX Boot Camps LLC Putting the assignment together and supplying of the starter files
fraxen/tectonicplates GitHub Repo containing json files for the boundaries of Earth's Tectonic Plates
Leaflet Leaflet is the leading open-source JavaScript library for mobile-friendly interactive maps.
Plotly Library JavaScript library which enables the creation of Interactive Visuals with low code
United States Geological Survey Provided the API endpoints required for the dataset retrieval

leaflet-challenge's People

Contributors

rjbarker avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.