Saltar para o conteúdo principal
GeoPilot

API de zonas proibidas para drones: primeiros passos

Atualizado

A API pública do GeoPilot disponibiliza os dados de zonas para drones do mapa para cada fonte cuja licença permita a redistribuição, em GeoJSON sobre HTTPS. Envie a sua chave de API como token bearer para /api/v1/public e pode listar zonas por país ou área, perguntar que zonas se aplicam num ponto ou num raio, verificar uma área ou rota de voo e converter entre ED-269, ED-318, KML e GeoJSON. O acesso à API é um produto separado dos planos do mapa.

Obter uma chave

  1. Subscreva na página Acesso à API — ou, para experimentar primeiro ou pedir um limite mais alto, candidate-se ao acesso.
  2. No seu perfil, abra o separador Acesso à API e crie uma chave: dê-lhe um nome e escolha apenas os âmbitos de que precisa.
  3. Copie a chave quando for apresentada. Só é mostrada uma vez; se a perder, revogue-a e crie outra.
ÂmbitoPermite
RESTRICTIONS_READListar zonas, consultas por ponto e por raio, uma zona por id
CONFLICT_CHECKVerificar uma área ou rota face às zonas ativas
CONVERT_ED269Converter de ou para ED-269
CONVERT_ED318Converter de ou para ED-318
CONVERT_KMLConverter de ou para KML

O seu primeiro pedido: o que se aplica aqui?

Guarde a chave numa variável de ambiente e peça todas as zonas num ponto:

curl "https://geopilot.space/api/v1/public/restrictions/at?lat=44.43&lon=26.10" \
  -H "Authorization: Bearer $GEOPILOT_API_KEY"

A resposta é uma FeatureCollection GeoJSON com um bloco meta ao lado. Cada elemento inclui o effect da zona (PROHIBITED, AUTHORIZATION_REQUIRED, COORDINATION_REQUIRED, INFORMATION_ONLY ou UNKNOWN), o respetivo type, se está activeNow e os ids da fonte e da autoridade — os mesmos factos que o painel de clique do mapa mostra.

Os endpoints

PedidoDevolveÂmbito
GET /restrictionsZonas filtradas por país, caixa delimitadora, tipo, efeito…RESTRICTIONS_READ
GET /restrictions/atTodas as zonas sobrepostas num pontoRESTRICTIONS_READ
GET /restrictions/nearZonas dentro de um raio, das mais próximas para as mais distantesRESTRICTIONS_READ
GET /restrictions/:idUma zonaRESTRICTIONS_READ
POST /restrictions/intersectO que uma área ou rota intersetaCONFLICT_CHECK
POST /convert/:from-:toUm documento noutro formatoConsulte o guia de conversão

Verificar uma área de voo

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]]]}}'

A resposta lista cada zona que a forma interseta, com o respetivo efeito, se está ativa no momento avaliado, intersectionAreaM2 e intersectionRatio (a parte da sua área que cobre; null para uma rota), além de um summary com contagens por efeito. Passe activeAt para avaliar um momento futuro. Tal como o mapa, lista e não tira conclusões — não existe nenhum campo “permitido”, propositadamente.

Erros, limites e licenças

  • 401 — a chave está em falta, mal formada, é desconhecida, foi revogada ou expirou. 403 — a chave é válida, mas o acesso à API do titular caducou, ou não tem o âmbito de que o endpoint precisa (a resposta indica-o).
  • Todos os erros, de todos os endpoints, têm uma única estrutura JSON: problem details do RFC 9457, com errors ao nível dos campos numa resposta 400 ou 422.
  • Os limites são contabilizados por chave numa janela móvel de um minuto — 60 pedidos por predefinição para cada categoria: leituras, verificações de conflitos e conversões. Todas as respostas incluem X-RateLimit-Limit e X-RateLimit-Remaining; uma resposta 429 acrescenta Retry-After.
  • As leituras de restrições só devolvem dados de fontes cuja licença permita a utilização comercial e a redistribuição. Uma fonte excluída comporta-se como se não existisse.

Descrição legível por máquina

A API está descrita em OpenAPI 3.1, gerada a partir dos mesmos esquemas com que a API valida os pedidos, para que um gerador de clientes se mantenha sincronizado com ela. Uma sonda de disponibilidade responde sem chave, e ambas estão listadas num catálogo de 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

A API indica o que as autoridades nacionais publicam, com datas. Não autoriza nenhum voo, e os seus utilizadores devem ser informados disso.

Perguntas frequentes

Existe um escalão gratuito?
Não, mas pode candidatar-se ao acesso para experimentar antes de subscrever ou para pedir um limite personalizado.
A API abrange todos os países do mapa?
Abrange as fontes cuja licença permite a utilização comercial e a redistribuição. As zonas de outras fontes continuam no mapa, mas não são disponibilizadas através da API.
Também preciso de um plano do mapa?
Não. O acesso à API é faturado à parte; uma conta só precisa de acesso à API para criar chaves.

Guias relacionados

Fontes

GeoPilot

Uma ferramenta independente de planeamento de voos de drones, construída sobre as restrições do espaço aéreo que as autoridades nacionais publicam, para os países europeus abrangidos e os Estados Unidos.

Dados

  • Os dados do espaço aéreo são publicados pelas autoridades nacionais de cada país abrangido. O GeoPilot não está afiliado a nenhuma delas nem é por elas aprovado.
  • Ver fontes e atualidade

Informação legal

O GeoPilot é uma ferramenta de planeamento independente e não está afiliado a nenhuma autoridade aeronáutica nem é por ela aprovado. Apresenta dados publicados pelas autoridades nacionais, que podem estar incompletos, desatualizados ou simplificados no seu processamento, e não autoriza nenhum voo. Consulte sempre a publicação da própria autoridade e os NOTAM em vigor antes de voar.