Pesquisar
Close this search box.

Plano de Voo para Drone com Python

Plano voo drone com Python

Cálculo de Sobreposição em Plano de Voo para Drone

 

A aerofotogrametria é uma técnica essencial para obter informações detalhadas sobre objetos e áreas na superfície terrestre por meio de fotografias aéreas. Inicialmente, as primeiras imagens aéreas foram capturadas utilizando balões e pombos. Com o progresso tecnológico, a prática evoluiu para o uso de aviões, satélites e, atualmente, sistemas de aeronaves não tripuladas (UAS), também conhecidos como drones. Esses avanços tornaram a aerofotogrametria mais acessível e eficiente, ampliando suas aplicações em diversas áreas, como cartografia, engenharia e monitoramento ambiental.

Para que a aerofotogrametria seja realizada com precisão, é essencial saber elaborar um plano de voo eficaz que garanta a sobreposição lateral (linhas de voo paralelas) e frontal (ao longo da linha de voo) das imagens capturadas. Esse planejamento é fundamental para assegurar a cobertura completa da área de interesse e a qualidade das imagens obtidas.

Neste artigo, exploraremos conceito relacionados ao plano de voo e aos parâmetros do sensor, essenciais para calcular, utilizando Python, a distância entre as linhas de voo e as fotografias no aerolevantamento. Esses conhecimentos são indispensáveis para otimizar o processo de coleta de dados e garantir resultados precisos e confiáveis.

 

Características do Sensor para a Escala do Mapeamento

 

Distância Focal e Campo de Visão (FOV)

A distância focal de uma câmera é a distância do centro da lente ao plano focal. Essa medida, geralmente expressa em milímetros (mm), determina a ampliação e o ângulo de visão da câmera. Um comprimento focal maior resulta em uma maior ampliação e um campo de visão (Field of View – FOV) menor, enquanto um comprimento focal menor cobre uma área maior com menor ampliação.

Distância focal, FOV e recobrimento terrestre

Escala da foto

A escala de uma foto é igual à razão entre a distância focal da câmera e a altitude da aeronave acima do nível do solo (Above Ground Level – AGL) sendo fotografada. Se a distância focal e a altitude de voo acima da superfície forem conhecidas, a escala pode ser calculada usando a seguinte fórmula:

(1)   \begin{equation*}  E = \frac{f}{H} \end{equation*}

Onde:

  • E é a escala da fotografia.
  • f é a distância focal da câmera.
  • H é a altura de voo acima do nível do solo.

Escala da Foto

 

Considerações Importantes:

  • Altura de voo (AGL vs MSL): A altura de voo deve ser medida em relação ao solo (AGL) para garantir uma escala precisa. Se a altitude acima do nível do mar (MSL) for fornecida, deve-se subtrair a elevação média do terreno para obter a altura AGL.
  • Correções para Terreno Irregular: Em áreas com terreno irregular, pode ser necessário ajustar a altura de voo para manter uma escala constante.
AGL and MSL - Sensor
Fonte: http://gsp.humboldt.edu/olm/Courses/GSP_216/lessons/air-photo.html

 

O que é Ground Sampling Distance (GSD)?

O Ground Sampling Distance (GSD) refere-se ao tamanho real de cada pixel na superfície terrestre. Esse valor é usado para determinar a resolução espacial da imagem capturada. O GSD depende da altura de voo, do tamanho do sensor e da distância focal da câmera.

 

Tamanho do Sensor e Distância Focal

A escolha dos parâmetros da câmera de um drone depende do objetivo do mapeamento e da área a ser coberta. Câmeras com distância focal maior são indicadas para mapeamentos que requerem alta resolução e detalhamento, enquanto distâncias focais menores são ideais para cobrir áreas maiores.

A tabela a seguir apresenta os tamanhos dos sensores e distâncias focais para alguns drones DJI:

DroneTamanho do SensorDistância Focal
Phantom 4 Pro13.2 x 8.8 mm8.8 mm
Mavic 2 Pro13.2 x 8.8 mm10.26 mm
Mavic 3E17.3 x 13 mm12.3 mm (Wide)
Air 2S13.2 x 8.8 mm8.38 mm
Mavic Air 26.4 x 4.8 mm4.5 mm
Mini 26.3 x 4.7 mm4.49 mm

 

Cálculo dos Parâmetros no Plano de Voo com Python

A figura abaixo apresenta o plano de projeção (sensor) e seu tamanho dados por dl e dc, vertical e horizontal, respectivamente. Também estão representadas as medidas da distância focal (f) e altura de voo (H) em relação ao terreno.

Plano de projeção e Terreno

A sobreposição SD_lat e SD_front são obtidas a partir do percentual de sobreposição entre as fotografias dado por perc_lat e perc _front.

Sobreposição lateral e frontal

Observação: A sobreposição mínima recomendada para aerolevantamento com drone é de 65% lateral e 75% frontal. Clique aqui para ver mais dicas de qualidade para as fotos de drone.

A distância (L) de espaçamento entre as linhas laterais do plano de voo é indicada na Figura abaixo:

Espaçamento de plano de voo

O espaçamento frontal para cada fotografia, seguindo a linha de voo, segue raciocínio análogo, sendo a formulação matemática dada por:

(2)   \begin{equation*}  \tan\left(\frac{\alpha}{2}\right) = \frac{dc}{2f} \end{equation*}

(3)   \begin{equation*}  D_{\text{lat}} = \frac{dc \cdot H}{f} \end{equation*}

(4)   \begin{equation*}  SD_{\text{lat}} = \text{perc\_lat} \cdot D_{\text{lat}} \end{equation*}

(5)   \begin{equation*}  h_1 = \frac{SD_{\text{lat}}}{2 \cdot \tan\left(\frac{\alpha}{2}\right)} \end{equation*}

(6)   \begin{equation*}  L_{\text{lat}} = SD_{\text{lat}} \left( \frac{H}{h_1} - 1 \right) \end{equation*}

 

Algoritmo Python para Plano de Voo

Este script Python mostra como obter o espaçamento lateral e frontal para um plano de voo, sabendo-se a distância focal, tamanho do sensor e altitude de voo.

# Função para calcular o espaçamento lateral entre as linhas de voo paralelas
def espacamento_lateral(dc, f, H, perc_lat):
    tg_alfa_2 = dc / (2 * f)
    D_lat = dc * H / f
    SD_lat = perc_lat * D_lat
    h1 = SD_lat / (2 * tg_alfa_2)
    delta_lat = SD_lat * (H / h1 - 1)
    return delta_lat

# Função para calcular o espaçamento frontal entre as fotografias
def espacamento_frontal(dl, f, H, perc_front):
    tg_alfa_2 = dl / (2 * f)
    D_front = dl * H / f
    SD_front = perc_front * D_front
    h1 = SD_front / (2 * tg_alfa_2)
    delta_front = SD_front * (H / h1 - 1)
    return delta_front

# Exemplo de uso com dados de um Phantom 4 Pro (5472 × 3648)
dc = 13.2e-3  # tamanho do sensor (horizontal - colunas)
dl = 8.8e-3   # tamanho do sensor (vertical - linhas)
f = 9e-3      # distância focal

H = 120       # altura de voo
perc_lat = 0.6    # percentual de sobreposição lateral
perc_front = 0.75 # percentual de sobreposição frontal

# Calculando os espaçamentos
delta_lat = espacamento_lateral(dc, f, H, perc_lat)
delta_front = espacamento_frontal(dl, f, H, perc_front)

# Imprimindo os resultados
print('Sobreposição lateral: ', round(delta_lat, 1))
print('Sobreposição frontal: ', round(delta_front, 1))

 

 

Curso de Processamento de Imagens de Drone com WebODM e QGIS

A aerofotogrametria com drones (UAVs) oferece vantagens significativas em relação aos métodos tradicionais de mapeamento, incluindo menor custo, maior segurança e capacidade de capturar dados de alta resolução em áreas de difícil acesso. A GeoOne oferece um curso completo de Processamento de Imagens de Drone utilizando WebODM e QGIS, proporcionando aos alunos mais de 30 horas de práticas para processamento e análise de imagens de drone aplicados à agricultura de precisão, análises ambientais, georreferenciamento e Reurb.

Curso drone

SAIBA MAIS

 

Vá Além! Transformando Algoritmos Python em um Plugin do QGIS

Para aqueles que desejam aprofundar seus conhecimentos, a GeoOne oferece um curso de PyQGIS. Este curso ensina como transformar algoritmos Python, como os apresentados neste tutorial, em plugins úteis para o QGIS. Isso permite a automatização de tarefas e a criação de ferramentas personalizadas para otimizar o trabalho de topografia e geoprocessamento.

Python para QGIS

INSCREVA-SE

Compartilhes nas redes Sociais