adsb-1090/zones_gouvernementales.sql

52 lines
2.8 KiB
PL/PgSQL

-- ═══════════════════════════════════════════════════════════════════════════
-- Zones d'exclusion : Élysée, Bercy, et libellé de la BA 107
--
-- geom est GENERATED ALWAYS ... STORED : ne jamais la citer dans un INSERT,
-- PostgreSQL la calcule depuis lon/lat.
--
-- source = 'manuelle' et non 'reference' : les fiches de référence ont leurs
-- nom et coordonnées verrouillés dans airport_save, ce qui empêcherait de
-- corriger la position depuis la carte. Or ces deux hélisurfaces sont
-- positionnées à l'estime et demanderont un ajustement.
--
-- À jouer avec ON_ERROR_STOP=1.
-- ═══════════════════════════════════════════════════════════════════════════
BEGIN;
-- ── 1. Hélisurfaces gouvernementales ────────────────────────────────────────
-- Rayon 300 m : ces sites sont ponctuels et en tissu urbain dense. Un rayon
-- kilométrique effacerait des départs légitimes du centre de Paris.
INSERT INTO adsb.airports (code, nom, lat, lon, rayon_km, type, actif,
commentaire, source)
SELECT 'Z001', 'Palais de l''Élysée', 48.870400, 2.316600, 0.3, 'heliport', true,
'Hélisurface de la présidence de la République — position à affiner sur la carte',
'manuelle'
WHERE NOT EXISTS (SELECT 1 FROM adsb.airports WHERE nom ILIKE '%Élysée%');
INSERT INTO adsb.airports (code, nom, lat, lon, rayon_km, type, actif,
commentaire, source)
SELECT 'Z002', 'Bercy — Ministère de l''Économie', 48.838800, 2.377100, 0.3,
'heliport', true,
'Hélistation sur ponton Seine — position à affiner sur la carte',
'manuelle'
WHERE NOT EXISTS (SELECT 1 FROM adsb.airports WHERE nom ILIKE '%Bercy%');
-- ── 2. BA 107 : la zone existe déjà sous LFPV, on complète le libellé ──────
-- Pas de nouvelle fiche : deux cercles concentriques ne changeraient rien à la
-- détection (NOT EXISTS sur l'ensemble des zones actives) et compliqueraient
-- la maintenance.
UPDATE adsb.airports
SET nom = 'Vélizy-Villacoublay — Base aérienne 107',
commentaire = COALESCE(NULLIF(commentaire, ''),
'BA 107 « Sous-lieutenant René Dorme » — '
|| 'transport gouvernemental et ETEC')
WHERE code = 'LFPV';
COMMIT;
\echo '--- Zones d''exclusion après migration ---'
SELECT id, code, nom, lat, lon, rayon_km, type, actif, source
FROM adsb.airports
ORDER BY rayon_km, code;