API des zones interdites aux drones : premiers pas
Mis à jour le
L’API publique GeoPilot fournit les données de zones drone de la carte pour chaque source dont la licence autorise la redistribution, en GeoJSON via HTTPS. Envoyez votre clé API comme jeton bearer à /api/v1/public pour lister les zones par pays ou par emprise, demander quelles zones s’appliquent en un point ou dans un rayon, vérifier une zone ou un trajet de vol et convertir entre ED-269, ED-318, KML et GeoJSON. L’accès API est un produit distinct des formules de la carte.
Obtenir une clé
- Abonnez-vous depuis la page accès API — ou, pour l’essayer d’abord ou demander une limite plus élevée, demandez un accès.
- Dans votre profil, ouvrez l’onglet Accès API et créez une clé : donnez-lui un nom et choisissez seulement les portées nécessaires.
- Copiez la clé quand elle s’affiche. Elle n’apparaît qu’une fois ; si vous la perdez, révoquez-la et créez-en une autre.
| Portée | Autorise |
|---|---|
RESTRICTIONS_READ | Lister les zones, recherches en un point et par rayon, une zone par id |
CONFLICT_CHECK | Vérifier une zone ou un trajet face aux zones actives |
CONVERT_ED269 | Convertir depuis ou vers ED-269 |
CONVERT_ED318 | Convertir depuis ou vers ED-318 |
CONVERT_KML | Convertir depuis ou vers KML |
Première requête : qu’est-ce qui s’applique ici ?
Gardez la clé dans une variable d’environnement et demandez toutes les zones en un point :
curl "https://geopilot.space/api/v1/public/restrictions/at?lat=44.43&lon=26.10" \ -H "Authorization: Bearer $GEOPILOT_API_KEY"
La réponse est une FeatureCollection GeoJSON accompagnée d’un bloc meta. Chaque élément porte l’effect de la zone (PROHIBITED, AUTHORIZATION_REQUIRED, COORDINATION_REQUIRED, INFORMATION_ONLY ou UNKNOWN), son type, si elle est activeNow, et les identifiants de sa source et de son autorité — ce que montre le panneau de la carte.
Les points d’accès
| Requête | Renvoie | Portée |
|---|---|---|
GET /restrictions | Zones filtrées par pays, emprise, type, effet… | RESTRICTIONS_READ |
GET /restrictions/at | Toutes les zones superposées en un point | RESTRICTIONS_READ |
GET /restrictions/near | Zones dans un rayon, les plus proches d’abord | RESTRICTIONS_READ |
GET /restrictions/:id | Une zone | RESTRICTIONS_READ |
POST /restrictions/intersect | Ce que touche une zone ou un trajet | CONFLICT_CHECK |
POST /convert/:from-:to | Un document dans un autre format | Voir le guide de conversion |
Vérifier une zone de vol
curl -X POST "https://geopilot.space/api/v1/public/restrictions/intersect" \
-H "Authorization: Bearer $GEOPILOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"geometry":{"type":"Polygon","coordinates":[[[26.05,44.40],[26.15,44.40],[26.15,44.47],[26.05,44.47],[26.05,44.40]]]}}'La réponse liste chaque zone touchée par la forme avec son effet, si elle est active à l’instant évalué, intersectionAreaM2 et intersectionRatio (la part de votre zone qu’elle couvre ; null pour un trajet), ainsi qu’un summary des comptes par effet. Passez activeAt pour évaluer une heure future. Comme la carte, elle liste sans conclure — il n’y a pas de champ « autorisé », volontairement.
Erreurs, limites et licences
- 401 — la clé est absente, mal formée, inconnue, révoquée ou expirée. 403 — la clé est valide mais l’accès API de son titulaire a expiré, ou il lui manque la portée exigée (la réponse la nomme).
- Chaque erreur, de chaque point d’accès, a la même forme JSON : les problem details de la RFC 9457, avec des
errorspar champ sur un 400 ou un 422. - Les limites sont comptées par clé sur une minute glissante — 60 requêtes par défaut pour chacun des groupes lectures, vérifications de conflits et conversions. Chaque réponse porte
X-RateLimit-LimitetX-RateLimit-Remaining; un 429 ajouteRetry-After. - Les lectures de restrictions ne renvoient que des données de sources dont la licence permet l’usage commercial et la redistribution. Une source exclue se comporte comme si elle n’existait pas.
Description lisible par machine
L’API est décrite en OpenAPI 3.1, générée à partir des schémas avec lesquels l’API valide les requêtes : un générateur de clients reste ainsi synchronisé. Une sonde d’état répond sans clé, et les deux figurent dans un catalogue d’API RFC 9727 :
GET https://geopilot.space/api/v1/public/openapi.json GET https://geopilot.space/api/v1/public/health GET https://geopilot.space/.well-known/api-catalog
L’API rapporte ce que publient les autorités nationales, avec leurs dates. Elle n’autorise aucun vol, et vos utilisateurs doivent le savoir.
Questions fréquentes
- Existe-t-il une offre gratuite ?
- Non, mais vous pouvez demander un accès pour l’essayer avant de vous abonner, ou pour obtenir une limite sur mesure.
- L’API couvre-t-elle tous les pays de la carte ?
- Elle couvre les sources dont la licence permet l’usage commercial et la redistribution. Les zones des autres sources restent sur la carte mais ne sont pas servies par l’API.
- Faut-il aussi une formule pour la carte ?
- Non. L’accès API est facturé séparément ; un compte n’a besoin que de l’accès API pour créer des clés.
Guides associés
- Convertir des géozones ED-269 et ED-318 en GeoJSON ou KMLConvertissez des géozones UAS entre ED-269, ED-318, KML et GeoJSON en un appel d’API : portées, requête, erreurs et avertissements.
- ED-269 ou ED-318 : les deux formats de zones UAS comparés champ par champEn quoi les formats de zones géographiques UAS ED-269 et ED-318 diffèrent, champ par champ, les pièges des fichiers nationaux réels et comment convertir.
- Les zones interdites aux drones expliquées : comment fonctionnent les zones géographiques UASCe que sont les zones géographiques UAS, qui les publie et comment les lire : zones interdites, sur autorisation ou conditionnelles, hauteurs, horaires.