geopandas-spatial
Geospatial and climate data analysis with geopandas and xarray.
Skill by beita6969
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/beita6969-geopandas-spatial
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, ml
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/geopandas-spatial
What's inside
- Skill name
geopandas-spatial- Description
- Geospatial and climate data analysis with geopandas and xarray. Use when: (1) geographic vector data analysis, (2) climate and weather NetCDF data, (3) spatial joins and overlay operations, (4) map visualization, (5) CRS transformations and area calculations. NOT for: satellite imagery ML (use rasterio/torchgeo), real-time GPS tracking, or interactive web maps (use folium/leaflet directly).
- License
- MIT
- Instructions
- 175 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# GeoPandas Spatial Analysis
Geospatial data analysis using geopandas for vector data and xarray for
multidimensional climate/weather datasets.
## When to Use
- Loading and analyzing shapefiles, GeoJSON, GeoPackage
- Spatial joins, intersections, buffers, and dissolves
- Climate and weather data from NetCDF files
- CRS transformations and geographic projections
- Map visualization and choropleth maps
- Area, distance, and geometric calculations
## When NOT to Use
- Satellite imagery classification or ML (use rasterio/torchgeo)
- Real-time GPS tracking or routing
- Interactive web map applications (use folium or deck.gl)
- General tabular data without spatial component (use pandas)
## Reading Vector Data
```python
import geopandas as gpd
# Read various vector formats
gdf = gpd.read_file("boundaries.shp")
gdf = gpd.read_file("data.geojson")
gdf = gpd.read_file("database.gpkg", layer="cities")
# Read from URL
gdf = gpd.read_file("https://example.com/regions.geojson")
# Inspect the GeoDataFrame
print(gdf.head())
print(gdf.crs) # coordinate reference system
print(gdf.geometry.type.unique()) # geometry types present
print(gdf.total_bounds) # [minx, miny, maxx, maxy]
```
## CRS Transformations and Projections
```python
# Check and set CRS
print(gdf.crs) # e.g., EPSG:4326 (WGS84)
gdf = gdf.set_crs("EPSG:4326") # assign if missing
# Reproject to a different CRS
gdf_proj = gdf.to_crs("EPSG:3857") # Web Mercator
gdf_utm = gdf.to_crs("EPSG:32633") # UTM Zone 33N
# Area calculation (reproject to equal-area CRS first)
gdf_equal = gdf.to_crs("ESRI:54009") # Mollweide equal-area
gdf_equal["area_km2"] = gdf_equal.geometry.area / 1e6
```
## Spatial Operations
```python
from shapely.geometry import Point, Polygon, box
# Create geometries
point = Point(-73.985, 40.748)
polygon = Polygon([(-74, 40.7), (-74, 40.8), (-73.9, 40.8), (-73.9, 40.7)])
bbox = box(-74.05, 40.68, -73.90, 40.82)
# Spatial joins
joined = gpd.sjoin(points_gdf, polygons_gdf, how="inner", predicate="within")
# Buffer around geometries (in CRS units)
gdf_buffered = gdf.copy()
gdf_buffered["geometry"] = gdf.geometry.buffer(1000) # 1000m if projected CRS
# Dissolve by attribute (merge geometries)
dissolved = gdf.dissolve(by="region", aggfunc="sum")
# Overlay operations
intersection = gpd.overlay(gdf1, gdf2, how="intersection")
union = gpd.overlay(gdf1, gdf2, how="union")
difference = gpd.overlay(gdf1, gdf2, how="difference")
# Clip to bounding box or polygon
clipped = gpd.clip(gdf, mask=bbox_gdf)
# Nearest join
nearest = gpd.sjoin_nearest(points_gdf, target_gdf, how="left", distance_col="dist_m")
```
## Map Visualization
```python
import matplotlib.pyplot as plt
# Basic plot
ax = gdf.plot(figsize=(12, 8), edgecolor="black", linewidth=0.5)
ax.set_title("Geographic Boundaries")
# Choropleth map
fig, ax = plt.subplots(1, 1, figsize=(14, 10))
gdf.plot(column="population", cmap="YlOrRd", legend=True,
legend_kwds={"label": "Population"}, ax=ax,
edgecolor="gray", linewidth=0.3)
ax.set_axis_off()
plt.savefig("choropleth.pdf", bbox_inches="tight")
# Multi-layer map
fig, ax = plt.subplots(figsize=(12, 8))
polygons_gdf.plot(ax=ax, color="lightblue", edgecolor="gray")
points_gdf.plot(ax=ax, color="red", markersize=5)
lines_gdf.plot(ax=ax, color="darkblue", linewidth=1)
plt.savefig("multi_layer.pdf", bbox_inches="tight")
```
## NetCDF and Climate Data with xarray
```python
import xarray as xr
import numpy as npFrom beita6969/ScienceClaw, MIT.
More from beita6969/ScienceClaw
- 0.608score
scienceclaw-benchmark-for51
beita6969
Use when a task asks to predict a phonon property of inorganic crystals from their structure, for example the frequency of the last peak of the phonon density…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for44
beita6969
Use when a task gives a covariate table plus, for each of many simulated observational datasets, a binary treatment vector and an outcome vector, and asks for…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for43
beita6969
Use when a task gives noisy OCR text of historical newspapers, periodicals or books (several languages, with metadata and a set of labelled OCR/ground-truth…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for34
beita6969
Use when predicting a binary molecular property such as HIV replication inhibition (OGB ogbg-molhiv, MoleculeNet-style activity) from SMILES strings and…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for42
beita6969
Use when a task gives hourly ICU records (vitals, labs, demographics, one stay per patient) with sepsis labels and asks for causal hour-by-hour sepsis alarms…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for33
beita6969
Use when forecasting day-ahead hourly electricity load of individual buildings (residential and commercial smart-meter data, BuildingsBench-style) from the…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for32
beita6969
Use when segmenting the hippocampus into anterior and posterior parts in small 3-D T1-weighted brain MRI crops (Medical Segmentation Decathlon Task04) from a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for35
beita6969
Use when forecasting monthly tourism, visitor or other seasonal business and service series (Monash Tourism Monthly, 24-month horizon, period 12) from each…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark
beita6969
Index of the 23 discipline skills (FoR30-FoR52) that mirror the disciplines of the companion ScienceClaw-Eval benchmark: find which discipline skill fits a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for30
beita6969
Use when segmenting top-down field or UAV RGB images of crops (sugar beet, PhenoBench-style) into soil / crop / weed semantics plus crop-plant and crop-leaf…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for31
beita6969
Use when ranking or predicting the fitness effect of single amino-acid substitutions in a protein (deep mutational scanning, ProteinGym-style assays) from…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for46
beita6969
Use when a task gives Python programming problems (a function stub with docstring or a task description, an entry-point name, a few public assert tests) and…
SkillAFreshness: A★ 1KClaude Code +9
Signals
- Stars
- 1,019
- Forks
- 109
- Open issues
- 1
- Last commit (this folder)
- Mar 12, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/beita6969/ScienceClaw
- Website
- scienceclaw.science
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from beita6969
- 0.608score
scienceclaw-benchmark-for33
beita6969
Use when forecasting day-ahead hourly electricity load of individual buildings (residential and commercial smart-meter data, BuildingsBench-style) from the…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for34
beita6969
Use when predicting a binary molecular property such as HIV replication inhibition (OGB ogbg-molhiv, MoleculeNet-style activity) from SMILES strings and…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for30
beita6969
Use when segmenting top-down field or UAV RGB images of crops (sugar beet, PhenoBench-style) into soil / crop / weed semantics plus crop-plant and crop-leaf…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for32
beita6969
Use when segmenting the hippocampus into anterior and posterior parts in small 3-D T1-weighted brain MRI crops (Medical Segmentation Decathlon Task04) from a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark
beita6969
Index of the 23 discipline skills (FoR30-FoR52) that mirror the disciplines of the companion ScienceClaw-Eval benchmark: find which discipline skill fits a…
SkillAFreshness: A★ 1KClaude Code +9 - 0.608score
scienceclaw-benchmark-for35
beita6969
Use when forecasting monthly tourism, visitor or other seasonal business and service series (Monash Tourism Monthly, 24-month horizon, period 12) from each…
SkillAFreshness: A★ 1KClaude Code +9
Cite this page
geopandas-spatial skill. Agent Mart. https://agentmart.dev/skills/beita6969-geopandas-spatial (last updated 2026-10-24)