#!/usr/bin/env bash
# Extrait les data centers d'un fichier PBF OSM et les exporte en GeoJSON.
# Usage : extract_osm.sh [fichier.pbf] [zone]
# osmium tourne en priorité basse et sur DC_THREADS threads (1 par défaut).
set -euo pipefail
PBF="${1:-/home/poule/encrypted/osm-pbf/france-latest.osm.pbf}"
ZONE="${2:-france}"
OUT="$(dirname "$0")/../data/$ZONE"
export OSMIUM_POOL_THREADS="${DC_THREADS:-1}"
low() { nice -n 19 ionice -c 3 "$@"; }
mkdir -p "$OUT"
low osmium tags-filter "$PBF" \
  nwr/telecom=data_center nwr/building=data_center nwr/industrial=data_center \
  nwr/man_made=data_center nwr/data_center \
  -o "$OUT/dc-raw.osm.pbf" --overwrite --no-progress
low osmium export "$OUT/dc-raw.osm.pbf" -a type,id,version,changeset,timestamp,user -f geojsonseq \
  --geometry-types=point,polygon -o "$OUT/dc-osm.geojsonseq" --overwrite --no-progress
date -r "$PBF" +%F > "$OUT/extract-date"
rm -f "$OUT/replication.state"
