AgentSkillsCN

denmark-map

创建丹麦行政区划的Plotly等值地图。当需要在地图上可视化地理数据时使用。

SKILL.md
--- frontmatter
name: denmark-map
description: Create plotly choropleth maps of Danish administrative regions. Use when visualizing geographic data on a map.

Denmark Map Plots

Create choropleth maps using GeoParquet boundary files at /geo/.

Available Files

FileLevelCountdim_kode source
kommuner.parquetKommuner99kode → dim.nuts.kode
regioner.parquetRegioner5kode → dim.nuts.kode
landsdele.parquetLandsdele11nuts3 → dim.nuts.kode
politikredse.parquetPolitikredse12kode → dim.politikredse.kode
retskredse.parquetRetskredse24kode
sogne.parquetSogne2,097kode
postnumre.parquetPostnumre1,089nr (postal code)
storkredse.parquetStorkredse10nummer
valgkredse.parquetValgkredse92kode
afstemningsomraader.parquetAfstemningsområder1,315dagi_id

Schema

Each file is a GeoParquet with:

  • Index: dim_kode (int) — for kommuner/regioner/landsdele this matches dim.nuts.kode; other layers use their native ID (see table above)
  • navn: Region/kommune name (str)
  • geometry: Polygon boundaries in WGS84 (EPSG:4326)

Merge data with geo boundaries

python
geo = gpd.read_parquet("/geo/kommuner.parquet")
df = df[df["omrade"] != 0]  # drop whole-country aggregate
merged = geo.merge(df, left_index=True, right_on="omrade")

Plot map

Use px.choropleth_map. Pass merged.geometry as geojson and merged.index as locations — plotly matches each feature by position.

python
fig = px.choropleth_map(
    merged,
    geojson=merged.geometry,
    locations=merged.index,
    color="value_column",
    hover_name="navn",
    map_style="carto-positron",
    center={"lat": 56.0, "lon": 10.5},
    zoom=5.8,
)
fig.update_layout(margin=dict(l=0, r=0, t=40, b=0), height=550)

Denmark center: lat=56.0, lon=10.5, zoom 5.8 fits the mainland and islands. Bornholm (far east) may appear small — zoom 5.0 if it matters.