Excercise: Geopandas
Aufgabe
Eine Tabelle mit der Liste aller Recovery Landeplätze auf der Erde erstellen
Python Code für Darstellung mittels Geopandas in Google Colab Notebook
Table with Geolocations
Generate a table with all landing coordinates on earth, with the location of all apollo missions
Here’s a table of all Apollo mission landing coordinates on Earth and their respective recovery locations:
Mission
Landing Date
Landing Coordinates (Earth)
Recovery Location
Apollo 7
Oct 22, 1968
27.23° N, 64.04° W
North Atlantic Ocean
Apollo 8
Dec 27, 1968
8.10° N, 165.00° W
Pacific Ocean
Apollo 9
Mar 13, 1969
23.25° N, 67.56° W
Atlantic Ocean
Apollo 10
May 26, 1969
15.25° S, 164.55° W
Pacific Ocean
Apollo 11
Jul 24, 1969
13.30° N, 169.15° W
Pacific Ocean, near USS Hornet
Apollo 12
Nov 24, 1969
15.78° S, 165.15° W
Pacific Ocean, near USS Hornet
Apollo 13
Apr 17, 1970
21.63° S, 165.39° W
Pacific Ocean, near USS Iwo Jima
Apollo 14
Feb 9, 1971
27.02° S, 172.65° W
Pacific Ocean
Apollo 15
Aug 7, 1971
26.13° N, 158.13° W
Pacific Ocean
Apollo 16
Apr 27, 1972
0.70° N, 156.23° W
Pacific Ocean
Apollo 17
Dec 19, 1972
16.47° S, 166.12° W
Pacific Ocean
Python Code
Create python code for those coordinates using geopandas in a colab book
# Install necessary libraries in Colab
!pip install geopandas matplotlib descartes
# Import libraries
import geopandas as gpd
import pandas as pd
import matplotlib.pyplot as plt
from shapely.geometry import Point
import os # Import the os module
# Define the Apollo mission landing coordinates and locations
data = {
"Mission": [
"Apollo 7", "Apollo 8", "Apollo 9", "Apollo 10",
"Apollo 11", "Apollo 12", "Apollo 13", "Apollo 14",
"Apollo 15", "Apollo 16", "Apollo 17"
],
"Latitude": [27.23, 8.10, 23.25, -15.25, 13.30, -15.78, -21.63, -27.02, 26.13, 0.70, -16.47],
"Longitude": [-64.04, -165.00, -67.56, -164.55, -169.15, -165.15, -165.39, -172.65, -158.13, -156.23, -166.12]
}
# Create a Pandas DataFrame
df = pd.DataFrame(data)
# Create a GeoDataFrame with the coordinates
geometry = [Point(xy) for xy in zip(df["Longitude"], df["Latitude"])]
gdf = gpd.GeoDataFrame(df, geometry=geometry)
# Download the world map data from Natural Earth
!wget https://naturalearth.s3.amazonaws.com/110m_cultural/ne_110m_admin_0_countries.zip
!unzip ne_110m_admin_0_countries.zip
# Load the world map using GeoPandas
world = gpd.read_file("ne_110m_admin_0_countries.shp") # Load the world map data
# Plot the world map
fig, ax = plt.subplots(figsize=(12, 8))
world.plot(ax=ax, color="lightgrey")
# Plot the landing sites
gdf.plot(ax=ax, color="red", markersize=50, label="Apollo Landing Sites")
# Annotate the map with mission names
for x, y, label in zip(gdf.geometry.x, gdf.geometry.y, gdf["Mission"]):
ax.text(x + 2, y, label, fontsize=8, color="blue")
# Add title and legend
plt.title("Apollo Mission Landing Sites on Earth", fontsize=14)
plt.legend(loc="lower left")
plt.show()
Output

Last updated