API pentru zonele de zbor ale dronelor: primii pași
Actualizat
API-ul public GeoPilot servește datele hărții despre zonele pentru drone pentru fiecare sursă a cărei licență permite redistribuirea, ca GeoJSON prin HTTPS. Trimite cheia API ca bearer token la /api/v1/public și poți lista zone după țară sau suprafață, afla ce zone se aplică într-un punct sau pe o rază, verifica o zonă ori un traseu de zbor și converti între ED-269, ED-318, KML și GeoJSON. Accesul API este un produs separat de planurile hărții.
Obține o cheie
- Abonează-te din pagina acces API — sau, ca să-l încerci întâi ori să ceri o limită mai mare, aplică pentru acces.
- În profil, deschide fila Acces API și creează o cheie: dă-i un nume și alege doar scopurile de care are nevoie.
- Copiază cheia când e afișată. Apare o singură dată; dacă o pierzi, revoc-o și creează alta.
| Scop | Permite |
|---|---|
RESTRICTIONS_READ | Listarea zonelor, căutări în punct și pe rază, o zonă după id |
CONFLICT_CHECK | Verificarea unei zone sau a unui traseu față de zonele active |
CONVERT_ED269 | Conversia din sau în ED-269 |
CONVERT_ED318 | Conversia din sau în ED-318 |
CONVERT_KML | Conversia din sau în KML |
Prima cerere: ce se aplică aici?
Păstrează cheia într-o variabilă de mediu și cere toate zonele dintr-un punct:
curl "https://geopilot.space/api/v1/public/restrictions/at?lat=44.43&lon=26.10" \ -H "Authorization: Bearer $GEOPILOT_API_KEY"
Răspunsul este un FeatureCollection GeoJSON cu un bloc meta alături. Fiecare element are effect al zonei (PROHIBITED, AUTHORIZATION_REQUIRED, COORDINATION_REQUIRED, INFORMATION_ONLY sau UNKNOWN), type, dacă e activeNow și identificatorii sursei și autorității — aceleași informații pe care le arată panoul de pe hartă.
Endpointurile
| Cerere | Întoarce | Scop |
|---|---|---|
GET /restrictions | Zone filtrate după țară, dreptunghi, tip, efect… | RESTRICTIONS_READ |
GET /restrictions/at | Toate zonele suprapuse într-un punct | RESTRICTIONS_READ |
GET /restrictions/near | Zone pe o rază, cele mai apropiate primele | RESTRICTIONS_READ |
GET /restrictions/:id | O zonă | RESTRICTIONS_READ |
POST /restrictions/intersect | Ce atinge o zonă sau un traseu | CONFLICT_CHECK |
POST /convert/:from-:to | Un document în alt format | Vezi ghidul de conversie |
Verifică o zonă de zbor
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]]]}}'Răspunsul listează fiecare zonă atinsă de formă cu efectul ei, dacă e activă la momentul evaluat, intersectionAreaM2 și intersectionRatio (partea din zona ta pe care o acoperă; null pentru un traseu), plus un summary cu numărul pe efecte. Trimite activeAt ca să evaluezi un moment viitor. Ca harta, listează și nu trage concluzii — nu există un câmp „permis”, intenționat.
Erori, limite și licențe
- 401 — cheia lipsește, e greșită, necunoscută, revocată sau expirată. 403 — cheia e validă, dar accesul API al proprietarului a expirat sau îi lipsește scopul cerut de endpoint (răspunsul îl numește).
- Fiecare eroare, de la orice endpoint, are aceeași formă JSON: problem details RFC 9457, cu
errorspe câmpuri la un 400 sau 422. - Limitele se numără pe cheie, pe un minut glisant — implicit 60 de cereri pentru fiecare dintre citiri, verificări de conflicte și conversii. Fiecare răspuns are
X-RateLimit-LimitșiX-RateLimit-Remaining; un 429 adaugăRetry-After. - Citirile de restricții întorc doar date din surse a căror licență permite utilizarea comercială și redistribuirea. O sursă exclusă se comportă ca și cum n-ar exista.
Descriere pentru mașini
API-ul e descris în OpenAPI 3.1, generat din aceleași scheme cu care API-ul validează cererile, așa că un generator de clienți rămâne sincronizat. Un endpoint de stare răspunde fără cheie, iar ambele sunt listate într-un catalog 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
API-ul raportează ce publică autoritățile naționale, cu date. Nu autorizează un zbor, iar utilizatorii tăi trebuie să afle asta.
Întrebări frecvente
- Există un nivel gratuit?
- Nu, dar poți aplica pentru acces ca să-l încerci înainte de abonare sau ca să ceri o limită personalizată.
- API-ul acoperă toate țările de pe hartă?
- Acoperă sursele a căror licență permite utilizarea comercială și redistribuirea. Zonele din alte surse rămân pe hartă, dar nu sunt servite prin API.
- Am nevoie și de un plan pentru hartă?
- Nu. Accesul API se facturează separat; un cont are nevoie doar de acces API ca să creeze chei.
Ghiduri înrudite
- Cum convertești zonele ED-269 și ED-318 în GeoJSON sau KMLConvertește zone UAS între ED-269, ED-318, KML și GeoJSON cu un singur apel API: scopurile necesare, cererea, erorile și avertismentele.
- ED-269 vs ED-318: cele două formate de zone UAS, comparate câmp cu câmpCum diferă formatele de zone geografice UAS ED-269 și ED-318, câmp cu câmp, capcanele găsite în fișierele naționale reale și cum convertești între ele.
- Zonele interzise pentru drone, explicate: cum funcționează zonele geografice UASCe sunt zonele geografice UAS, cine le publică și cum le citești: zone interzise, cu autorizare sau condiționate, limite de înălțime și programe.