Skip to content
Back to skills

Geojson And Data

ASecurity

"Render GeoJSON, TopoJSON, and choropleths in Folium with stable

  • 247 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added September 8, 2026
toolsjavascriptpythonjava

Works with

  • cli

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill geojson-and-data --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Geojson And Data?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Geojson And Data
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-geojson-and-data/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-geojson-and-data)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: geojson-and-data
description: "Render GeoJSON, TopoJSON, and choropleths in Folium with stable
  identifiers, correct coordinate order, and validated data bindings."
disable-model-invocation: true
metadata:
  disco-role: operating
license: NOASSERTION
---

# GeoJSON and data

Use this sub-skill when you need Folium's geospatial data surfaces: `GeoJson`, `TopoJson`, `Choropleth`, `GeoJsonTooltip`, `GeoJsonPopup`, `ClickForMarker`, `ClickForLatLng`, or `JsCode` callbacks tied to `GeoJson`.

## Use when

- the input is GeoJSON, TopoJSON, a `__geo_interface__` object, or a GeoPandas `GeoDataFrame`
- tabular values must be joined to shapes for a choropleth
- feature-level styling, highlighting, tooltips, popups, or JavaScript callbacks are needed
- point geometries need `marker=...` customization inside `GeoJson`
- coordinate-order issues or missing identifiers need render-time diagnosis

## Route elsewhere

- base maps, tile selection, layer composition, and non-GeoJSON overlays -> `../map-and-layers/SKILL.md`
- Search, Timeline, TimestampedGeoJson, Realtime, VectorGrid, and similar plugin workflows -> `../plugins/SKILL.md`
- upstream GIS cleaning, topology repair, or CRS surgery beyond Folium's render contract -> keep that upstream

## Working order

1. Normalize the input form and confirm the geometry surface.
2. Check coordinate order: Folium map and marker inputs are `[lat, lon]`; GeoJSON coordinates are `[lon, lat]`.
3. Choose `GeoJson`, `TopoJson`, or `Choropleth`.
4. Decide the join key (`id`, `properties.*`, or `key_on`) before styling.
5. Attach `GeoJsonTooltip` and `GeoJsonPopup` only after confirming the property fields exist.
6. Use `JsCode` for `on_each_feature` when Python callbacks are not enough.
7. Validate missing values, bins, and legend behavior before handoff.

## Bundled references

- [Data formats and input contracts](references/data-formats.md)
- [Workflow recipes](references/geojson-choropleth-workflows.md)
- [Troubleshooting](references/troubleshooting.md)

## Bundled script

- [render_geojson_choropleth.py](scripts/render_geojson_choropleth.py) — tiny no-network smoke test for GeoJSON/choropleth binding, with optional `--geojson`, `--csv`, and `--output`.

## Quick reminders

- `GeoJson` accepts dicts, JSON strings, file paths, URLs, and objects with `__geo_interface__`; if `to_crs` exists, Folium reprojects to `EPSG:4326` before rendering.
- `TopoJson` needs an object path such as `objects.counties`.
- `Choropleth` expects table keys to match `key_on`; `bins` can be an integer or an explicit edge list.
- `ClickForMarker` and `ClickForLatLng` are map helpers, not `GeoJson.marker` types.
- For loop-built `style_function`s, bind loop variables early (`style=style`) to avoid late-binding closure bugs.
- If `embed=False`, keep the source as a URL or file path and provide data that can already behave as a FeatureCollection for styling.
- `ClickForLatLng` is useful when diagnosing swapped coordinate order because it reports clicked map coordinates in Folium's `[lat, lon]` order.

Files in this skill

  • SKILL.md3 KB
  • references/data-formats.md3.4 KB
  • references/geojson-choropleth-workflows.md3.5 KB
  • references/troubleshooting.md4.5 KB
  • scripts/render_geojson_choropleth.py11.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.