Swati Kushwaha

Mapzine: Interactive Volcano Map

Mapzine Screenshot

Project Overview

Mapzine is an interactive web-based map application that visualizes global volcano data alongside population density information. Built using Python's Folium library, this project combines geographical data visualization with informative popups to create an engaging educational tool for geology enthusiasts, students, and researchers.

Technical Specifications

Component Technology
Programming Language Python
Data Visualization Folium (Leaflet.js wrapper)
Data Processing Pandas
Data Formats CSV (volcano data), GeoJSON (population data)
Output Standalone HTML file with embedded JavaScript

Key Features

Volcano Visualization

  • 1,500+ global volcanoes plotted
  • Color-coded by elevation (red/green/blue)
  • Custom fire icons from Font Awesome

Interactive Popups

  • Detailed volcano information
  • Elevation and coordinates
  • Direct Google search links

Population Layer

  • Choropleth map showing density
  • Three-color gradient scheme
  • Country-level tooltips

UI Enhancements

  • Dual-layer control system
  • Fixed-position legend
  • Responsive design

Technical Implementation

Data Processing

import folium
import pandas

data = pandas.read_csv("volcanoes.txt")
lat = list(data["LAT"])
lon = list(data["LON"])
elev = list(data["ELEV"])
name = list(data["NAME"])

Marker Generation

def color_producer(elevation):
    if elevation < 1500: return "red"
    elif 1500 <= elevation < 2500: return "green"
    else: return "blue"

for lt, ln, el, nm in zip(lat, lon, elev, name):
    folium.Marker(
        location=[lt, ln],
        popup=folium.Popup(html=volcano_popup_html.format(...)),
        icon=folium.Icon(color=color_producer(el), icon='fire')
    ).add_to(map)

Challenges & Solutions

Challenge Solution
Popup scrollbars disrupting UX Custom HTML with fixed dimensions
Slow rendering with 1,500+ markers Batch processing with generator functions
Colorblind accessibility High-contrast color palette selection
Mobile responsiveness Folium's built-in mobile adaptations

Future Enhancements

  • Real-time seismic data integration
  • 3D elevation profiles
  • User-submitted volcano photos
  • Eruption history timelines
Back to Projects