Observable Workspace — In-N-Out x Séismes x OVNIs (Californie)

Workspace Observable Framework orienté data storytelling avec deux analyses géospatiales en Californie :

  • In-N-Out Seismic Challenge : classement des restaurants InNOut selon une exposition aux séismes.
  • Paradoxe de lAnimal Style : corrélation exploratoire entre observations OVNI et proximité dun InNOut.

Objectifs

  • Démontrer une chaîne complète de visualisation interactive avec Observable Framework.
  • Croiser des données hétérogènes (OSM/Overpass, USGS, jeu OVNI) avec un traitement géospatial léger.
  • Produire des pages analytiques reproductibles, versionnables et publiables statiquement.

Stack technique

  • Runtime / Build : @observablehq/framework (v1.x)
  • Langage : JavaScript ESM ("type": "module")
  • Parsing CSV : d3-dsv
  • Visualisation : Plot (via Observable), d3, topojson-client
  • Topologie US : us-atlas@3 (chargement CDN)

Architecture du projet

observablehq.config.js      # Configuration Observable Framework
package.json                # Scripts npm + dépendances
docs/
  index.md                  # Page d'accueil
  in-n-out-california.md    # Analyse séismes ↔ In-N-Out
  ufo-animal-style-paradox.md # Analyse OVNI ↔ In-N-Out
  data/
    in-n-out-ca-overpass.json.js
    ca-earthquakes-last365d.json.js
    in-n-out-ca-csv.json.js
    ufo-ca-sightings-v2.json.js
    ...

Configuration Observable

Le fichier observablehq.config.js définit :

  • root: "docs" : toutes les pages et données vivent sous docs/
  • title: "Observable Workspace"
  • pager: false
  • toc: true
  • theme: "dashboard"

Pipeline de données

1) In-N-Out (source primaire Overpass)

Le module docs/data/in-n-out-ca-overpass.json.js :

  • interroge Overpass API pour les POI InNOut (node/way/relation),
  • normalise les attributs (id, latitude, longitude, name, city, address, postcode),
  • déduplique par coordonnée arrondie,
  • tente plusieurs endpoints Overpass (fallback de résilience),
  • bascule sur un fallback CSV GitHub en cas déchec.

2) Séismes Californie

Le dataset ca-earthquakes-last365d.json est utilisé dans la page in-n-out-california.md pour :

  • filtrer les séismes dans une bounding box Californie,
  • calculer la distance haversine de chaque séisme à chaque magasin,
  • agréger des métriques locales (quakeCount, maxMagnitude, avgMagnitude, nearestKm),
  • produire un Shake Index composite.

Formule utilisée :

shakeIndex = quakeCount * 1.5 + maxMagnitude * 12 + max(0, radiusKm - min(nearestKm, radiusKm)) * 0.25

3) OVNI Californie

La page ufo-animal-style-paradox.md :

  • charge les observations OVNI et les points InNOut,
  • calcule le magasin le plus proche pour chaque observation (distance haversine),
  • marque closeToBurger selon un rayon interactif,
  • agrège des hotspots via regroupement par magasin le plus proche,
  • expose des KPIs interactifs (taux de proximité, volume, durée moyenne, etc.).

Visualisations

  • Bar charts classés (top/bottom stores)
  • Carte Californie (projection Albers)
  • Nuages de points et outils de filtrage (Inputs.select, Inputs.range)
  • Tooltips détaillés pour exploration ad hoc

Exécution locale

Pré-requis :

  • Node.js 18+ recommandé
  • npm

Installation :

npm install

Développement (live preview) :

npm run dev

Build statique :

npm run build

Sorties et dossiers générés

  • dist/ : artefacts de build statique (à ne pas versionner)
  • docs/.observablehq/ : cache/framework interne (à ne pas versionner)

Le .gitignore est configuré pour ignorer ces dossiers de cache/génération.

Qualité, limites et reproductibilité

  • Les données externes (Overpass, CDN, sources tierces) peuvent varier dans le temps.
  • Les métriques proposées sont exploratoires et non causales.
  • Le pipeline privilégie robustesse et disponibilité (fallback réseau) plutôt quune ETL lourde.

Scripts npm

  • npm run devobservable preview
  • npm run buildobservable build

Publication Git

Ce dépôt est prévu pour être poussé sur un remote Gitea. Le README sert de documentation technique de référence pour maintenance, reprise et extension du projet.

Description
Workspace Observable Framework: analyses geospatiales en Californie (In-N-Out, seismes USGS, observations OVNI), visualisations interactives et pipeline de donnees reproductible. Voir README pour la documentation technique complete.
Readme MIT 940 KiB
Languages
JavaScript 93.2%
Python 6.8%