Skip to content

update_gbif_occurrences #33

Open

Description

@Nicolas-Dmb

📋 Description

Récupérer les occurrences GBIF pour une AOI sur une fenêtre de refetch glissante de 10 ans, filtrer la qualité, convertir les points en zone_id H3, et stocker dans staging.species_occurrences_raw. Fréquence : 1×/an (année N → recharge N-9 → N).

Staging fonctionne comme une archive : seule la fenêtre refetchée est remplacée (une occurrence GBIF peut être corrigée après coup : coordonnées, taxonomie), l'historique hors fenêtre n'est jamais supprimé.

✅ Acceptance Criteria

  • DoD générales (logs, idempotence, job_runs)
  • Fenêtre de refetch glissante 10 ans implémentée (date_min = (N-9)-01-01, date_max = N-12-31)
  • Remplacement de la fenêtre : DELETE des lignes event_date >= date_min AND event_date <= date_max avant insertion ; l'historique hors fenêtre est conservé
  • Filtrage qualité (coordonnées valides, date valide)
  • Conversion point → H3 (zone_id)
  • Stockage staging.species_occurrences_raw conforme au schéma
  • Insertion par lot (batch) ; PK composite (gbif_occurrence_id, aoi_id) comme filet de sécurité (DO NOTHING si conflit) : une occurrence située dans deux AOI qui se chevauchent est stockée une fois par AOI
  • Relançable sans duplication ni donnée obsolète (garanti par le DELETE scopé)
  • Couverture de tests ≥ 90%

🔗 Prerequisite Issues

⚠️ DoR : Outils Commun terminés (CLI Click, env dev/prod, idempotence, zones_hex, AOI registry) :


Source : Notion « update_gbif_occurrences » (Prétraitements & Pipeline Data).

Activity

  1. Nicolas-Dmb commented on Oct 2, 2026

    @Nicolas-Dmb
    CollaboratorAuthor

    Chaque année on récupère les 10 dernières années, car des données anciennes peuvent être mise à jour. A chaque lancement on doit donc :

    1. supprimer les 10 dernières années (N -9)
    2. Récupèrer les 10 dernières années (N -9)
      => aucune données fiables nous permet de récupérer que les données mises à jour.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions