6. ANALYSE
6.1 Åpenhet
Após processo de rastreamento de aeronaves, as posições de voo de aeronaves que nave- garam nos mesmos aeroportos de origem e destino são agrupadas a fim de se identificar o conjunto de pontos que delimitam as aerovias conectando estes dois aeroportos. O
Tabela 5.2: Trechos com maior quantidade de callsigns rastreados.
Aeroporto de Origem Aeroporto de Destino Callsigns Rastreados
Congonhas (SBSP) Santos Dumont (SBRJ) 62 Santos Dumont (SBRJ) Congonhas (SBSP) 59 Congonhas (SBSP) Presidente JK (SBBR) 26 Guarulhos (SBGR) Salgado Filho (SBPA) 24 Presidente JK (SBBR) Congonhas (SBSP) 24 Salgado Filho (SBPA) Guarulhos (SBGR) 22 Tancredo Neves (SBCF) Congonhas (SBSP) 22 Congonhas (SBSP) Salgado Filho (SBPA) 21 Congonhas (SBSP) Tancredo Neves (SBCF) 21 Salgado Filho (SBPA) Congonhas (SBSP) 20
posições de voo que podem ser agrupadas mais facilmente, ou seja, posições de voo que facilitam a identificação do conjunto de pontos delimitando as aerovias em questão. O processo de normalização consiste, dessa forma, num pré-processamento realizado para o
processo de delimitação de aerovias (seção 5.5).
Formalizando-se o conceito de aerovias, seja AirwayP oints o conjunto de pontos no espaço aéreo pertencentes às aerovias que conectam o aeroporto de origem A e o aeroporto de destino B. Este conjunto é representado pela Equação 5.1:
AirwayP oints =
∞
[
i=1
P oint(latitudei, longitudei, altitudei) (5.1)
Os processos de normalização e delimitação de aerovias (explicados nesta seção e na se- ção 5.5) têm por finalidade produzir um subconjunto finito de posições ReducedAirwayP oints a partir do conjunto infinito AirwayP oints tal que ReducedAirwayP oints ⊂ AirwayP oints. De forma que, o conjunto ReducedAirwayP oints será a representação das aerovias co- nectando aeroportos de origem e destino. Assim, para saber se alguma célula convectiva intersecta alguma aerovia do espaço aéreo, basta comparar a posição da célula convectiva com os pontos pertencentes a ReducedAirwayP oints.
Seja F S o conjunto de todos os voos rastreados durante o processo de rastreamento entre aeroporto de origem A e aeroporto de destino B e T RACK o conjunto de todas as posições de voo rastreadas. Seja também um voo Fi tal que Fi ∈ F LGIT HS, suas
posições de voo rastreadas F Pi e uma posição de voo rastreada qualquer Fi.positionj.
Como visto anteriormente, as posições de voo das aeronaves correspondem às coorde- nadas geográficas (longitude, latitude e altitude) das aeronaves no momento em que estas foram rastreadas. O conjunto de posições de voo F Pi é representado pela Equação 5.2 e
F Pi = [Fi.position0, Fi.position1, Fi.position2, ..., Fi.positionm] (5.2)
Fi.positionj = (latitudeij, longitudeij, altitudeij) (5.3)
Num cenário ideal, a posição de voo Fi.positionj é utilizada para representar um
elemento em ReducedAirwayP oints de aeroporto de origem A e aeroporto de destino B, como representado na Equação 5.4.
Fi.positionj ∈ ReducedAirwayP oints ⊂ AirwayP oints (5.4)
No entanto, aeronaves podem desviar de suas rotas pré-estabelecidas devido à pre- sença de células convectivas ou outros obstáculos em seus percursos, fazendo com que a Equação 5.4 nem sempre seja satisfeita.
O processo de normalização transforma um conjunto de posições de voo F Pi num con-
junto mais conveniente, formado por posições de voo normalizadas N F Pi e representado
pela Equação 5.5.
N F Pi = [Fi.position00, Fi.position01, Fi.position02, ..., Fi.position0n] (5.5)
Da equação Equação 5.4, pode-se estender o mesmo raciocínio para posições de voo
normalizadas, que não mais são que posições de voo estimadas da trajetória do voo em
questão, resultando na Equação 5.6, válida somente em caso de não desvio de rota prevista.
Fi.position0j ∈ ReducedAirwayP oints ⊂ AirwayP oints (5.6)
Assim, no caso da não ocorrência de desvios, das Equação 5.4 e Equação 5.6, po- sições de voo rastreadas pertencentes a F Pi e posições de voo normalizadas perten-
centes a N F Pi são fortes candidatas para comporem ReducedAirwayP oints, isto é,
F Pi ⊂ ReducedAirwayP oints e N F Pi ⊂ ReducedAirwayP oints.
As posições de voo normalizadas são produzidas utilizando interpolação linear [45], onde uma posição de voo normalizada é estimada a partir de duas posições de voo rastre-
adas. A interpolação é uma escolha natural como método de aproximação dada a função
de estimar uma nova posição de voo em meio a outras duas posições de voo. Embora as posições de voo estejam no sistema de coordenadas geográficas, aplicar interpolação
linear é um método válido para estimar novas posições de voo, dado que as posições de
voo são rastreadas em curtos intervalos de tempo (a cada 10 segundos) [42] e, portanto, estão relativamente próximas umas das outras.
A normalização é realizada de forma que as posições de voo normalizadas compartilhem
de latitudes LAT e a condição que posições de voo normalizadas devem satisfazer:
LAT (A, B) = [L0 = A.latitude, L1, ..., Lj, ..., Ln= B.latitude] (5.7)
Fi.position0j.latitude ∈ LAT, ∀Fi ∈ F S, ∀Fi.position0j ∈ N F Pi (5.8)
onde a diferença Lj+1− Lj = LAT _DIST é constante para qualquer índice j.
O processo de normalização é descrito pelos Algoritmos 1 e 2. O Algoritmo 1 descreve o processo geral de normalização no qual a função recebe como parâmetro as posições de
voo rastreadas de determinado voo, e utiliza como variável global o conjunto de latitudes LAT . Novas posições de voo, chamadas de posições de voo normalizadas, são criadas a
partir de posições de voo obtidas no processo de rastreamento de voos. Estas posições de voo normalizadas position0 diferem das posições de voo rastreadas position no que se refere a seus valores de latitude postion0.latitude, que agora pertencem ao conjunto
finito LAT (postion0.latitude ∈ LAT ) enquanto que os valores de latitude das posições
de voo rastreadas position.latitude podem assumir quaisquer valores entre A.latitude e B.latitude (A.latitude ≤ postion0.latitude ≤ B.latitude). O Algoritmo 2 descreve o
procedimento de interpolação linear a partir de duas posições de voo rastreadas p1 e p2, fixando o valor de latitude lat na posição de voo normalizada.
Algorithm 1 Normalização das posições de voo positions em normalized_positions.
1: procedure Normalize(positions)
2: positions0 ← List() . Posições de voo normalizadas 3: i ← 0 . Índice de positions
4: j ← 0 . Índice de LAT = [L0, L1, ..., Lj, ...]
5: while i + 1 < positions.length & j < LAT.length do
6: if positionsi.latitude ≤ Lj ≤ positionsi+1.latitude then
7: position0 ← Interpolate(positionsi, positionsi+1, Lj)
8: positions0.append(position0) . Adiciona position0 ao final de positions0 9: j ← j + 1
10: else if positionsi+1< Lj then
11: i ← i + 1
12: else if Lj < positionsi then
13: j ← j + 1
14: return positions0
Algumas considerações relativas ao processo de normalização são importantes de se- rem ressaltadas. Na análise de aeroportos de origem A e destino B que possuem valores de latitudes muito próximos um do outro, é realizada uma adaptação no procedimento de normalização. Em vez de se construir o conjunto de valores de latitudes LAT é construído um conjunto similar composto, no entanto, por valores de longitudes LON , que da mesma forma que LAT definirá os valores a serem compartilhados entre posições de voo norma-
Algorithm 2 Interpolação linear a partir de duas posições de voo sucessivas p1 e p2 para
estimar a posição de voo normalizada p tal que p.latitude = lat.
1: procedure Interpolate(p1, p2, lat) . Longitude, latitude e altitude são abreviados
para lon., lat. and alt.
2: p.lat. ← lat
3: p.lon. ← (p2.lon. − p1.lon.)
(p2.lat. − p1.lat.)
× (lat − p1.lat.) + p1.lon.
4: p.alt. ← (p2.alt. − p1.alt.)
(p2.lat. − p1.lat.)
× (lat − p1.lat.) + p1.alt.
5: return p
lizadas. Essa alteração garante uma maior quantidade de valores compartilhados entre as posições de voo normalizadas, e desta forma, uma melhor distribuição para o processo de delimitação de aerovias. Na implementação da solução, a escolha entre a utilização de
LAT ou LON é feita da seguinte forma: se o módulo da diferença entre as latitudes dos
aeroportos de origem e destino é maior que o módulo da diferença entre as longitudes dos aeroportos em questão (|A.latitude − B.latitude| > |A.longitude − B.longitude|), então é utilizado o conjunto LAT ., caso contrário é selecionado o conjunto LON [46]. Sem perda de generalidade, apenas será considerado o conjunto de valores compartilhados de latitude LAT para facilitar o entendimento da solução proposta.
Também vale a pena mencionar que o Algoritmo 1 assume que tanto positions quanto
LAT são sequências crescentes, no entanto, outra opção válida é ter ambas as sequências
decrescentes. Realizando uma pequena adaptação nos Algoritmos 1 e 2 é possível levar em conta as duas situações. Como será visto na seção 6.2, essa suposição nem sempre é válida, e resultará, em alguns casos, em posições normalizadas incorretas.
Por fim, a normalização torna a tarefa de comparar rotas de diferentes voos mais simples. Sejam dois voos distintos Fie Fj, com as mesmas rotas previstas em plano de voo,
que no processo de rastreamento retornam as posições de voo F Pi e F Pj, respectivamente.
Como F Pi e F Pj são obtidas em horários e intervalos de tempo diferentes, a comparação
entre as rotas realizadas por Fie Fj seria complexa. No entanto, normalizando as posições
de voo F Pi e F Pj em N F Pi e N F Pj, pode-se definir a similaridade das rotas realizadas
por Fi e Fj através da Equação 5.9.
similarity(Fi, Fj) =
1
maxLk∈LAT distance(Fi.position0k, Fj.position0k)
(5.9) onde a função distance mede a distância entre duas posições de voo normalizadas Fi.position0k
e Fj.position0k pertencentes a Fi e Fj, respectivamente.
Da Equação 5.9, as posições de voo normalizadas Fi.position0k e Fj.position0kcomparti-
deve ser satisfeita por todas as posições de voo normalizadas.
Fi.position0k.latitude = Fj.position0k.latitude = Lk, ∀Lk ∈ LAT (5.10)