Skill: simskii/umea-data (version 1.0.0)

# Umeå Data - Open Data från Umeå kommun Query open data from Umeå kommun about locations, facilities, demographics, environment, and more. ## API Base URL `https://opendata.umea.se/api/v2/` ## Available Data Categories ### 🏞️ Recreation & Facilities #### **Lekplatser (Playgrounds)** - Dataset ID: `gop_lekparker` - Contains playground locations managed by Gator och Parker - Fields: namn, omrade, coordinates (geo_point_2d), contact info - Example: "Var är närmaste lekplats till Mariehem?" #### **Badplatser (Swimming Spots)** - Dataset ID: `badplatser` - Public swimming locations in Umeå - Fields: namn, omrade, typ, coordinates, handik_anp (accessibility) - Example: "Vilka badplatser finns i Umeå?" #### **Vandringsleder (Hiking Trails)** - Dataset ID: `vandringsleder` - Hiking trails with routes and distances - Fields: namn, delstracka, kommun, klass, langd (length in meters), geo_shape (trail geometry) - Example: "Var kan jag vandra i Umeå?" #### **Rastplatser (Rest Areas)** - Dataset ID: `rastplatser` - Rest stops and picnic areas - Fields: name, location coordinates - Example: "Var finns rastplatser?" #### **Träd (Trees)** - Dataset ID: [REDACTED_SECRET] - Trees managed by Gator och Parker - Fields: tree type, location, management data - Example: "Vilka träd finns i området?" ### ⚡ Infrastructure #### **Laddplatser (EV Charging Stations)** - Dataset ID: `laddplatser` - Electric vehicle charging stations - Fields: name, street, house_number, zipcode, city, owned_by, operator, number_charging_points, available_charging_points, position (lon/lat) - Example: "Finns det laddplatser nära centrum?" #### **WiFi Hotspots** - Dataset ID: `wifi-hotspots` - Public WiFi access points - Fields: popularnamn (name), koordinat (coordinates) - Example: "Var finns gratis wifi i Umeå?" ### 🏗️ Building & Planning #### **Bygglov Beslut (Building Permit Decisions)** - Dataset ID: `bygglov-beslut` - Approved building permits - Fields: arendebeskrivning, arendetyp, beslut, beslutsdatum, registreringsdatum, beslutstyp - Example: "Vilka bygglov har beviljats nyligen?" #### **Bygglov Inkomna Ärenden (Building Permit Applications)** - Dataset ID: `bygglov-inkomna-arenden` - Incoming building permit applications - Fields: application details, submission date, status - Example: "Hur många bygglovsansökningar har kommit in?" ### 📊 Demographics & Statistics #### **Befolkningsförändringar (Population Changes)** - Dataset ID: `befolkningsfoeraendringar-helar` - Population change statistics - Fields: year, births, deaths, migration, total change - Example: "Hur har befolkningen förändrats i Umeå?" #### **Bostadsbestånd (Housing Stock)** - Dataset ID: `bostadsbestand-hustyp` - Housing inventory by type - Fields: house type, count, area - Example: "Hur ser bostadsbeståndet ut?" ### 🌍 Environment #### **Växthusgasutsläpp (Greenhouse Gas Emissions)** - Dataset ID: `vaxthusgasutslapp_umea` - Greenhouse gas emissions data for Umeå - Fields: year, sector, emissions (tons CO2 equivalent) - Example: "Vad är Umeås växthusgasutsläpp?" #### **Brottsstatistik (Crime Statistics)** - Dataset ID: [REDACTED_SECRET] - Reported crimes from BRÅ open data - Fields: crime type, count, year - Example: "Hur ser brottsstatistiken ut?" ## Usage ### Query a Dataset ```bash ./scripts/query.sh <dataset_id> [limit] ``` Example: ```bash ./scripts/query.sh badplatser 10 ./scripts/query.sh laddplatser 20 ``` ### Find Nearest Location ```bash ./scripts/nearby.sh <dataset_id> <lat> <lon> [limit] ``` Example: ```bash # Find nearest playground to Mariehem (approx coordinates) ./scripts/nearby.sh gop_lekparker 63.8200 20.3000 5 # Find nearest EV charging station to city center ./scripts/nearby.sh laddplatser 63.8258 20.2630 5 ``` ## API Endpoints ### List All Datasets ```bash curl "https://opendata.umea.se/api/v2/catalog/datasets" ``` ### Get Records from a Dataset ```bash curl "https://opendata.umea.se/api/v2/catalog/datasets/{dataset_id}/records?limit=20" ``` ### Search Datasets ```bash curl "https://opendata.umea.se/api/v2/catalog/datasets?where=search(default,\"query\")" ``` ## Data Format All records follow this structure: ```json { "total_count": 123, "records": [ { "record": { "id": "unique-id", "timestamp": "2024-01-01T12:00:00Z", "fields": { "namn": "Location Name", "geo_point_2d": { "lat": 63.825, "lon": 20.263 }, ... } } } ] } ``` ## Natural Language Query Examples The AI can answer questions like: **Recreation:** - "Var är närmaste lekplats till Mariehem?" - "Vilka badplatser finns i Umeå?" - "Var kan jag vandra?" - "Finns det någon rastplats nära E4?" **Infrastructure:** - "Finns det laddplatser nära centrum?" - "Var finns gratis wifi?" - "Hur många laddstolpar finns det totalt?" **Planning:** - "Vilka bygglov har beviljats nyligen?" - "Vad byggs i Umeå just nu?" **Demographics & Environment:** - "Hur har befolkningen förändrats?" - "Vad är Umeås växthusgasutsläpp?" - "Hur många bostäder finns i Umeå?" - "Hur ser brottsstatistiken ut?" ## Notes - No API key required - All data is public and open - Coordinates use WGS84 (lat/lon) - Some datasets include geo_shape for trails/routes - Updated regularly by Umeå kommun

path: README.md
content: # Umeå Data Skill

Query open data from Umeå kommun about locations, facilities, demographics, environment, and more.

## Installation

```bash
clawdhub install umea-data
```

## Quick Start

### Query a dataset
```bash
./scripts/query.sh badplatser 10
./scripts/query.sh laddplatser 20
```

### Find nearest locations
```bash
# Find nearest EV charging stations to city center
./scripts/nearby.sh laddplatser 63.8258 20.2630 5

# Find nearest playgrounds to Mariehem
./scripts/nearby.sh gop_lekparker 63.8200 20.3000 5
```

## Available Datasets

### Recreation & Facilities
- **gop_lekparker** - Playgrounds managed by Gator och Parker
- **badplatser** - Public swimming spots
- **vandringsleder** - Hiking trails with routes and distances
- **rastplatser** - Rest areas and picnic spots
- **trad-som-forvaltas-av-gator-och-parker** - Trees managed by municipality

### Infrastructure
- **laddplatser** - Electric vehicle charging stations
- **wifi-hotspots** - Public WiFi access points

### Building & Planning
- **bygglov-beslut** - Building permit decisions
- **bygglov-inkomna-arenden** - Building permit applications

### Demographics & Statistics
- **befolkningsfoeraendringar-helar** - Population change statistics
- **bostadsbestand-hustyp** - Housing inventory by type

### Environment
- **vaxthusgasutslapp_umea** - Greenhouse gas emissions data
- **exempel-brottsstatistik-anmaelda-brott-fran-bra-s-oeppna-data** - Crime statistics from BRÅ

## Common Coordinates

- **City center**: 63.8258, 20.2630
- **Mariehem**: 63.8200, 20.3000
- **Universum/Campus**: 63.8190, 20.3070
- **Teg**: 63.8400, 20.2300
- **Holmsund**: 63.7100, 20.3700

## API Information

- Base URL: `https://opendata.umea.se/api/v2/`
- No API key required
- All data is public and open
- Maximum 100 records per request
- Coordinates use WGS84 (lat/lon)

## Natural Language Examples

The AI can answer questions like:
- "Var är närmaste lekplats till Mariehem?"
- "Finns det laddplatser nära centrum?"
- "Vilka badplatser finns i Umeå?"
- "Var kan jag vandra?"
- "Vilka bygglov har beviljats nyligen?"
- "Hur har befolkningen förändrats?"
- "Vad är Umeås växthusgasutsläpp?"
- "Var finns gratis wifi?"

## License

This skill queries public open data from Umeå kommun. Data is provided by Umeå kommun under their open data license.


path: scripts/nearby.sh
content: #!/bin/bash
# Find nearest locations from Umeå kommun data given coordinates

set -e

DATASET_ID="$1"
LAT="$2"
LON="$3"
LIMIT="${4:-10}"
BASE_URL="https://opendata.umea.se/api/v2"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

if [ -z "$DATASET_ID" ] || [ -z "$LAT" ] || [ -z "$LON" ]; then
    echo "Usage: $0 <dataset_id> <latitude> <longitude> [limit]"
    echo ""
    echo "Find nearest locations to given coordinates."
    echo ""
    echo "Example:"
    echo "  $0 gop_lekparker 63.8200 20.3000 5"
    echo "  (Find 5 nearest playgrounds to Mariehem)"
    echo ""
    echo "  $0 laddplatser 63.8258 20.2630 3"
    echo "  (Find 3 nearest EV charging stations to city center)"
    echo ""
    echo "Common coordinates in Umeå:"
    echo "  City center:      63.8258, 20.2630"
    echo "  Mariehem:         63.8200, 20.3000"
    echo "  Universum/Campus: 63.8190, 20.3070"
    echo "  Teg:              63.8400, 20.2300"
    echo "  Holmsund:         63.7100, 20.3700"
    exit 1
fi

echo "Finding nearest locations in ${DATASET_ID} to coordinates (${LAT}, ${LON})..."
echo ""

curl -s "${BASE_URL}/catalog/datasets/${DATASET_ID}/records?limit=100" | \
jq --arg lat "$LAT" --arg lon "$LON" --argjson limit "$LIMIT" -f "${SCRIPT_DIR}/distance.jq"


path: scripts/query.sh
content: #!/bin/bash
# Query Umeå kommun open data API

set -e

DATASET_ID="$1"
LIMIT="${2:-20}"
BASE_URL="https://opendata.umea.se/api/v2"

if [ -z "$DATASET_ID" ]; then
    echo "Usage: $0 <dataset_id> [limit]"
    echo ""
    echo "Common datasets:"
    echo "  gop_lekparker                    - Playgrounds"
    echo "  laddplatser                      - EV charging stations"
    echo "  badplatser                       - Swimming spots"
    echo "  vandringsleder                   - Hiking trails"
    echo "  wifi-hotspots                    - WiFi hotspots"
    echo "  bygglov-beslut                   - Building permit decisions"
    echo "  bygglov-inkomna-arenden          - Building permit applications"
    echo "  trad-som-forvaltas-av-gator-och-parker - Trees"
    echo "  rastplatser                      - Rest areas"
    echo "  befolkningsfoeraendringar-helar  - Population changes"
    echo "  bostadsbestand-hustyp            - Housing stock by type"
    echo "  vaxthusgasutslapp_umea           - Greenhouse gas emissions"
    echo "  exempel-brottsstatistik-anmaelda-brott-fran-bra-s-oeppna-data - Crime statistics"
    echo ""
    echo "Example: $0 badplatser 10"
    exit 1
fi

# Query the API
curl -s "${BASE_URL}/catalog/datasets/${DATASET_ID}/records?limit=${LIMIT}" | jq '.'


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)