agentsclimarketplace

Geojson processing

Skill cxcscmu/SkillLearnBench/skills/b1-one-shot-claude-opus-4-6/earthquake-plate-calculation/geojson-processing

Loading and processing GeoJSON earthquake and plate boundary data with GeoPandas for spatial analysis.From its SKILL.md

Install
npx -y skills add cxcscmu/SkillLearnBench --skill geojson-processing

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

1.2 KB, 342 tokens by cl100k_base, as published. Nobody here has run it

GeoJSON Processing with GeoPandas

Loading GeoJSON Files

import geopandas as gpd

# Standard GeoJSON
gdf = gpd.read_file("file.geojson")

# USGS Earthquake GeoJSON specifics:
# - Coordinates are [longitude, latitude, depth]
# - Time is in milliseconds since epoch
# - Properties include: mag, place, time, type, id

USGS Earthquake Time Conversion

import pandas as pd
from datetime import datetime, timezone

# Convert epoch ms to ISO 8601
timestamp_ms = 1735537742808
dt = datetime.fromtimestamp(timestamp_ms / 1000, tz=timezone.utc)
iso_str = dt.strftime("%Y-%m-%dT%H:%M:%SZ")

Extracting Coordinates from GeoJSON Points

# After loading with GeoPandas
gdf["longitude"] = gdf.geometry.x
gdf["latitude"] = gdf.geometry.y

Writing Results to JSON

import json

result = {
    "id": "us6000pgf9",
    "place": "13 km NW of Port-Vila, Vanuatu",
    "time": "2024-12-30T03:29:02Z",
    "magnitude": 5.1,
    "latitude": -17.6555,
    "longitude": 168.2183,
    "distance_km": 1234.56
}

with open("answer.json", "w") as f:
    json.dump(result, f, indent=2)

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.