52 lines
2.8 KiB
PL/PgSQL
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;
|