Svelte/Vite-Projekt fuer eine eingebettete Karte zur Chronik des Iran-Kriegs 2026. Die Anwendung laedt taeglich aggregierte ACLED-Ereignisdaten, visualisiert sie mit MapLibre als Punkte auf einer Zeitleiste.
Svelte fuer die UIVite als Build- und Dev-ToolingMapLibre GL fuer die Karten-Enginepmtiles fuer optionale Basiskarten aus PMTilesNode.jsnpmnpm install
npm run dev
Standardmaessig laeuft die App danach unter http://localhost:3000.
| Skript | Funktion |
|---|---|
npm run dev |
lokaler Vite-Dev-Server |
npm run build |
Produktionsbuild mit aktivem Modus production |
npm run production |
Alias fuer vite build |
npm run release |
Alias fuer vite build |
npm run stage |
Build im Modus stage |
npm run test |
Build im Modus test |
npm run preview |
Vorschau des letzten Builds |
Die App verwendet ausschliesslich Variablen mit Prefix VITE_APP_. Eine Vorlage liegt in .env.example.
| Variable | Beschreibung |
|---|---|
VITE_APP_BASE_URL |
Base-URL fuer Assets, index.html, iframe.html und livingdocs.html |
VITE_APP_ACLED_DATA_URL |
URL zur ACLED-JSON-Datei; lokal meist ./acled_map_data.json |
VITE_APP_MAP_PMTILES_URL |
optionale URL zu einer PMTiles-Datei |
VITE_APP_MAP_PMTILES_TYPE |
vector fuer Style-JSON-basierte PMTiles, raster fuer direkten Raster-Source-Modus |
VITE_APP_DISTRIBUTION_FOLDER |
Zielordner des Builds, z. B. dist/stage oder dist/release |
VITE_APP_PRODUCTION_SOURCE_MAP |
true aktiviert Source Maps im Build |
VITE_APP_ENV |
freies Kennzeichen fuer die Umgebung, aktuell ohne direkte Laufzeitlogik |
VITE_APP_BASE_URL=.
VITE_APP_ACLED_DATA_URL=./acled_map_data.json
VITE_APP_MAP_PMTILES_URL=
VITE_APP_MAP_PMTILES_TYPE=vector
VITE_APP_ENV=development
VITE_APP_PRODUCTION_SOURCE_MAP=true
VITE_APP_DISTRIBUTION_FOLDER=dist/development
Die Karte erwartet ein JSON mit einem Objekt days, dessen Keys ISO-Datumswerte sind. Jeder Tag enthaelt ein Array aus aggregierten Punkten:
{
"days": {
"2026-02-28": [
{
"latitude": 24.1,
"longitude": 47.6,
"actorGroup": "IRN",
"count": 1
}
]
}
}
Verwendete Felder:
latitudelongitudeactorGroupcountDie Beispielstruktur liegt in public/acled_map_data.json.
count berechnet.VITE_APP_MAP_PMTILES_URL werden die lokalen Style-Dateien aus public/ geladen.VITE_APP_MAP_PMTILES_TYPE=vector werden vorhandene pmtiles://-Sources in den Style-Dateien auf die konfigurierte PMTiles-URL umgeschrieben.VITE_APP_MAP_PMTILES_TYPE=raster wird zur Laufzeit ein einfacher Raster-Style erzeugt.