usgs-earthquake-geojson · git:20260424.d50cf5a · 2026-04-24 · sha256 90152081d8de4030

usgs-earthquake-geojson git:20260424.d50cf5aA

Immutable. This exact content never changes and is served at /api/v1/blob/90152081d8de4030.

---
name: usgs-earthquake-geojson
description: Parse and work with USGS earthquake GeoJSON data, extracting IDs, magnitudes, coordinates, times, and place descriptions.
---

# USGS Earthquake GeoJSON Parsing

## Data Structure
USGS earthquake GeoJSON follows the standard FeatureCollection format:
```json
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "mag": 5.1,
        "place": "13 km NW of Port-Vila, Vanuatu",
        "time": 1735537742808,   // Unix timestamp in milliseconds
        "mag": 5.1,
        "magType": "mww"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [168.2183, -17.6555, 66.612]  // [lon, lat, depth_km]
      },
      "id": "us6000pgf9"
    }
  ]
}
```

## Loading into GeoDataFrame
```python
import geopandas as gpd
import json
from datetime import datetime, timezone

with open("earthquakes_2024.json") as f:
    eq_data = json.load(f)

records = []
for feat in eq_data["features"]:
    props = feat["properties"]
    coords = feat["geometry"]["coordinates"]
    time_ms = props["time"]
    time_iso = datetime.fromtimestamp(time_ms / 1000, tz=timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
    records.append({
        "id": feat["id"],
        "place": props["place"],
        "time": time_iso,
        "magnitude": props["mag"],
        "longitude": coords[0],
        "latitude": coords[1],
    })

gdf = gpd.GeoDataFrame(
    records,
    geometry=gpd.points_from_xy([r["longitude"] for r in records], [r["latitude"] for r in records]),
    crs="EPSG:4326"
)
```

## Key Notes
- `time` field is Unix timestamp in **milliseconds** (divide by 1000 for seconds)
- `geometry.coordinates` is `[longitude, latitude, depth_km]` — NOT `[lat, lon]`
- Use `datetime.fromtimestamp(ms/1000, tz=timezone.utc)` for ISO 8601 UTC formatting